org.jboss.weld.util
Class Beans

java.lang.Object
  extended by org.jboss.weld.util.Beans

public class Beans
extends java.lang.Object

Helper class for bean inspection

Author:
Pete Muir, David Allen, Marius Bogoevici

Constructor Summary
Beans()
           
 
Method Summary
static
<T> void
callInitializers(T instance, javax.enterprise.context.spi.CreationalContext<T> creationalContext, BeanManagerImpl manager, java.lang.Iterable<? extends MethodInjectionPoint<?,?>> initializerMethods)
          Calls all initializers of the bean
static boolean containsAllBindings(java.util.Set<java.lang.annotation.Annotation> bindings1, java.util.Set<java.lang.annotation.Annotation> bindings2, BeanManagerImpl manager)
          Checks if binding criteria fulfill all binding types
static boolean containsAllInterceptionBindings(java.util.Set<java.lang.annotation.Annotation> expectedBindings, java.util.Set<java.lang.annotation.Annotation> existingBindings, BeanManagerImpl manager)
           
static boolean findInterceptorBindingConflicts(BeanManagerImpl manager, java.util.Set<java.lang.annotation.Annotation> bindings)
           
static
<T> ConstructorInjectionPoint<T>
getBeanConstructor(javax.enterprise.inject.spi.Bean<T> declaringBean, WeldClass<T> type)
           
static java.lang.reflect.Type getDeclaredBeanType(java.lang.Class<? extends javax.enterprise.inject.spi.Bean> clazz)
          Gets the declared bean type
static javax.enterprise.inject.spi.InjectionPoint getDelegateInjectionPoint(javax.enterprise.inject.spi.Decorator<?> decorator)
           
static java.util.Set<WeldInjectionPoint<?,?>> getEjbInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean, WeldClass<?> type, BeanManagerImpl manager)
           
static java.util.Set<FieldInjectionPoint<?,?>> getFieldInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean, java.util.List<? extends java.util.Set<? extends FieldInjectionPoint<?,?>>> fieldInjectionPoints)
           
static java.util.List<java.util.Set<FieldInjectionPoint<?,?>>> getFieldInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean, WeldClass<?> type)
           
static java.util.List<java.util.Set<MethodInjectionPoint<?,?>>> getInitializerMethods(javax.enterprise.inject.spi.Bean<?> declaringBean, WeldClass<?> type)
           
static java.util.List<WeldMethod<?,?>> getInterceptableMethods(WeldClass<?> type)
           
static java.util.Set<ParameterInjectionPoint<?,?>> getParameterInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean, java.util.List<java.util.Set<MethodInjectionPoint<?,?>>> methodInjectionPoints)
           
static java.util.Set<ParameterInjectionPoint<?,?>> getParameterInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean, MethodInjectionPoint<?,?> method)
           
static java.util.Set<ParameterInjectionPoint<?,?>> getParameterInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean, WeldConstructor<?> constructor)
           
static java.util.Set<WeldInjectionPoint<?,?>> getPersistenceContextInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean, WeldClass<?> type, BeanManagerImpl manager)
           
static java.util.Set<WeldInjectionPoint<?,?>> getPersistenceUnitInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean, WeldClass<?> type, BeanManagerImpl manager)
           
static
<T> java.util.List<WeldMethod<?,? super T>>
getPostConstructMethods(WeldClass<T> type)
           
static
<T> java.util.List<WeldMethod<?,? super T>>
getPreDestroyMethods(WeldClass<T> type)
           
static java.util.Set<WeldInjectionPoint<?,?>> getResourceInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean, WeldClass<?> type, BeanManagerImpl manager)
           
static
<T> void
injectBoundFields(T instance, javax.enterprise.context.spi.CreationalContext<T> creationalContext, BeanManagerImpl manager, java.lang.Iterable<? extends FieldInjectionPoint<?,?>> injectableFields)
          Injects bound fields
static
<T> void
injectEEFields(T beanInstance, BeanManagerImpl manager, java.lang.Iterable<WeldInjectionPoint<?,?>> ejbInjectionPoints, java.lang.Iterable<WeldInjectionPoint<?,?>> persistenceContextInjectionPoints, java.lang.Iterable<WeldInjectionPoint<?,?>> persistenceUnitInjectionPoints, java.lang.Iterable<WeldInjectionPoint<?,?>> resourceInjectionPoints)
          Injects EJBs and common fields
static
<T> void
injectFieldsAndInitializers(T instance, javax.enterprise.context.spi.CreationalContext<T> ctx, BeanManagerImpl beanManager, java.util.List<? extends java.lang.Iterable<? extends FieldInjectionPoint<?,?>>> injectableFields, java.util.List<? extends java.lang.Iterable<? extends MethodInjectionPoint<?,?>>> initializerMethods)
           
static boolean isAlternative(WeldAnnotated<?,?> annotated, MergedStereotypes<?,?> mergedStereotypes)
           
static boolean isAlternativePresent(java.util.Set<javax.enterprise.inject.spi.Bean<?>> beans)
          Check if any of the beans is an alternative
static boolean isBeanEnabled(javax.enterprise.inject.spi.Bean<?> bean, java.util.Collection<java.lang.Class<?>> enabledAlternativeClasses, java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> enabledAlternativeSterotypes)
           
static boolean isBeanProxyable(javax.enterprise.inject.spi.Bean<?> bean)
          Indicates if a bean is proxyable
static
<T> boolean
isDecorator(WeldClass<T> annotatedItem)
           
static
<T> boolean
isInterceptor(WeldClass<T> annotatedItem)
           
static boolean isPassivatingScope(javax.enterprise.inject.spi.Bean<?> bean, BeanManagerImpl manager)
          Indicates if a bean's scope type is passivating
static boolean isPassivationCapableBean(javax.enterprise.inject.spi.Bean<?> bean)
          Tests if a bean is capable of having its state temporarily stored to secondary storage
static boolean isPassivationCapableDependency(javax.enterprise.inject.spi.Bean<?> bean)
          Tests if a bean is capable of having its state temporarily stored to secondary storage
static
<T extends javax.enterprise.inject.spi.Bean<?>>
boolean
isSpecialized(T bean, java.util.Set<T> beans, java.util.Map<javax.enterprise.context.spi.Contextual<?>,javax.enterprise.context.spi.Contextual<?>> specializedBeans)
          Check if bean is specialized by any of beans
static java.lang.annotation.Annotation[] mergeInQualifiers(java.lang.annotation.Annotation[] qualifiers, java.lang.annotation.Annotation[] newQualifiers)
           
static
<T extends javax.enterprise.inject.spi.Bean<?>>
java.util.Set<T>
removeDisabledAndSpecializedBeans(java.util.Set<T> beans, java.util.Collection<java.lang.Class<?>> enabledAlternativeClasses, java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> enabledAlternativeSterotypes, java.util.Map<javax.enterprise.context.spi.Contextual<?>,javax.enterprise.context.spi.Contextual<?>> specializedBeans)
          Retains only beans which have deployment type X.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Beans

public Beans()
Method Detail

isPassivatingScope

public static boolean isPassivatingScope(javax.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(javax.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(javax.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(javax.enterprise.inject.spi.Bean<?> bean)
Indicates if a bean is proxyable

Parameters:
bean - The bean to test
Returns:
True if proxyable, false otherwise

getFieldInjectionPoints

public static java.util.List<java.util.Set<FieldInjectionPoint<?,?>>> getFieldInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean,
                                                                                              WeldClass<?> type)

getFieldInjectionPoints

public static java.util.Set<FieldInjectionPoint<?,?>> getFieldInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean,
                                                                              java.util.List<? extends java.util.Set<? extends FieldInjectionPoint<?,?>>> fieldInjectionPoints)

getPostConstructMethods

public static <T> java.util.List<WeldMethod<?,? super T>> getPostConstructMethods(WeldClass<T> type)

getPreDestroyMethods

public static <T> java.util.List<WeldMethod<?,? super T>> getPreDestroyMethods(WeldClass<T> type)

getInterceptableMethods

public static java.util.List<WeldMethod<?,?>> getInterceptableMethods(WeldClass<?> type)

getEjbInjectionPoints

public static java.util.Set<WeldInjectionPoint<?,?>> getEjbInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean,
                                                                           WeldClass<?> type,
                                                                           BeanManagerImpl manager)

getPersistenceContextInjectionPoints

public static java.util.Set<WeldInjectionPoint<?,?>> getPersistenceContextInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean,
                                                                                          WeldClass<?> type,
                                                                                          BeanManagerImpl manager)

getPersistenceUnitInjectionPoints

public static java.util.Set<WeldInjectionPoint<?,?>> getPersistenceUnitInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean,
                                                                                       WeldClass<?> type,
                                                                                       BeanManagerImpl manager)

getResourceInjectionPoints

public static java.util.Set<WeldInjectionPoint<?,?>> getResourceInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean,
                                                                                WeldClass<?> type,
                                                                                BeanManagerImpl manager)

getInitializerMethods

public static java.util.List<java.util.Set<MethodInjectionPoint<?,?>>> getInitializerMethods(javax.enterprise.inject.spi.Bean<?> declaringBean,
                                                                                             WeldClass<?> type)

getParameterInjectionPoints

public static java.util.Set<ParameterInjectionPoint<?,?>> getParameterInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean,
                                                                                      WeldConstructor<?> constructor)

getParameterInjectionPoints

public static java.util.Set<ParameterInjectionPoint<?,?>> getParameterInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean,
                                                                                      MethodInjectionPoint<?,?> method)

getParameterInjectionPoints

public static java.util.Set<ParameterInjectionPoint<?,?>> getParameterInjectionPoints(javax.enterprise.inject.spi.Bean<?> declaringBean,
                                                                                      java.util.List<java.util.Set<MethodInjectionPoint<?,?>>> methodInjectionPoints)

containsAllBindings

public static boolean containsAllBindings(java.util.Set<java.lang.annotation.Annotation> bindings1,
                                          java.util.Set<java.lang.annotation.Annotation> bindings2,
                                          BeanManagerImpl manager)
Checks if binding criteria fulfill all binding types

Parameters:
element - The binding criteria to check
bindings2 - The binding types to check
Returns:
True if all matches, false otherwise

containsAllInterceptionBindings

public static boolean containsAllInterceptionBindings(java.util.Set<java.lang.annotation.Annotation> expectedBindings,
                                                      java.util.Set<java.lang.annotation.Annotation> existingBindings,
                                                      BeanManagerImpl manager)

findInterceptorBindingConflicts

public static boolean findInterceptorBindingConflicts(BeanManagerImpl manager,
                                                      java.util.Set<java.lang.annotation.Annotation> bindings)

removeDisabledAndSpecializedBeans

public static <T extends javax.enterprise.inject.spi.Bean<?>> java.util.Set<T> removeDisabledAndSpecializedBeans(java.util.Set<T> beans,
                                                                                                                 java.util.Collection<java.lang.Class<?>> enabledAlternativeClasses,
                                                                                                                 java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> enabledAlternativeSterotypes,
                                                                                                                 java.util.Map<javax.enterprise.context.spi.Contextual<?>,javax.enterprise.context.spi.Contextual<?>> specializedBeans)
Retains only beans which have deployment type X. The deployment type X is

Type Parameters:
T -
Parameters:
beans - The beans to filter
enabledDeploymentTypes - The enabled deployment types
Returns:
The filtered beans

isBeanEnabled

public static boolean isBeanEnabled(javax.enterprise.inject.spi.Bean<?> bean,
                                    java.util.Collection<java.lang.Class<?>> enabledAlternativeClasses,
                                    java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> enabledAlternativeSterotypes)

isAlternativePresent

public static boolean isAlternativePresent(java.util.Set<javax.enterprise.inject.spi.Bean<?>> beans)
Check if any of the beans is an alternative

Parameters:
beans -
Returns:

isAlternative

public static boolean isAlternative(WeldAnnotated<?,?> annotated,
                                    MergedStereotypes<?,?> mergedStereotypes)

isSpecialized

public static <T extends javax.enterprise.inject.spi.Bean<?>> boolean isSpecialized(T bean,
                                                                                    java.util.Set<T> beans,
                                                                                    java.util.Map<javax.enterprise.context.spi.Contextual<?>,javax.enterprise.context.spi.Contextual<?>> specializedBeans)
Check if bean is specialized by any of beans

Parameters:
bean -
beans -
specializedBeans -
Returns:

getBeanConstructor

public static <T> ConstructorInjectionPoint<T> getBeanConstructor(javax.enterprise.inject.spi.Bean<T> declaringBean,
                                                                  WeldClass<T> type)

injectEEFields

public static <T> void injectEEFields(T beanInstance,
                                      BeanManagerImpl manager,
                                      java.lang.Iterable<WeldInjectionPoint<?,?>> ejbInjectionPoints,
                                      java.lang.Iterable<WeldInjectionPoint<?,?>> persistenceContextInjectionPoints,
                                      java.lang.Iterable<WeldInjectionPoint<?,?>> persistenceUnitInjectionPoints,
                                      java.lang.Iterable<WeldInjectionPoint<?,?>> resourceInjectionPoints)
Injects EJBs and common fields


getDeclaredBeanType

public static java.lang.reflect.Type getDeclaredBeanType(java.lang.Class<? extends javax.enterprise.inject.spi.Bean> clazz)
Gets the declared bean type

Returns:
The bean type

injectBoundFields

public static <T> void injectBoundFields(T instance,
                                         javax.enterprise.context.spi.CreationalContext<T> creationalContext,
                                         BeanManagerImpl manager,
                                         java.lang.Iterable<? extends FieldInjectionPoint<?,?>> injectableFields)
Injects bound fields

Parameters:
instance - The instance to inject into

injectFieldsAndInitializers

public static <T> void injectFieldsAndInitializers(T instance,
                                                   javax.enterprise.context.spi.CreationalContext<T> ctx,
                                                   BeanManagerImpl beanManager,
                                                   java.util.List<? extends java.lang.Iterable<? extends FieldInjectionPoint<?,?>>> injectableFields,
                                                   java.util.List<? extends java.lang.Iterable<? extends MethodInjectionPoint<?,?>>> initializerMethods)

callInitializers

public static <T> void callInitializers(T instance,
                                        javax.enterprise.context.spi.CreationalContext<T> creationalContext,
                                        BeanManagerImpl manager,
                                        java.lang.Iterable<? extends MethodInjectionPoint<?,?>> initializerMethods)
Calls all initializers of the bean

Parameters:
instance - The bean instance

isInterceptor

public static <T> boolean isInterceptor(WeldClass<T> annotatedItem)

isDecorator

public static <T> boolean isDecorator(WeldClass<T> annotatedItem)

mergeInQualifiers

public static java.lang.annotation.Annotation[] mergeInQualifiers(java.lang.annotation.Annotation[] qualifiers,
                                                                  java.lang.annotation.Annotation[] newQualifiers)

getDelegateInjectionPoint

public static javax.enterprise.inject.spi.InjectionPoint getDelegateInjectionPoint(javax.enterprise.inject.spi.Decorator<?> decorator)


Copyright © 2008-2010 Seam Framework. All Rights Reserved.