3636@ Accessors (fluent = true )
3737public class HandlerExtensions <P extends BasicJpa , J extends BasicJson , E > {
3838
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 <>();
4141 private final List <PostGetListAsync <P , J >> postGetListAsync = new ArrayList <>();
4242 private final List <PostGetListSync <P , J , E >> postGetListSync = new ArrayList <>();
4343 private final List <PostGetSingleAsync <P , J >> postGetSingleAsync = new ArrayList <>();
@@ -46,8 +46,8 @@ public class HandlerExtensions<P extends BasicJpa, J extends BasicJson, E> {
4646 private final List <PostInsertSync <P , J , E >> postInsertSync = new ArrayList <>();
4747 private final List <PostModifyAsync <P , J >> postModifyAsync = new ArrayList <>();
4848 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 <>();
5151 private final List <PreInsertAsync <P , J >> preInsertAsync = new ArrayList <>();
5252 private final List <PreInsertSync <P , J , E >> preInsertSync = new ArrayList <>();
5353 private final List <PreModifyAsync <P , J >> preModifyAsync = new ArrayList <>();
@@ -143,26 +143,26 @@ public J runPostModify(final Context ctx, final AsyncExtensionContext asyncCtx,
143143 }
144144
145145 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 ));
149149
150150 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 );
153153 if (result == null )
154154 throw new GracefulCancelationException ();
155155 }
156156 return result ;
157157 }
158158
159159 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 ));
163163
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 ))
166166 throw new GracefulCancelationException ();
167167 }
168168}
0 commit comments