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.

    See Also:
    Bean
    • Method Detail

      • 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 AnnotatedType for the bean being registered
        Throws:
        java.lang.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:
        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 a Throwable
        Throws:
        java.lang.IllegalStateException - if called outside of the observer method invocation