Top Description Methods
jakarta.enterprise.inject.spi

public Interface ProcessObserverMethod<T, X>

Known Direct Subinterfaces
jakarta.enterprise.inject.spi.ProcessSyntheticObserverMethod
Type Parameters
<T>
The type of the event being observed
<X>
The bean type containing the observer method
Imports
jakarta.enterprise.event.Observes, jakarta.enterprise.inject.spi.configurator.ObserverMethodConfigurator

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.

Authors
Gavin King, David Allen, Antoine Sabot-Durand
See Also
ObserverMethod

Method Summary

Modifier and TypeMethod and Description
public void
addDefinitionError(Throwable
A java.lang.Throwable representing the definition error
t
)

Registers a definition error with the container, causing the container to abort deployment after bean discovery is complete.

public ObserverMethodConfigurator<T>

Returns:

a non reusable ObserverMethodConfigurator to configure the replacing ObserverMethod
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.

public AnnotatedMethod<X>

Returns:

the AnnotatedMethod representing the observer method
getAnnotatedMethod
()

The AnnotatedMethod representing the observer method.

public ObserverMethod<T>

Returns:

the ObserverMethod object that will be used by the container to call the observer method
getObserverMethod
()

The ObserverMethod object that will be used by the container to invoke the observer when a matching event is fired.

public void
setObserverMethod(ObserverMethod<T>
the new ObserverMethod object to use
observerMethod
)

Replaces the ObserverMethod.

public void
veto()

Forces the container to ignore the observer method.

Method Detail

addDefinitionErrorback to summary
public void addDefinitionError(Throwable t)

Registers a definition error with the container, causing the container to abort deployment after bean discovery is complete.

Parameters
t:Throwable

A java.lang.Throwable representing the definition error

Exceptions
IllegalStateException:
if called outside of the observer method invocation
configureObserverMethodback to summary
public 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. Each call returns the same ObserverMethodConfigurator

Returns:ObserverMethodConfigurator<T>

a non reusable ObserverMethodConfigurator to configure the replacing ObserverMethod

Exceptions
IllegalStateException:
if called outside of the observer method invocation
Since
2.0
getAnnotatedMethodback to summary
public AnnotatedMethod<X> getAnnotatedMethod()

The AnnotatedMethod representing the observer method.

If invoked upon a ProcessSyntheticObserverMethod event, non-portable behavior results and the returned value should be ignored.

Returns:AnnotatedMethod<X>

the AnnotatedMethod representing the observer method

Exceptions
IllegalStateException:
if called outside of the observer method invocation
getObserverMethodback to summary
public ObserverMethod<T> getObserverMethod()

The ObserverMethod object that will be used by the container to invoke the observer when a matching event is fired.

Returns:ObserverMethod<T>

the ObserverMethod object that will be used by the container to call the observer method

Exceptions
IllegalStateException:
if called outside of the observer method invocation
setObserverMethodback to summary
public void setObserverMethod(ObserverMethod<T> observerMethod)

Replaces the ObserverMethod.

Parameters
observerMethod:ObserverMethod<T>

the new ObserverMethod object to use

Exceptions
IllegalStateException:
if called outside of the observer method invocation
Since
2.0
vetoback to summary
public void veto()

Forces the container to ignore the observer method.

Exceptions
IllegalStateException:
if called outside of the observer method invocation
Since
2.0