From 7dfe0a3b9939cd9f5457de545d96cf709c4a409b Mon Sep 17 00:00:00 2001 From: Justin Abrahms Date: Sun, 8 May 2022 15:38:53 -0700 Subject: [PATCH] Hook context is immutable and some properties can't be null. --- lib/src/main/java/javasdk/HookContext.java | 30 +++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/lib/src/main/java/javasdk/HookContext.java b/lib/src/main/java/javasdk/HookContext.java index 55c39227..1073fddc 100644 --- a/lib/src/main/java/javasdk/HookContext.java +++ b/lib/src/main/java/javasdk/HookContext.java @@ -1,25 +1,25 @@ package javasdk; -import lombok.Data; +import lombok.Builder; +import lombok.NonNull; +import lombok.Value; -@Data +@Value @Builder public class HookContext { - String flagKey; - FlagValueType type; + @NonNull String flagKey; + @NonNull FlagValueType type; + @NonNull T defaultValue; + @NonNull EvaluationContext ctx; Client client; - EvaluationContext ctx; FeatureProvider provider; - T defaultValue; - HookEvaluation executedHooks; public static HookContext from(String key, FlagValueType type, Client client, EvaluationContext ctx, T defaultValue) { - HookContext hc = new HookContext<>(); - hc.flagKey = key; - hc.type = type; - hc.client = client; - hc.ctx = ctx; - hc.executedHooks = new HookEvaluation(); - hc.defaultValue = defaultValue; - return hc; + return HookContext.builder() + .flagKey(key) + .type(type) + .client(client) + .ctx(ctx) + .defaultValue(defaultValue) + .build(); } }