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
Beanobject.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
ProcessBeanevent 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 voidaddDefinitionError(Throwable t)Registers a definition error with the container, causing the container to abort deployment after bean discovery is complete.AnnotatedgetAnnotated()Returns theAnnotatedTyperepresenting the bean class, theAnnotatedMethodrepresenting the producer method, or theAnnotatedFieldrepresenting the producer field.Bean<X>getBean()Returns theBeanobject that is about to be registered.
-
-
-
Method Detail
-
getAnnotated
Annotated getAnnotated()
Returns theAnnotatedTyperepresenting the bean class, theAnnotatedMethodrepresenting the producer method, or theAnnotatedFieldrepresenting the producer field.If invoked upon a
ProcessSyntheticBeanevent, non-portable behavior results and the returned value should be ignored.- Returns:
- the
Annotatedfor the bean being registered - Throws:
IllegalStateException- if called outside of the observer method invocation
-
getBean
Bean<X> getBean()
Returns theBeanobject that is about to be registered. TheBeanmay implementInterceptororDecorator.- Returns:
- the
Beanobject about to be registered - Throws:
IllegalStateException- if called outside of the observer method invocation
-
addDefinitionError
void addDefinitionError(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:
IllegalStateException- if called outside of the observer method invocation
-
-