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 type ProcessSyntheticBean.

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 Details

    • getAnnotated

      Annotated getAnnotated()
      Returns the AnnotatedType representing the bean class, the AnnotatedMethod representing the producer method, or the AnnotatedField 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

      Bean<X> getBean()
      Returns the Bean object that is about to be registered. The Bean may implement Interceptor or Decorator.
      Returns:
      the Bean object 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 a Throwable
      Throws:
      IllegalStateException - if called outside of the observer method invocation