Interface ProcessBeanAttributes<T>

  • Type Parameters:
    T - The class of the bean


    public interface ProcessBeanAttributes<T>

    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.

    No event is fired for New qualified beans.

    Any observer of this event is permitted to wrap and/or replace the BeanAttributes by calling either setBeanAttributes(BeanAttributes) or configureBeanAttributes(). If both methods are called within an observer notification an IllegalStateException is thrown. The container must use the final value of this property, after all observers have been called, to manage instances of the bean.

    If any observer method of a ProcessBeanAttributes event throws an exception, the exception is treated as a definition error by the container.

    Since:
    1.1
    • Method Detail

      • getAnnotated

        Annotated getAnnotated​()
        Returns:
        the AnnotatedType representing the managed bean class or session bean class, the AnnotatedMethod representing the producer field, or the AnnotatedField representing the producer field
        Throws:
        java.lang.IllegalStateException - if called outside of the observer method invocation
      • getBeanAttributes

        BeanAttributes<T> getBeanAttributes​()
        Returns:
        the BeanAttributes object that will be used by the container to manage instances of the bean
        Throws:
        java.lang.IllegalStateException - if called outside of the observer method invocation
      • setBeanAttributes

        void setBeanAttributes​(BeanAttributes<T> beanAttributes)
        Replaces the BeanAttributes.
        Parameters:
        beanAttributes - the new BeanAttributes to use
        Throws:
        java.lang.IllegalStateException - if called outside of the observer method invocation
      • configureBeanAttributes

        BeanAttributesConfigurator<T> configureBeanAttributes​()
        returns a BeanAttributesConfigurator initialized with the BeanAttributes processed by this event to configure a new BeanAttributes that will replace the original one at the end of the observer invocation. Each call returns the same BeanAttributesConfigurator.
        Returns:
        a non reusable BeanAttributesConfigurator to configure the replacing BeanAttributes
        Throws:
        java.lang.IllegalStateException - if called outside of the observer method invocation
        Since:
        2.0
      • 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 error to add
        Throws:
        java.lang.IllegalStateException - if called outside of the observer method invocation
      • veto

        void veto​()
        Forces the container to ignore the bean.
        Throws:
        java.lang.IllegalStateException - if called outside of the observer method invocation
      • ignoreFinalMethods

        void ignoreFinalMethods​()

        Instructs the container to ignore all non-static, final methods with public, protected or default visibility declared on any bean type of the specific bean during validation of injection points that require proxyable bean type.

        These method should never be invoked upon bean instances. Otherwise, unpredictable behavior results.

        Throws:
        java.lang.IllegalStateException - if called outside of the observer method invocation
        Since:
        2.0