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);
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.
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