harness-community / openfeature-java-provider

Apache License 2.0
0 stars 1 forks source link

OF Provider 2.9 #19

Open scalabl3 opened 1 year ago

scalabl3 commented 1 year ago

https://docs.openfeature.dev/docs/specification/sections/providers#condition-29

Condition 2.9 The implementation language supports generics (or an equivalent feature).

Conditional Requirement 2.9.1 The flag resolution structure SHOULD accept a generic argument (or use an equivalent language feature) which indicates the type of the wrapped value field.

// example boolean flag value resolution with generic argument
ResolutionDetails<boolean> resolveBooleanValue(string flagKey, boolean defaultValue, context: EvaluationContext);

// example string flag value resolution with generic argument
ResolutionDetails<string> resolveStringValue(string flagKey, string defaultValue, context: EvaluationContext);

// example number flag value resolution with generic argument
ResolutionDetails<number> resolveNumberValue(string flagKey, number defaultValue, context: EvaluationContext);

// example structure flag value resolution with generic argument
ResolutionDetails<MyStruct> resolveStructureValue(string flagKey, MyStruct defaultValue, context: EvaluationContext);

Reference Provider (JAVA): https://github.com/splitio/split-openfeature-provider-java/blob/main/src/main/java/io/split/openfeature/SplitProvider.java

Conventions Checklist: https://docs.openfeature.dev/docs/reference/concepts/provider/#checklist