22
33import java .util .ArrayList ;
44import java .util .Collections ;
5- import java .util .HashMap ;
65import java .util .List ;
76import java .util .Map ;
87import java .util .Optional ;
98import java .util .function .BiConsumer ;
10- import java .util .function .Consumer ;
119import lombok .RequiredArgsConstructor ;
1210import lombok .extern .slf4j .Slf4j ;
1311import org .apache .commons .lang3 .tuple .Pair ;
1816class HookSupport {
1917
2018 public EvaluationContext beforeHooks (
21- FlagValueType flagValueType , HookContext hookCtx , List <Pair <Hook , HookData >> hookDataPairs , Map <String , Object > hints ) {
19+ FlagValueType flagValueType ,
20+ HookContext hookCtx ,
21+ List <Pair <Hook , HookData >> hookDataPairs ,
22+ Map <String , Object > hints ) {
2223 return callBeforeHooks (flagValueType , hookCtx , hookDataPairs , hints );
2324 }
2425
@@ -28,7 +29,8 @@ public void afterHooks(
2829 FlagEvaluationDetails details ,
2930 List <Pair <Hook , HookData >> hookDataPairs ,
3031 Map <String , Object > hints ) {
31- executeHooksUnchecked (flagValueType , hookDataPairs , hookContext , (hook , ctx ) -> hook .after (ctx , details , hints ));
32+ executeHooksUnchecked (
33+ flagValueType , hookDataPairs , hookContext , (hook , ctx ) -> hook .after (ctx , details , hints ));
3234 }
3335
3436 public void afterAllHooks (
@@ -37,7 +39,12 @@ public void afterAllHooks(
3739 FlagEvaluationDetails details ,
3840 List <Pair <Hook , HookData >> hookDataPairs ,
3941 Map <String , Object > hints ) {
40- executeHooks (flagValueType , hookDataPairs , hookCtx , "finally" , (hook , ctx ) -> hook .finallyAfter (ctx , details , hints ));
42+ executeHooks (
43+ flagValueType ,
44+ hookDataPairs ,
45+ hookCtx ,
46+ "finally" ,
47+ (hook , ctx ) -> hook .finallyAfter (ctx , details , hints ));
4148 }
4249
4350 public void errorHooks (
@@ -58,7 +65,11 @@ public List<Pair<Hook, HookData>> getHookDataPairs(List<Hook> hooks) {
5865 }
5966
6067 private <T > void executeHooks (
61- FlagValueType flagValueType , List <Pair <Hook , HookData >> hookDataPairs , HookContext hookContext , String hookMethod , BiConsumer <Hook <T >, HookContext > hookCode ) {
68+ FlagValueType flagValueType ,
69+ List <Pair <Hook , HookData >> hookDataPairs ,
70+ HookContext hookContext ,
71+ String hookMethod ,
72+ BiConsumer <Hook <T >, HookContext > hookCode ) {
6273 if (hookDataPairs != null ) {
6374 for (Pair <Hook , HookData > hookDataPair : hookDataPairs ) {
6475 Hook hook = hookDataPair .getLeft ();
@@ -71,7 +82,12 @@ private <T> void executeHooks(
7182 }
7283
7384 // before, error, and finally hooks shouldn't throw
74- private <T > void executeChecked (Hook <T > hook , HookData hookData , HookContext hookContext , BiConsumer <Hook <T >, HookContext > hookCode , String hookMethod ) {
85+ private <T > void executeChecked (
86+ Hook <T > hook ,
87+ HookData hookData ,
88+ HookContext hookContext ,
89+ BiConsumer <Hook <T >, HookContext > hookCode ,
90+ String hookMethod ) {
7591 try {
7692 var hookCtxWithData = hookContext .withHookData (hookData );
7793 hookCode .accept (hook , hookCtxWithData );
@@ -85,7 +101,11 @@ private <T> void executeChecked(Hook<T> hook, HookData hookData, HookContext hoo
85101 }
86102
87103 // after hooks can throw in order to do validation
88- private <T > void executeHooksUnchecked (FlagValueType flagValueType , List <Pair <Hook , HookData >> hookDataPairs , HookContext hookContext , BiConsumer <Hook <T >, HookContext > hookCode ) {
104+ private <T > void executeHooksUnchecked (
105+ FlagValueType flagValueType ,
106+ List <Pair <Hook , HookData >> hookDataPairs ,
107+ HookContext hookContext ,
108+ BiConsumer <Hook <T >, HookContext > hookCode ) {
89109 if (hookDataPairs != null ) {
90110 for (Pair <Hook , HookData > hookDataPair : hookDataPairs ) {
91111 Hook hook = hookDataPair .getLeft ();
@@ -99,7 +119,10 @@ private <T> void executeHooksUnchecked(FlagValueType flagValueType, List<Pair<Ho
99119 }
100120
101121 private EvaluationContext callBeforeHooks (
102- FlagValueType flagValueType , HookContext hookCtx , List <Pair <Hook , HookData >> hookDataPairs , Map <String , Object > hints ) {
122+ FlagValueType flagValueType ,
123+ HookContext hookCtx ,
124+ List <Pair <Hook , HookData >> hookDataPairs ,
125+ Map <String , Object > hints ) {
103126 // These traverse backwards from normal.
104127 List <Pair <Hook , HookData >> reversedHooks = new ArrayList <>(hookDataPairs );
105128 Collections .reverse (reversedHooks );
0 commit comments