Class Beans


  • public class Beans
    extends Object
    Helper class for bean inspection
    Author:
    Pete Muir, David Allen, Marius Bogoevici, Ales Justin, Jozef Hartinger
    • Method Detail

      • isPassivatingScope

        public static boolean isPassivatingScope​(jakarta.enterprise.inject.spi.Bean<?> bean,
                                                 BeanManagerImpl manager)
        Indicates if a bean's scope type is passivating
        Parameters:
        bean - The bean to inspect
        Returns:
        True if the scope is passivating, false otherwise
      • isPassivationCapableBean

        public static boolean isPassivationCapableBean​(jakarta.enterprise.inject.spi.Bean<?> bean)
        Tests if a bean is capable of having its state temporarily stored to secondary storage
        Parameters:
        bean - The bean to inspect
        Returns:
        True if the bean is passivation capable
      • isPassivationCapableDependency

        public static boolean isPassivationCapableDependency​(jakarta.enterprise.inject.spi.Bean<?> bean)
        Tests if a bean is capable of having its state temporarily stored to secondary storage
        Parameters:
        bean - The bean to inspect
        Returns:
        True if the bean is passivation capable
      • isBeanProxyable

        public static boolean isBeanProxyable​(jakarta.enterprise.inject.spi.Bean<?> bean,
                                              BeanManagerImpl manager)
        Indicates if a bean is proxyable
        Parameters:
        bean - The bean to test
        Returns:
        True if proxyable, false otherwise
      • containsAllQualifiers

        public static boolean containsAllQualifiers​(Set<QualifierInstance> requiredQualifiers,
                                                    Set<QualifierInstance> qualifiers)
        Checks that all the qualifiers in the set requiredQualifiers are in the set of qualifiers. Qualifier equality rules for annotation members are followed.
        Parameters:
        requiredQualifiers - The required qualifiers
        qualifiers - The set of qualifiers to check
        Returns:
        True if all matches, false otherwise
      • removeDisabledBeans

        public static <T extends jakarta.enterprise.inject.spi.Bean<?>> Set<T> removeDisabledBeans​(Set<T> beans,
                                                                                                   BeanManagerImpl beanManager)
        Retains only beans which are enabled.
        Parameters:
        beans - The mutable set of beans to filter
        beanManager - The bean manager
        Returns:
        a mutable set of enabled beans
      • isBeanEnabled

        public static boolean isBeanEnabled​(jakarta.enterprise.inject.spi.Bean<?> bean,
                                            ModuleEnablement enabled)
      • isAlternative

        public static boolean isAlternative​(EnhancedAnnotated<?,​?> annotated,
                                            MergedStereotypes<?,​?> mergedStereotypes)
        Is alternative.
        Parameters:
        annotated - the annotated
        mergedStereotypes - merged stereotypes
        Returns:
        true if alternative, false otherwise
      • injectEEFields

        public static <T> void injectEEFields​(Iterable<Set<ResourceInjection<?>>> resourceInjectionsHierarchy,
                                              T beanInstance,
                                              jakarta.enterprise.context.spi.CreationalContext<T> ctx)
        Injects EJBs and other EE resources.
        Parameters:
        resourceInjectionsHierarchy -
        beanInstance -
        ctx -
      • getDeclaredBeanType

        public static Type getDeclaredBeanType​(Class<?> clazz)
        Gets the declared bean type
        Returns:
        The bean type
      • injectBoundFields

        public static <T> void injectBoundFields​(T instance,
                                                 jakarta.enterprise.context.spi.CreationalContext<T> creationalContext,
                                                 BeanManagerImpl manager,
                                                 Iterable<? extends FieldInjectionPoint<?,​?>> injectableFields)
        Injects bound fields
        Parameters:
        instance - The instance to inject into
      • callInitializers

        public static <T> void callInitializers​(T instance,
                                                jakarta.enterprise.context.spi.CreationalContext<T> creationalContext,
                                                BeanManagerImpl manager,
                                                Iterable<? extends MethodInjectionPoint<?,​?>> initializerMethods)
        Calls all initializers of the bean
        Parameters:
        instance - The bean instance
      • isInterceptor

        public static <T> boolean isInterceptor​(jakarta.enterprise.inject.spi.AnnotatedType<T> annotatedItem)
      • getTypes

        public static Set<Type> getTypes​(EnhancedAnnotated<?,​?> annotated)
        Illegal bean types are ignored except for array and primitive types and unless Typed is used.
        Returns:
        the set of bean types from an annotated element
      • getTypedTypes

        public static Set<Type> getTypedTypes​(Map<Class<?>,​Type> typeClosure,
                                              Class<?> rawType,
                                              jakarta.enterprise.inject.Typed typed)
        Bean types of a bean that uses the Typed annotation.
      • isTypeManagedBeanOrDecoratorOrInterceptor

        public static boolean isTypeManagedBeanOrDecoratorOrInterceptor​(jakarta.enterprise.inject.spi.AnnotatedType<?> annotatedType)
        Indicates if the type is a simple Web Bean
        Parameters:
        annotatedType - The type to inspect
        Returns:
        True if simple Web Bean, false otherwise
      • isTypeManagedBeanOrDecoratorOrInterceptor

        public static boolean isTypeManagedBeanOrDecoratorOrInterceptor​(org.jboss.weld.resources.spi.ClassFileInfo classFileInfo,
                                                                        boolean checkTypeModifiers)
        Parameters:
        classFileInfo -
        checkTypeModifiers - - this flag reflects whether Jandex version including fix for JANDEX-37 could be used
        Returns:
      • isDecoratorDeclaringInAppropriateConstructor

        public static boolean isDecoratorDeclaringInAppropriateConstructor​(org.jboss.weld.resources.spi.ClassFileInfo classFileInfo)
      • isDecoratorDeclaringInAppropriateConstructor

        public static boolean isDecoratorDeclaringInAppropriateConstructor​(jakarta.enterprise.inject.spi.AnnotatedType<?> annotatedType)
      • hasSimpleCdiConstructor

        public static boolean hasSimpleCdiConstructor​(jakarta.enterprise.inject.spi.AnnotatedType<?> type)
      • isVetoed

        public static boolean isVetoed​(Class<?> javaClass)
        Determines if this Java class should be vetoed as a result of presence of Veto annotations.
      • isVetoed

        public static boolean isVetoed​(jakarta.enterprise.inject.spi.AnnotatedType<?> type)
      • createBeanAttributesId

        public static String createBeanAttributesId​(jakarta.enterprise.inject.spi.BeanAttributes<?> attributes)
        Generates a unique signature for BeanAttributes.
      • createTypeCollectionId

        public static String createTypeCollectionId​(Collection<? extends Type> types)
        Generates a unique signature of a collection of types.
      • checkEnhancedAnnotatedAvailable

        public static <T,​S,​X extends EnhancedAnnotated<T,​S>> X checkEnhancedAnnotatedAvailable​(X enhancedAnnotated)
      • hasBuiltinScope

        public static boolean hasBuiltinScope​(jakarta.enterprise.inject.spi.Bean<?> bean)
      • getBeanDefiningAnnotationScope

        public static Class<? extends Annotation> getBeanDefiningAnnotationScope​(jakarta.enterprise.inject.spi.AnnotatedType<?> annotatedType)
      • getLegalBeanTypes

        public static Set<Type> getLegalBeanTypes​(Set<Type> types,
                                                  Object baseType,
                                                  Type... additionalTypes)
        Parameters:
        types - The initial set of types
        baseType -
        additionalTypes - Types to add to the initial set
        Returns:
        the set of legal bean types
      • getIdentifier

        public static org.jboss.weld.serialization.spi.BeanIdentifier getIdentifier​(jakarta.enterprise.context.spi.Contextual<?> contextual,
                                                                                    org.jboss.weld.serialization.spi.ContextualStore contextualStore)
        Parameters:
        contextual -
        contextualStore -
        Returns:
        the identifier for the given contextual
        See Also:
        getIdentifier(Contextual, ContextualStore, ServiceRegistry)
      • getIdentifier

        public static org.jboss.weld.serialization.spi.BeanIdentifier getIdentifier​(jakarta.enterprise.context.spi.Contextual<?> contextual,
                                                                                    org.jboss.weld.bootstrap.api.ServiceRegistry serviceRegistry)
        Parameters:
        contextual -
        serviceRegistry -
        Returns:
        the identifier for the given contextual
        See Also:
        getIdentifier(Contextual, ContextualStore, ServiceRegistry)
      • shouldIgnoreFinalMethods

        public static boolean shouldIgnoreFinalMethods​(jakarta.enterprise.inject.spi.Bean<?> bean)
        Parameters:
        bean -
        Returns:
        true if final methods should be ignored when checking proxyability
      • unwrap

        public static jakarta.enterprise.inject.spi.Bean<?> unwrap​(jakarta.enterprise.inject.spi.Bean<?> bean)