Interface ProcessObserverMethod<T,X>
- Type Parameters:
T- The type of the event being observedX- The bean type containing the observer method
- All Known Subinterfaces:
ProcessSyntheticObserverMethod<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.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoidRegisters a definition error with the container, causing the container to abort deployment after bean discovery is complete.Returns aObserverMethodConfiguratorinitialized with theObserverMethodprocessed by this event, to configure a new ObserverMethod that will replace the original one at the end of the observer invocation.TheAnnotatedMethodrepresenting the observer method.TheObserverMethodobject that will be used by the container to invoke the observer when a matching event is fired.voidsetObserverMethod(ObserverMethod<T> observerMethod) Replaces theObserverMethod.voidveto()Forces the container to ignore the observer method.
-
Method Details
-
getAnnotatedMethod
AnnotatedMethod<X> getAnnotatedMethod()TheAnnotatedMethodrepresenting the observer method.If invoked upon a
ProcessSyntheticObserverMethodevent, non-portable behavior results and the returned value should be ignored.- Returns:
- the
AnnotatedMethodrepresenting the observer method - Throws:
IllegalStateException- if called outside of the observer method invocation
-
getObserverMethod
ObserverMethod<T> getObserverMethod()TheObserverMethodobject that will be used by the container to invoke the observer when a matching event is fired.- Returns:
- the
ObserverMethodobject that will be used by the container to call the observer method - Throws:
IllegalStateException- if called outside of the observer method invocation
-
addDefinitionError
Registers a definition error with the container, causing the container to abort deployment after bean discovery is complete.- Parameters:
t- AThrowablerepresenting the definition error- Throws:
IllegalStateException- if called outside of the observer method invocation
-
setObserverMethod
Replaces theObserverMethod.- Parameters:
observerMethod- the newObserverMethodobject to use- Throws:
IllegalStateException- if called outside of the observer method invocation- Since:
- 2.0
-
configureObserverMethod
ObserverMethodConfigurator<T> configureObserverMethod()Returns aObserverMethodConfiguratorinitialized with theObserverMethodprocessed 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 ObserverMethodConfigurator- Returns:
- a non reusable
ObserverMethodConfiguratorto configure the replacing ObserverMethod - Throws:
IllegalStateException- if called outside of the observer method invocation- Since:
- 2.0
-
veto
void veto()Forces the container to ignore the observer method.- Throws:
IllegalStateException- if called outside of the observer method invocation- Since:
- 2.0
-