java-sdk/src/main/java/dev/openfeature/sdk/Client.java

37 lines
922 B
Java

package dev.openfeature.sdk;
import java.util.List;
/**
* Interface used to resolve flags of varying types.
*/
public interface Client extends Features, EventBus<Client> {
ClientMetadata getMetadata();
/**
* Return an optional client-level evaluation context.
* @return {@link EvaluationContext}
*/
EvaluationContext getEvaluationContext();
/**
* Set the client-level evaluation context.
* @param ctx Client level context.
*/
Client setEvaluationContext(EvaluationContext ctx);
/**
* Adds hooks for evaluation.
* Hooks are run in the order they're added in the before stage. They are run in reverse order for all other stages.
*
* @param hooks The hook to add.
*/
Client addHooks(Hook... hooks);
/**
* Fetch the hooks associated to this client.
* @return A list of {@link Hook}s.
*/
List<Hook> getHooks();
}