Interface ObserverMethod<T>

Type Parameters:
T - the event type
All Superinterfaces:
Prioritized

public interface ObserverMethod<T> extends Prioritized

Represents an observer method of an enabled bean. Defines everything the container needs to know about an observer method.

If a custom implementation of this interface does not override either notify(Object) or notify(EventContext), the container automatically detects the problem and treats it as a definition error.

Author:
Gavin King, David Allen, Mark Paluch, Antoine Sabot-Durand
  • Field Details

    • DEFAULT_PRIORITY

      static final int DEFAULT_PRIORITY
      The default observer priority
      See Also:
  • Method Details

    • getBeanClass

      Class<?> getBeanClass()

      Obtains the class of the type that declares the observer method.

      Returns:
      the defining class
    • getDeclaringBean

      default Bean<?> getDeclaringBean()

      Obtains the bean that declares the observer method. For synthetic observers, the return value is undefined.

      For the sake of compatibility with existing custom ObserverMethod implementations, this method by default returns null.

      Returns:
      the declaring bean
      Since:
      4.0
    • getObservedType

      Type getObservedType()
      Obtains the observed event type.
      Returns:
      the observed event type
    • getObservedQualifiers

      Set<Annotation> getObservedQualifiers()
      Obtains the set of observed event qualifiers.
      Returns:
      the observed event qualifiers
    • getReception

      Reception getReception()
      Obtains the specified Reception for the observer method. This indicates if the observer is conditional or not.
      Returns:
      the Reception
    • getTransactionPhase

      TransactionPhase getTransactionPhase()
      Obtains the specified TransactionPhase for the observer method.
      Returns:
      the TransactionPhase
    • getPriority

      default int getPriority()
      The priority that will be used by the container to determine the notification order in which event observer methods are invoked.
      Specified by:
      getPriority in interface Prioritized
      Returns:
      The priority that will be used by the container to determine the notification order in which event observer methods are invoked.
      Since:
      2.0
    • notify

      default void notify(T event)

      Calls the observer method, passing the given event object.

      The implementation of this method for a custom observer method is responsible for deciding whether to call the method if the getReception() returns Reception.IF_EXISTS.

      Parameters:
      event - the event object
    • notify

      default void notify(EventContext<T> eventContext)
      Calls the observer method, passing the given event context.

      The container should always call this method, but the default implementation delegates to notify(Object).

      The implementation of this method for a custom observer method is responsible for deciding whether to call the method if the getReception() returns Reception.IF_EXISTS.

      Parameters:
      eventContext - EventContext used to notify observers
    • isAsync

      default boolean isAsync()

      Determines if this observer method is asynchronous

      Returns:
      returns true if the method is an asynchronous observer method (i.e. defined with ObservesAsync), otherwise returns false