Package org.apache.webbeans.event
Class NotificationManager
- java.lang.Object
-
- org.apache.webbeans.event.NotificationManager
-
public class NotificationManager extends Object
-
-
Constructor Summary
Constructors Constructor Description NotificationManager(WebBeansContext webBeansContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> voidaddObserver(jakarta.enterprise.inject.spi.ObserverMethod<T> observer)voidclearCaches()This methods needs to get called after the container got started.<T> CompletionStage<T>doFireAsync(jakarta.enterprise.inject.spi.EventContext<?> context, boolean isLifecycleEvent, jakarta.enterprise.event.NotificationOptions notificationOptions, List<jakarta.enterprise.inject.spi.ObserverMethod<? super Object>> observerMethods)<T> CompletionStage<T>doFireEvent(Object event, EventMetadataImpl metadata, boolean isLifecycleEvent, jakarta.enterprise.event.NotificationOptions notificationOptions, boolean async, List<jakarta.enterprise.inject.spi.ObserverMethod<? super Object>> observerMethods)voiddoFireSync(jakarta.enterprise.inject.spi.EventContext<?> context, boolean isLifecycleEvent, List<jakarta.enterprise.inject.spi.ObserverMethod<? super Object>> observerMethods)<T> CompletionStage<T>fireEvent(Object event, EventMetadataImpl metadata, boolean isLifecycleEvent, jakarta.enterprise.event.NotificationOptions notificationOptions)Fire the given eventjakarta.enterprise.event.NotificationOptionsgetDefaultNotificationOptions()<T> jakarta.enterprise.inject.spi.ObserverMethod<?>getObservableMethodForAnnotatedMethod(jakarta.enterprise.inject.spi.AnnotatedMethod<?> annotatedMethod, jakarta.enterprise.inject.spi.AnnotatedParameter<?> annotatedParameter, AbstractOwbBean<T> ownerBean, boolean checkContainerEvents)Gets observer method from given annotated method.List<jakarta.enterprise.inject.spi.ObserverMethod<?>>getObserverMethods()booleanhasContextLifecycleObserver(Annotation lifecycleEvent)booleanhasProcessAnnotatedTypeObservers()booleanisContainerEvent(jakarta.enterprise.inject.spi.AnnotatedParameter<?> annotatedParameter)voidprepareObserverListForFire(boolean isLifecycleEvent, boolean async, List<jakarta.enterprise.inject.spi.ObserverMethod<? super Object>> observerMethods)<T> Collection<jakarta.enterprise.inject.spi.ObserverMethod<? super T>>resolveObservers(T event, EventMetadataImpl metadata, boolean isLifecycleEvent)
-
-
-
Constructor Detail
-
NotificationManager
public NotificationManager(WebBeansContext webBeansContext)
-
-
Method Detail
-
clearCaches
public void clearCaches()
This methods needs to get called after the container got started. This is to avoid that events which already got fired during bootstrap in Extensions will get cached and events from beans thus get ignored.
-
hasContextLifecycleObserver
public boolean hasContextLifecycleObserver(Annotation lifecycleEvent)
- Parameters:
lifecycleEvent- e.g.DestroyedLiteral.INSTANCE_REQUEST_SCOPED- Returns:
- whether the given Initialized or Destroyed event has observer methods.
-
getObserverMethods
public List<jakarta.enterprise.inject.spi.ObserverMethod<?>> getObserverMethods()
-
addObserver
public <T> void addObserver(jakarta.enterprise.inject.spi.ObserverMethod<T> observer)
-
hasProcessAnnotatedTypeObservers
public boolean hasProcessAnnotatedTypeObservers()
-
resolveObservers
public <T> Collection<jakarta.enterprise.inject.spi.ObserverMethod<? super T>> resolveObservers(T event, EventMetadataImpl metadata, boolean isLifecycleEvent)
-
getDefaultNotificationOptions
public jakarta.enterprise.event.NotificationOptions getDefaultNotificationOptions()
-
fireEvent
public <T> CompletionStage<T> fireEvent(Object event, EventMetadataImpl metadata, boolean isLifecycleEvent, jakarta.enterprise.event.NotificationOptions notificationOptions)
Fire the given event- Parameters:
notificationOptions- ifnullthen this is a synchronous event. Otherwise fireAsync
-
doFireEvent
public <T> CompletionStage<T> doFireEvent(Object event, EventMetadataImpl metadata, boolean isLifecycleEvent, jakarta.enterprise.event.NotificationOptions notificationOptions, boolean async, List<jakarta.enterprise.inject.spi.ObserverMethod<? super Object>> observerMethods)
-
doFireAsync
public <T> CompletionStage<T> doFireAsync(jakarta.enterprise.inject.spi.EventContext<?> context, boolean isLifecycleEvent, jakarta.enterprise.event.NotificationOptions notificationOptions, List<jakarta.enterprise.inject.spi.ObserverMethod<? super Object>> observerMethods)
-
doFireSync
public void doFireSync(jakarta.enterprise.inject.spi.EventContext<?> context, boolean isLifecycleEvent, List<jakarta.enterprise.inject.spi.ObserverMethod<? super Object>> observerMethods)
-
prepareObserverListForFire
public void prepareObserverListForFire(boolean isLifecycleEvent, boolean async, List<jakarta.enterprise.inject.spi.ObserverMethod<? super Object>> observerMethods)
-
getObservableMethodForAnnotatedMethod
public <T> jakarta.enterprise.inject.spi.ObserverMethod<?> getObservableMethodForAnnotatedMethod(jakarta.enterprise.inject.spi.AnnotatedMethod<?> annotatedMethod, jakarta.enterprise.inject.spi.AnnotatedParameter<?> annotatedParameter, AbstractOwbBean<T> ownerBean, boolean checkContainerEvents)Gets observer method from given annotated method.- Type Parameters:
T- bean type info- Parameters:
annotatedMethod- annotated method for observerownerBean- bean instancecheckContainerEvents- hint to know if container event test is needed or can be bypassed- Returns:
- ObserverMethod
-
isContainerEvent
public boolean isContainerEvent(jakarta.enterprise.inject.spi.AnnotatedParameter<?> annotatedParameter)
-
-