Class NotificationManager


  • public class NotificationManager
    extends Object
    • 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 - if null then 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 observer
        ownerBean - bean instance
        checkContainerEvents - 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)