-
- 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)
ornotify(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 Summary
Fields Modifier and Type Field Description static int
DEFAULT_PRIORITY
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description java.lang.Class<?>
getBeanClass()
Obtains the class of the type that declares the observer method.default Bean<?>
getDeclaringBean()
Obtains the bean that declares the observer method.java.util.Set<java.lang.annotation.Annotation>
getObservedQualifiers()
Obtains the set of observed event qualifiers.java.lang.reflect.Type
getObservedType()
Obtains the observed event type.default int
getPriority()
The priority that will be used by the container to determine the notification order in which event observer methods are invoked.Reception
getReception()
Obtains the specifiedReception
for the observer method.TransactionPhase
getTransactionPhase()
Obtains the specifiedTransactionPhase
for the observer method.default boolean
isAsync()
Determines if this observer method is asynchronousdefault void
notify(EventContext<T> eventContext)
Calls the observer method, passing the given event context.default void
notify(T event)
Calls the observer method, passing the given event object.
-
-
-
Field Detail
-
DEFAULT_PRIORITY
static final int DEFAULT_PRIORITY
- See Also:
- Constant Field Values
-
-
Method Detail
-
getBeanClass
java.lang.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 returnsnull
.- Returns:
- the declaring bean
-
getObservedType
java.lang.reflect.Type getObservedType()
Obtains the observed event type.- Returns:
- the observed event type
-
getObservedQualifiers
java.util.Set<java.lang.annotation.Annotation> getObservedQualifiers()
Obtains the set of observed event qualifiers.- Returns:
- the observed event qualifiers
-
getReception
Reception getReception()
Obtains the specifiedReception
for the observer method. This indicates if the observer is conditional or not.- Returns:
- the
Reception
-
getTransactionPhase
TransactionPhase getTransactionPhase()
Obtains the specifiedTransactionPhase
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 interfacePrioritized
- 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()
returnsReception.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()
returnsReception.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 withObservesAsync
), otherwise returnsfalse
-
-