package dev.openfeature.javasdk; /** * An API for the type-specific fetch methods we offer end users. */ public interface Features { Boolean getBooleanValue(String key, Boolean defaultValue); Boolean getBooleanValue(String key, Boolean defaultValue, EvaluationContext ctx); Boolean getBooleanValue(String key, Boolean defaultValue, EvaluationContext ctx, FlagEvaluationOptions options); FlagEvaluationDetails getBooleanDetails(String key, Boolean defaultValue); FlagEvaluationDetails getBooleanDetails(String key, Boolean defaultValue, EvaluationContext ctx); FlagEvaluationDetails getBooleanDetails(String key, Boolean defaultValue, EvaluationContext ctx, FlagEvaluationOptions options); String getStringValue(String key, String defaultValue); String getStringValue(String key, String defaultValue, EvaluationContext ctx); String getStringValue(String key, String defaultValue, EvaluationContext ctx, FlagEvaluationOptions options); FlagEvaluationDetails getStringDetails(String key, String defaultValue); FlagEvaluationDetails getStringDetails(String key, String defaultValue, EvaluationContext ctx); FlagEvaluationDetails getStringDetails(String key, String defaultValue, EvaluationContext ctx, FlagEvaluationOptions options); Integer getIntegerValue(String key, Integer defaultValue); Integer getIntegerValue(String key, Integer defaultValue, EvaluationContext ctx); Integer getIntegerValue(String key, Integer defaultValue, EvaluationContext ctx, FlagEvaluationOptions options); FlagEvaluationDetails getIntegerDetails(String key, Integer defaultValue); FlagEvaluationDetails getIntegerDetails(String key, Integer defaultValue, EvaluationContext ctx); FlagEvaluationDetails getIntegerDetails(String key, Integer defaultValue, EvaluationContext ctx, FlagEvaluationOptions options); T getObjectValue(String key, T defaultValue); T getObjectValue(String key, T defaultValue, EvaluationContext ctx); T getObjectValue(String key, T defaultValue, EvaluationContext ctx, FlagEvaluationOptions options); FlagEvaluationDetails getObjectDetails(String key, T defaultValue); FlagEvaluationDetails getObjectDetails(String key, T defaultValue, EvaluationContext ctx); FlagEvaluationDetails getObjectDetails(String key, T defaultValue, EvaluationContext ctx, FlagEvaluationOptions options); }