package dev.openfeature.javasdk; import lombok.Builder; import lombok.NonNull; import lombok.Value; import lombok.With; @Value @Builder @With public class HookContext { @NonNull String flagKey; @NonNull FlagValueType type; @NonNull T defaultValue; @NonNull EvaluationContext ctx; Client client; FeatureProvider provider; public static HookContext from(String key, FlagValueType type, Client client, EvaluationContext ctx, T defaultValue) { return HookContext.builder() .flagKey(key) .type(type) .client(client) .ctx(ctx) .defaultValue(defaultValue) .build(); } }