Package org.jboss.weld.util
Class Beans
java.lang.Object
org.jboss.weld.util.Beans
Helper class for bean inspection
- Author:
- Pete Muir, David Allen, Marius Bogoevici, Ales Justin, Jozef Hartinger
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> voidcallInitializers(T instance, jakarta.enterprise.context.spi.CreationalContext<T> creationalContext, BeanManagerImpl manager, Iterable<? extends MethodInjectionPoint<?, ?>> initializerMethods) Calls all initializers of the beanstatic <T,S, X extends EnhancedAnnotated<T, S>>
XcheckEnhancedAnnotatedAvailable(X enhancedAnnotated) static booleancontainsAllInterceptionBindings(Set<Annotation> expectedBindings, Set<QualifierInstance> existingBindings, BeanManagerImpl manager) static booleancontainsAllQualifiers(Set<QualifierInstance> requiredQualifiers, Set<QualifierInstance> qualifiers) Checks that all the qualifiers in the set requiredQualifiers are in the set of qualifiers.static StringcreateBeanAttributesId(jakarta.enterprise.inject.spi.BeanAttributes<?> attributes) Generates a unique signature forBeanAttributes.static StringcreateTypeCollectionId(Collection<? extends Type> types) Generates a unique signature of a collection of types.static <T> EnhancedAnnotatedConstructor<T>getBeanConstructor(EnhancedAnnotatedType<T> type) static <T> EnhancedAnnotatedConstructor<T>static Class<? extends Annotation>getBeanDefiningAnnotationScope(jakarta.enterprise.inject.spi.AnnotatedType<?> annotatedType) static TypegetDeclaredBeanType(Class<?> clazz) Gets the declared bean typestatic org.jboss.weld.serialization.spi.BeanIdentifiergetIdentifier(jakarta.enterprise.context.spi.Contextual<?> contextual, org.jboss.weld.bootstrap.api.ServiceRegistry serviceRegistry) static org.jboss.weld.serialization.spi.BeanIdentifiergetIdentifier(jakarta.enterprise.context.spi.Contextual<?> contextual, org.jboss.weld.serialization.spi.ContextualStore contextualStore) static List<EnhancedAnnotatedMethod<?,?>> getLegalBeanTypes(Set<Type> types, Object baseType, Type... additionalTypes) getTypedTypes(Map<Class<?>, Type> typeClosure, Class<?> rawType, jakarta.enterprise.inject.Typed typed) Bean types of a bean that uses theTypedannotation.getTypes(EnhancedAnnotated<?, ?> annotated) Illegal bean types are ignored except for array and primitive types and unlessTypedis used.static booleanhasBuiltinScope(jakarta.enterprise.inject.spi.Bean<?> bean) static booleanhasSimpleCdiConstructor(jakarta.enterprise.inject.spi.AnnotatedType<?> type) static <T> voidinjectBoundFields(T instance, jakarta.enterprise.context.spi.CreationalContext<T> creationalContext, BeanManagerImpl manager, Iterable<? extends FieldInjectionPoint<?, ?>> injectableFields) Injects bound fieldsstatic <T> voidinjectEEFields(Iterable<Set<ResourceInjection<?>>> resourceInjectionsHierarchy, T beanInstance, jakarta.enterprise.context.spi.CreationalContext<T> ctx) Injects EJBs and other EE resources.static <T> voidinjectFieldsAndInitializers(T instance, jakarta.enterprise.context.spi.CreationalContext<T> ctx, BeanManagerImpl beanManager, List<? extends Iterable<? extends FieldInjectionPoint<?, ?>>> injectableFields, List<? extends Iterable<? extends MethodInjectionPoint<?, ?>>> initializerMethods) static booleanisAlternative(EnhancedAnnotated<?, ?> annotated, MergedStereotypes<?, ?> mergedStereotypes) Is alternative.static booleanisBeanEnabled(jakarta.enterprise.inject.spi.Bean<?> bean, ModuleEnablement enabled) static booleanisBeanProxyable(jakarta.enterprise.inject.spi.Bean<?> bean, BeanManagerImpl manager) Indicates if a bean is proxyablestatic <T> booleanisDecorator(EnhancedAnnotatedType<T> annotatedItem) static booleanisDecoratorDeclaringInAppropriateConstructor(jakarta.enterprise.inject.spi.AnnotatedType<?> annotatedType) static booleanisDecoratorDeclaringInAppropriateConstructor(org.jboss.weld.resources.spi.ClassFileInfo classFileInfo) static <T> booleanisInterceptor(jakarta.enterprise.inject.spi.AnnotatedType<T> annotatedItem) static booleanisPassivatingScope(jakarta.enterprise.inject.spi.Bean<?> bean, BeanManagerImpl manager) Indicates if a bean's scope type is passivatingstatic booleanisPassivationCapableBean(jakarta.enterprise.inject.spi.Bean<?> bean) Tests if a bean is capable of having its state temporarily stored to secondary storagestatic booleanisPassivationCapableDependency(jakarta.enterprise.inject.spi.Bean<?> bean) Tests if a bean is capable of having its state temporarily stored to secondary storagestatic booleanisTypeManagedBeanOrDecoratorOrInterceptor(jakarta.enterprise.inject.spi.AnnotatedType<?> annotatedType) Indicates if the type is a simple Web Beanstatic booleanisTypeManagedBeanOrDecoratorOrInterceptor(org.jboss.weld.resources.spi.ClassFileInfo classFileInfo) static booleanisVetoed(jakarta.enterprise.inject.spi.AnnotatedType<?> type) static booleanDetermines if this Java class should be vetoed as a result of presence ofVetoannotations.static Set<Annotation>mergeInQualifiers(BeanManagerImpl manager, Collection<Annotation> qualifiers, Annotation[] newQualifiers) static <T extends jakarta.enterprise.inject.spi.Bean<?>>
Set<T>removeDisabledBeans(Set<T> beans, BeanManagerImpl beanManager) Retains only beans which are enabled.static booleanshouldIgnoreFinalMethods(jakarta.enterprise.inject.spi.Bean<?> bean) static jakarta.enterprise.inject.spi.Bean<?>unwrap(jakarta.enterprise.inject.spi.Bean<?> bean)
-
Method Details
-
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
-
getInterceptableMethods
public static List<EnhancedAnnotatedMethod<?,?>> getInterceptableMethods(EnhancedAnnotatedType<?> type) -
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 qualifiersqualifiers- The set of qualifiers to check- Returns:
- True if all matches, false otherwise
-
containsAllInterceptionBindings
public static boolean containsAllInterceptionBindings(Set<Annotation> expectedBindings, Set<QualifierInstance> existingBindings, BeanManagerImpl manager) -
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 filterbeanManager- 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 annotatedmergedStereotypes- merged stereotypes- Returns:
- true if alternative, false otherwise
-
getBeanConstructorStrict
public static <T> EnhancedAnnotatedConstructor<T> getBeanConstructorStrict(EnhancedAnnotatedType<T> type) -
getBeanConstructor
-
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
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
-
injectFieldsAndInitializers
public static <T> void injectFieldsAndInitializers(T instance, jakarta.enterprise.context.spi.CreationalContext<T> ctx, BeanManagerImpl beanManager, List<? extends Iterable<? extends FieldInjectionPoint<?, ?>>> injectableFields, List<? extends Iterable<? extends MethodInjectionPoint<?, ?>>> initializerMethods) -
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) -
isDecorator
-
mergeInQualifiers
public static Set<Annotation> mergeInQualifiers(BeanManagerImpl manager, Collection<Annotation> qualifiers, Annotation[] newQualifiers) -
getTypes
Illegal bean types are ignored except for array and primitive types and unlessTypedis 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 theTypedannotation. -
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) - Parameters:
classFileInfo-- 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
Determines if this Java class should be vetoed as a result of presence ofVetoannotations. -
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 forBeanAttributes. -
createTypeCollectionId
Generates a unique signature of a collection of types. -
checkEnhancedAnnotatedAvailable
public static <T,S, X checkEnhancedAnnotatedAvailableX extends EnhancedAnnotated<T, S>> (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 typesbaseType-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:
trueif final methods should be ignored when checking proxyability
-
unwrap
public static jakarta.enterprise.inject.spi.Bean<?> unwrap(jakarta.enterprise.inject.spi.Bean<?> bean)
-