private < T > void deferNotification ( T event , final EventMetadata metadata , final ObserverMethod < ? super T > observer , final List < DeferredEventNotification < ? > > notifications ) { TransactionPhase transactionPhase = observer . getTransactionPhase ( ) ; boolean before = transactionPhase . equals ( TransactionPhase . BEFORE_COMPLETION ) ; Status status = Status . valueOf ( transactionPhase ) ; notifications . add ( new DeferredEventNotification < T > ( contextId , event , metadata , observer , currentEventMetadata , status , before ) ) ; }
Defers an event for processing in a later phase of the current transaction .