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

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
<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 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<?,?>> getInterceptableBusinessMethods(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, 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 WeldMethod<?,?> getPostConstruct(WeldClass<?> type)
           
static WeldMethod<?,?> getPreDestroy(WeldClass<?> 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 isBeanEnabled(javax.enterprise.inject.spi.Bean<?> bean, java.util.Collection<java.lang.Class<?>> enabledPolicyClasses, java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> enabledPolicySterotypes)
           
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
<X> boolean
isPolicyPresent(java.util.Set<javax.enterprise.inject.spi.Bean<? extends X>> beans)
          Check if any of the beans is a policy
static
<X> boolean
isSpecialized(javax.enterprise.inject.spi.Bean<? extends X> bean, java.util.Set<javax.enterprise.inject.spi.Bean<? extends X>> 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
<T extends javax.enterprise.inject.spi.Bean<?>>
java.util.Set<T>
retainEnabledPolicies(java.util.Set<T> beans, java.util.Collection<java.lang.Class<?>> enabledPolicyClasses, java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> enabledPolicySterotypes)
          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

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)

getPostConstruct

public static WeldMethod<?,?> getPostConstruct(WeldClass<?> type)

getPreDestroy

public static WeldMethod<?,?> getPreDestroy(WeldClass<?> type)

getInterceptableBusinessMethods

public static java.util.List<WeldMethod<?,?>> getInterceptableBusinessMethods(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,
                                                                                      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)

retainEnabledPolicies

public static <T extends javax.enterprise.inject.spi.Bean<?>> java.util.Set<T> retainEnabledPolicies(java.util.Set<T> beans,
                                                                                                     java.util.Collection<java.lang.Class<?>> enabledPolicyClasses,
                                                                                                     java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> enabledPolicySterotypes)
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<?>> enabledPolicyClasses,
                                    java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> enabledPolicySterotypes)

isPolicyPresent

public static <X> boolean isPolicyPresent(java.util.Set<javax.enterprise.inject.spi.Bean<? extends X>> beans)
Check if any of the beans is a policy

Parameters:
beans -
Returns:

isSpecialized

public static <X> boolean isSpecialized(javax.enterprise.inject.spi.Bean<? extends X> bean,
                                        java.util.Set<javax.enterprise.inject.spi.Bean<? extends X>> 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)


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