T
- The type of the event being observedX
- The bean type containing the observer methodpublic interface ProcessObserverMethod<T,X>
The container fires an event of this type for each observer method of each
enabled bean, before registering the ObserverMethod
object.
For a custom implementation of ObserverMethod
, the container must raise an event of type ProcessSyntheticObserverMethod
.
Any observer of this event is permitted to wrap and/or replace the ObserverMethod
by calling either setObserverMethod(ObserverMethod)
or configureObserverMethod()
.
If both methods are called within an observer notification an IllegalStateException
is thrown.
The container must use the final value of this property, after all observers have been called, he container must use the final
value of this property, after all observers have been called, whenever it performs observer resolution.
If any observer method of a ProcessObserverMethod
event throws an exception, the exception is treated as a definition
error by the container.
CDI Lite implementations are not required to provide support for Portable Extensions.
ObserverMethod
Modifier and Type | Method and Description |
---|---|
void |
addDefinitionError(java.lang.Throwable t)
Registers a definition error with the container, causing the container to abort deployment after bean discovery is
complete.
|
ObserverMethodConfigurator<T> |
configureObserverMethod()
Returns a
ObserverMethodConfigurator initialized with the ObserverMethod processed by this event,
to configure a new ObserverMethod that will replace the original one at the end of the observer invocation. |
AnnotatedMethod<X> |
getAnnotatedMethod()
The
AnnotatedMethod representing the observer method. |
ObserverMethod<T> |
getObserverMethod()
The
ObserverMethod object that will be used by the container to invoke the observer
when a matching event is fired. |
void |
setObserverMethod(ObserverMethod<T> observerMethod)
Replaces the
ObserverMethod . |
void |
veto()
Forces the container to ignore the observer method.
|
AnnotatedMethod<X> getAnnotatedMethod()
AnnotatedMethod
representing the observer method.
If invoked upon a ProcessSyntheticObserverMethod
event, non-portable behavior results and the returned value should be ignored.
AnnotatedMethod
representing the observer methodjava.lang.IllegalStateException
- if called outside of the observer method invocationObserverMethod<T> getObserverMethod()
ObserverMethod
object that will be used by the container to invoke the observer
when a matching event is fired.ObserverMethod
object that will be used by the container to call the
observer methodjava.lang.IllegalStateException
- if called outside of the observer method invocationvoid addDefinitionError(java.lang.Throwable t)
t
- A Throwable
representing the definition errorjava.lang.IllegalStateException
- if called outside of the observer method invocationvoid setObserverMethod(ObserverMethod<T> observerMethod)
ObserverMethod
.observerMethod
- the new ObserverMethod
object to usejava.lang.IllegalStateException
- if called outside of the observer method invocationObserverMethodConfigurator<T> configureObserverMethod()
ObserverMethodConfigurator
initialized with the ObserverMethod
processed by this event,
to configure a new ObserverMethod that will replace the original one at the end of the observer invocation.
Each call returns the same ObserverMethodConfiguratorObserverMethodConfigurator
to configure the replacing ObserverMethodjava.lang.IllegalStateException
- if called outside of the observer method invocationvoid veto()
java.lang.IllegalStateException
- if called outside of the observer method invocation