diff --git a/lib/src/main/java/dev/openfeature/javasdk/Hook.java b/lib/src/main/java/dev/openfeature/javasdk/Hook.java index 4976c5e3..5d38b16e 100644 --- a/lib/src/main/java/dev/openfeature/javasdk/Hook.java +++ b/lib/src/main/java/dev/openfeature/javasdk/Hook.java @@ -4,12 +4,11 @@ import com.google.common.collect.ImmutableMap; import java.util.Optional; -// TODO: interface? or abstract class? -public abstract class Hook { - public Optional before(HookContext ctx, ImmutableMap hints) { +public interface Hook { + default Optional before(HookContext ctx, ImmutableMap hints) { return Optional.empty(); } - public void after(HookContext ctx, FlagEvaluationDetails details, ImmutableMap hints) {} - public void error(HookContext ctx, Exception error, ImmutableMap hints) {} - public void finallyAfter(HookContext ctx, ImmutableMap hints) {} + default void after(HookContext ctx, FlagEvaluationDetails details, ImmutableMap hints) {} + default void error(HookContext ctx, Exception error, ImmutableMap hints) {} + default void finallyAfter(HookContext ctx, ImmutableMap hints) {} }