java.lang.Object
ai.fireweave.openfeature.FireweaveProvider
- All Implemented Interfaces:
dev.openfeature.sdk.FeatureProvider,AutoCloseable
public final class FireweaveProvider
extends Object
implements dev.openfeature.sdk.FeatureProvider, AutoCloseable
OpenFeature
FeatureProvider backed by a FireweaveRuntime.
Semantics
- All five resolvers supported. Long-clamp limitation: the Java OF integer resolver
is 32-bit
Integer; integral flag values outsideIntegerrange resolve asTYPE_MISMATCH+ default rather than silently truncating. Cross-language integer reliability is documented to 2^53−1 (Capabilities.INT_SAFE_MAX_ABS); fixtureeval-int-beyond-safe-integeris skipped-with-documented-limitation for Java. targetingKeymaps to the backend identity (PostHogdistinct_id).- Resolvers never throw on the normal path: failures return the default with
reason=ERROR, the mapped OF error code, andfireweave.errorKindflag metadata. initialize(dev.openfeature.sdk.EvaluationContext)/shutdown()drive the runtime lifecycle; a Configuration failure raises OFFatalError(PROVIDER_FATAL).- All methods are synchronous — no evaluation path here is genuinely async, so no
CompletionStagesurface is exposed (decision brief).
Thread-safety
Stateless facade over the thread-safe runtime; safe for concurrent resolution.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumHowinitialize(EvaluationContext)treats the runtime. -
Constructor Summary
ConstructorsConstructorDescriptionFireweaveProvider(ai.fireweave.sdk.FireweaveRuntime runtime) FireweaveProvider(ai.fireweave.sdk.FireweaveRuntime runtime, FireweaveProvider.InitMode initMode) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()dev.openfeature.sdk.ProviderEvaluation<Boolean> getBooleanEvaluation(String key, Boolean defaultValue, dev.openfeature.sdk.EvaluationContext ctx) dev.openfeature.sdk.ProviderEvaluation<Double> getDoubleEvaluation(String key, Double defaultValue, dev.openfeature.sdk.EvaluationContext ctx) dev.openfeature.sdk.ProviderEvaluation<Integer> getIntegerEvaluation(String key, Integer defaultValue, dev.openfeature.sdk.EvaluationContext ctx) dev.openfeature.sdk.Metadatadev.openfeature.sdk.ProviderEvaluation<dev.openfeature.sdk.Value> getObjectEvaluation(String key, dev.openfeature.sdk.Value defaultValue, dev.openfeature.sdk.EvaluationContext ctx) dev.openfeature.sdk.ProviderEvaluation<String> getStringEvaluation(String key, String defaultValue, dev.openfeature.sdk.EvaluationContext ctx) voidinitialize(dev.openfeature.sdk.EvaluationContext evaluationContext) ai.fireweave.sdk.FireweaveRuntimeruntime()voidshutdown()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface dev.openfeature.sdk.FeatureProvider
getProviderHooks, getState, track
-
Constructor Details
-
FireweaveProvider
public FireweaveProvider(ai.fireweave.sdk.FireweaveRuntime runtime) -
FireweaveProvider
public FireweaveProvider(ai.fireweave.sdk.FireweaveRuntime runtime, FireweaveProvider.InitMode initMode)
-
-
Method Details
-
runtime
public ai.fireweave.sdk.FireweaveRuntime runtime() -
getMetadata
public dev.openfeature.sdk.Metadata getMetadata()- Specified by:
getMetadatain interfacedev.openfeature.sdk.FeatureProvider
-
initialize
public void initialize(dev.openfeature.sdk.EvaluationContext evaluationContext) - Specified by:
initializein interfacedev.openfeature.sdk.FeatureProvider
-
shutdown
public void shutdown()- Specified by:
shutdownin interfacedev.openfeature.sdk.FeatureProvider
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
getBooleanEvaluation
public dev.openfeature.sdk.ProviderEvaluation<Boolean> getBooleanEvaluation(String key, Boolean defaultValue, dev.openfeature.sdk.EvaluationContext ctx) - Specified by:
getBooleanEvaluationin interfacedev.openfeature.sdk.FeatureProvider
-
getStringEvaluation
public dev.openfeature.sdk.ProviderEvaluation<String> getStringEvaluation(String key, String defaultValue, dev.openfeature.sdk.EvaluationContext ctx) - Specified by:
getStringEvaluationin interfacedev.openfeature.sdk.FeatureProvider
-
getIntegerEvaluation
public dev.openfeature.sdk.ProviderEvaluation<Integer> getIntegerEvaluation(String key, Integer defaultValue, dev.openfeature.sdk.EvaluationContext ctx) - Specified by:
getIntegerEvaluationin interfacedev.openfeature.sdk.FeatureProvider
-
getDoubleEvaluation
public dev.openfeature.sdk.ProviderEvaluation<Double> getDoubleEvaluation(String key, Double defaultValue, dev.openfeature.sdk.EvaluationContext ctx) - Specified by:
getDoubleEvaluationin interfacedev.openfeature.sdk.FeatureProvider
-
getObjectEvaluation
public dev.openfeature.sdk.ProviderEvaluation<dev.openfeature.sdk.Value> getObjectEvaluation(String key, dev.openfeature.sdk.Value defaultValue, dev.openfeature.sdk.EvaluationContext ctx) - Specified by:
getObjectEvaluationin interfacedev.openfeature.sdk.FeatureProvider
-