-
- 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:
Bean
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method 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.Annotated
getAnnotated()
Returns theAnnotatedType
representing the bean class, theAnnotatedMethod
representing the producer method, or theAnnotatedField
representing the producer field.Bean<X>
getBean()
Returns theBean
object that is about to be registered.
-
-
-
Method Detail
-
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:
java.lang.IllegalStateException
- if called outside of the observer method invocation
-
getBean
Bean<X> getBean()
Returns theBean
object that is about to be registered. TheBean
may implementInterceptor
orDecorator
.- Returns:
- the
Bean
object about to be registered - Throws:
java.lang.IllegalStateException
- if called outside of the observer method invocation
-
addDefinitionError
void addDefinitionError(java.lang.Throwable t)
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:
java.lang.IllegalStateException
- if called outside of the observer method invocation
-
-