36
36
@ Accessors (fluent = true )
37
37
public class HandlerExtensions <P extends BasicJpa , J extends BasicJson , E > {
38
38
39
- private final List <PostDeleteAsync > postDeleteAsync = new ArrayList <>();
40
- private final List <PostDeleteSync <E >> postDeleteSync = new ArrayList <>();
39
+ private final List <PostDeleteAsync < P > > postDeleteAsync = new ArrayList <>();
40
+ private final List <PostDeleteSync <P , E >> postDeleteSync = new ArrayList <>();
41
41
private final List <PostGetListAsync <P , J >> postGetListAsync = new ArrayList <>();
42
42
private final List <PostGetListSync <P , J , E >> postGetListSync = new ArrayList <>();
43
43
private final List <PostGetSingleAsync <P , J >> postGetSingleAsync = new ArrayList <>();
@@ -46,8 +46,8 @@ public class HandlerExtensions<P extends BasicJpa, J extends BasicJson, E> {
46
46
private final List <PostInsertSync <P , J , E >> postInsertSync = new ArrayList <>();
47
47
private final List <PostModifyAsync <P , J >> postModifyAsync = new ArrayList <>();
48
48
private final List <PostModifySync <P , J , E >> postModifySync = new ArrayList <>();
49
- private final List <PreDeleteAsync > preDeleteAsync = new ArrayList <>();
50
- private final List <PreDeleteSync <E >> preDeleteSync = new ArrayList <>();
49
+ private final List <PreDeleteAsync < P > > preDeleteAsync = new ArrayList <>();
50
+ private final List <PreDeleteSync <P , E >> preDeleteSync = new ArrayList <>();
51
51
private final List <PreInsertAsync <P , J >> preInsertAsync = new ArrayList <>();
52
52
private final List <PreInsertSync <P , J , E >> preInsertSync = new ArrayList <>();
53
53
private final List <PreModifyAsync <P , J >> preModifyAsync = new ArrayList <>();
@@ -143,26 +143,26 @@ public J runPostModify(final Context ctx, final AsyncExtensionContext asyncCtx,
143
143
}
144
144
145
145
public Long runPreDelete (final Context ctx , final AsyncExtensionContext asyncCtx , final E entityManager ,
146
- final Long receivedId , final ExecutorService executorService ) {
147
- for (PreDeleteAsync h : preDeleteAsync ())
148
- executorService .execute (() -> h .handle (asyncCtx , receivedId ));
146
+ final Long receivedId , final P jpaToDelete , final ExecutorService executorService ) {
147
+ for (PreDeleteAsync < P > h : preDeleteAsync ())
148
+ executorService .execute (() -> h .handle (asyncCtx , receivedId , jpaToDelete ));
149
149
150
150
Long result = receivedId ;
151
- for (PreDeleteSync <E > h : preDeleteSync ()) {
152
- result = h .handle (ctx , entityManager , receivedId );
151
+ for (PreDeleteSync <P , E > h : preDeleteSync ()) {
152
+ result = h .handle (ctx , entityManager , receivedId , jpaToDelete );
153
153
if (result == null )
154
154
throw new GracefulCancelationException ();
155
155
}
156
156
return result ;
157
157
}
158
158
159
159
public void runPostDelete (final Context ctx , final AsyncExtensionContext asyncCtx , final E entityManager ,
160
- final Long receivedId , final ExecutorService executorService ) {
161
- for (PostDeleteAsync h : postDeleteAsync ())
162
- executorService .execute (() -> h .handle (asyncCtx , receivedId ));
160
+ final Long receivedId , final P deletedJpa , final ExecutorService executorService ) {
161
+ for (PostDeleteAsync < P > h : postDeleteAsync ())
162
+ executorService .execute (() -> h .handle (asyncCtx , receivedId , deletedJpa ));
163
163
164
- for (PostDeleteSync <E > h : postDeleteSync ())
165
- if (!h .handle (ctx , entityManager , receivedId ))
164
+ for (PostDeleteSync <P , E > h : postDeleteSync ())
165
+ if (!h .handle (ctx , entityManager , receivedId , deletedJpa ))
166
166
throw new GracefulCancelationException ();
167
167
}
168
168
}
0 commit comments