Package jakarta.enterprise.inject.spi
Interface ProcessBean<X>
- Type Parameters:
X
- The class of the bean
- All Known Subinterfaces:
ProcessManagedBean<X>
,ProcessProducerField<T,
,X> ProcessProducerMethod<T,
,X> ProcessSessionBean<X>
,ProcessSyntheticBean<X>
public interface ProcessBean<X>
The container fires an event of this type for each enabled bean, interceptor or decorator deployed in a bean archive, before
registering the Bean
object.
The event object type depends upon what kind of bean was discovered:
- For a managed bean with bean class X, the container must raise an event of type
ProcessManagedBean
. - For a session bean with bean class X, the container must raise an event of type
ProcessSessionBean
. - For a producer method with method return type X of a bean with bean class T, the container must raise an event of type
ProcessProducerMethod
. - For a producer field with field type X of a bean with bean class T, the container must raise an event of type
ProcessProducerField
. - For a custom implementation of
Bean
, the container must raise an event of typeProcessSyntheticBean
.
Resources are considered to be producer fields.
If any observer method of a ProcessBean
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.
- Author:
- David Allen
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Registers a definition error with the container, causing the container to abort deployment after bean discovery is complete.Returns theAnnotatedType
representing the bean class, theAnnotatedMethod
representing the producer method, or theAnnotatedField
representing the producer field.getBean()
Returns theBean
object that is about to be registered.
-
Method Details
-
getAnnotated
Annotated getAnnotated()Returns theAnnotatedType
representing the bean class, theAnnotatedMethod
representing the producer method, or theAnnotatedField
representing the producer field.If invoked upon a
ProcessSyntheticBean
event, non-portable behavior results and the returned value should be ignored.- Returns:
- the
Annotated
for the bean being registered - Throws:
IllegalStateException
- if called outside of the observer method invocation
-
getBean
Returns theBean
object that is about to be registered. TheBean
may implementInterceptor
orDecorator
.- Returns:
- the
Bean
object about to be registered - 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
- The definition error to register as aThrowable
- Throws:
IllegalStateException
- if called outside of the observer method invocation
-