Module jakarta.cdi

Interface BeanManager

    • Method Detail

      • getPassivationCapableBean

        Bean<?> getPassivationCapableBean​(java.lang.String id)
        Returns the PassivationCapable bean with the given identifier. Note that when called during invocation of an AfterBeanDiscovery event observer, this method will only return beans discovered by the container before the AfterBeanDiscovery event is fired.
        Parameters:
        id - the identifier
        Returns:
        a Bean that implements PassivationCapable and has the given identifier, or a null value if there is no such bean
        Throws:
        java.lang.IllegalStateException - if called during application initialization, before the AfterBeanDiscovery event is fired.
      • validate

        void validate​(InjectionPoint injectionPoint)
        Validate a certain injection point. Note that when called during invocation of an AfterBeanDiscovery event observer, this method will only validate injection points discovered by the container before the AfterBeanDiscovery event is fired.
        Parameters:
        injectionPoint - the injection point to validate
        Throws:
        InjectionException - if there is a deployment problem (for example, an unsatisfied or unresolvable ambiguous dependency) associated with the injection point
        java.lang.IllegalStateException - if called during application initialization, before the AfterBeanDiscovery event is fired.
      • resolveDecorators

        java.util.List<Decorator<?>> resolveDecorators​(java.util.Set<java.lang.reflect.Type> types,
                                                       java.lang.annotation.Annotation... qualifiers)
        Return an ordered list of decorators for a set of bean types and a set of qualifiers and which are enabled in the module or library containing the class into which the BeanManager was injected or the Java EE component from whose JNDI environment namespace the BeanManager was obtained. Note that when called during invocation of an AfterBeanDiscovery event observer, this method will only return decorators discovered by the container before the AfterBeanDiscovery event is fired.
        Parameters:
        types - the set of bean types of the decorated bean
        qualifiers - the qualifiers declared by the decorated bean
        Returns:
        the resulting set of decorators
        Throws:
        java.lang.IllegalArgumentException - if the set of bean types is empty
        java.lang.IllegalArgumentException - if an annotation which is not a binding type is passed
        java.lang.IllegalArgumentException - if two instances of the same binding type are passed
        java.lang.IllegalStateException - if called during application initialization, before the AfterBeanDiscovery event is fired.
      • isPassivatingScope

        boolean isPassivatingScope​(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
        Test the given annotation type to determine if it is a passivating scope type.
        Parameters:
        annotationType - the annotation type
        Returns:
        true if the annotation type is a passivating scope type
      • getInterceptorBindingDefinition

        java.util.Set<java.lang.annotation.Annotation> getInterceptorBindingDefinition​(java.lang.Class<? extends java.lang.annotation.Annotation> bindingType)
        Obtains the set of meta-annotations for a certain interceptor binding type .
        Parameters:
        bindingType - the interceptor binding type
        Returns:
        the set of meta-annotations
      • getStereotypeDefinition

        java.util.Set<java.lang.annotation.Annotation> getStereotypeDefinition​(java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
        Obtains meta-annotations for a certain stereotype.
        Parameters:
        stereotype - the stereotype
        Returns:
        the set of meta-annotations
      • areQualifiersEquivalent

        boolean areQualifiersEquivalent​(java.lang.annotation.Annotation qualifier1,
                                        java.lang.annotation.Annotation qualifier2)
        Determine if two qualifiers are considered equivalent for the purposes of typesafe resolution, taking into account any members annotated with Nonbinding.
        Parameters:
        qualifier1 - a qualifier to check
        qualifier2 - a qualifier to check
        Returns:
        true if the two qualifiers are equivalent, otherwise false
        Since:
        1.1
      • areInterceptorBindingsEquivalent

        boolean areInterceptorBindingsEquivalent​(java.lang.annotation.Annotation interceptorBinding1,
                                                 java.lang.annotation.Annotation interceptorBinding2)
        Determine if two interceptor bindings are considered equivalent for the purposes of typesafe resolution, taking into account any members annotated with Nonbinding.
        Parameters:
        interceptorBinding1 - an interceptor binding to check
        interceptorBinding2 - an interceptor binding to check
        Returns:
        true if the two interceptor bindings are equivalent, otherwise false
        Since:
        1.1
      • getQualifierHashCode

        int getQualifierHashCode​(java.lang.annotation.Annotation qualifier)
        Determine the hash code of a qualifier, using the JDK algorithm for determining an annotation hash code, ignoring any members annotated with Nonbinding.
        Parameters:
        qualifier - the qualifier to consider
        Returns:
        the hashCode for the qualifier
        Since:
        1.1
      • getInterceptorBindingHashCode

        int getInterceptorBindingHashCode​(java.lang.annotation.Annotation interceptorBinding)
        Determine the hash code of an interceptor binding, using the JDK algorithm for determining an annotation hash code, ignoring any members annotated with Nonbinding.
        Parameters:
        interceptorBinding - the interceptor binding to consider
        Returns:
        the hashCode for the interceptor binding
        Since:
        1.1
      • getELResolver

        @Deprecated(since="4.1",
                    forRemoval=true)
        jakarta.el.ELResolver getELResolver()
        Deprecated, for removal: This API element is subject to removal in a future version.
        use ELAwareBeanManager, this method will be removed in CDI 5.0
        Returns a ELResolver that resolves beans by EL name.
        Returns:
        the ELResolver
      • wrapExpressionFactory

        @Deprecated(since="4.1",
                    forRemoval=true)
        jakarta.el.ExpressionFactory wrapExpressionFactory​(jakarta.el.ExpressionFactory expressionFactory)
        Deprecated, for removal: This API element is subject to removal in a future version.
        use ELAwareBeanManager, this method will be removed in CDI 5.0
        Returns a wrapper ExpressionFactory that delegates MethodExpression and ValueExpression creation to the given ExpressionFactory. When a Unified EL expression is evaluated using a MethodExpression or ValueExpression returned by the wrapper ExpressionFactory, the container handles destruction of objects with scope Dependent.
        Parameters:
        expressionFactory - the ExpressionFactory to wrap
        Returns:
        the wrapped ExpressionFactory
      • createAnnotatedType

        <T> AnnotatedType<T> createAnnotatedType​(java.lang.Class<T> type)
        Obtain an AnnotatedType that may be used to read the annotations of the given class or interface.
        Type Parameters:
        T - the class or interface
        Parameters:
        type - the Class object
        Returns:
        the AnnotatedType
      • getInjectionTargetFactory

        <T> InjectionTargetFactory<T> getInjectionTargetFactory​(AnnotatedType<T> annotatedType)

        An implementation of InjectionTargetFactory that provides container created InjectionTarget instances.

        This factory can be wrapped to add behavior to container created injection targets.

        Type Parameters:
        T - the type
        Parameters:
        annotatedType - the annotated type to create the injection target factory for
        Returns:
        an InjectionTargetFactory
        Since:
        1.1
      • getProducerFactory

        <X> ProducerFactory<X> getProducerFactory​(AnnotatedField<? super X> field,
                                                  Bean<X> declaringBean)

        An implementation of ProducerFactory that provides container created Producer instances for the given field.

        This factory can be wrapped to add behavior to container created producers.

        Type Parameters:
        X - the declaring type
        Parameters:
        field - the field to create the producer factory for
        declaringBean - the bean declaring the producer. May be null if the producer is static or the declaring object is non-contextual
        Returns:
        the producer factory for the field
        Since:
        1.1
      • getProducerFactory

        <X> ProducerFactory<X> getProducerFactory​(AnnotatedMethod<? super X> method,
                                                  Bean<X> declaringBean)

        An implementation of ProducerFactory that provides container created Producer instances for the given method.

        This factory can be wrapped to add behavior to container created producers.

        Type Parameters:
        X - bean type
        Parameters:
        method - the method to create the producer factory for
        declaringBean - the bean declaring the producer. May be null if the producer is static or the declaring object is non-contextual
        Returns:
        the producer factory for the method
        Since:
        1.1
      • createBeanAttributes

        <T> BeanAttributes<T> createBeanAttributes​(AnnotatedType<T> type)
        Obtains a BeanAttributes for the given AnnotatedType. The container ignores the annotations and types declared by the elements of the actual Java class and uses the metadata provided via the Annotated interface instead.
        Type Parameters:
        T - the type
        Parameters:
        type - the AnnotatedType
        Returns:
        a container provided implementation of InjectionTarget
        Since:
        1.1
      • getExtension

        <T extends Extension> T getExtension​(java.lang.Class<T> extensionClass)
        Obtains the container's instance of an Extension class declared in META-INF/services.
        Type Parameters:
        T - the type of the extension
        Parameters:
        extensionClass - the type of the extension class
        Returns:
        the extension instance
        Throws:
        java.lang.IllegalArgumentException - if the container has no instance of the given class
        Since:
        1.1