org.apache.webbeans.container
Class BeanManagerImpl

java.lang.Object
  extended by org.apache.webbeans.container.BeanManagerImpl
All Implemented Interfaces:
javax.enterprise.inject.spi.BeanManager, javax.naming.Referenceable

public class BeanManagerImpl
extends java.lang.Object
implements javax.enterprise.inject.spi.BeanManager, javax.naming.Referenceable

Implementation of the BeanManager contract of the web beans container.

It is written as thread-safe.

Version:
$Rev$ $Date$
See Also:
BeanManager

Constructor Summary
BeanManagerImpl(WebBeansContext webBeansContext)
          Creates a new BeanManager instance.
 
Method Summary
 void addAdditionalAnnotatedType(javax.enterprise.inject.spi.AnnotatedType<?> annotatedType)
           
 void addAdditionalQualifier(java.lang.Class<? extends java.lang.annotation.Annotation> qualifier)
           
 void addAdditionalScope(ExternalScope additionalScope)
           
 javax.enterprise.inject.spi.BeanManager addBean(javax.enterprise.inject.spi.Bean<?> newBean)
          Add new bean to the BeanManager.
 javax.enterprise.inject.spi.BeanManager addContext(javax.enterprise.context.spi.Context context)
           
 void addCustomDecoratorClass(java.lang.Class<?> clazz)
           
 void addCustomInterceptorClass(java.lang.Class<?> clazz)
           
 javax.enterprise.inject.spi.BeanManager addDecorator(javax.enterprise.inject.spi.Decorator decorator)
           
 javax.enterprise.inject.spi.BeanManager addInterceptor(javax.enterprise.inject.spi.Interceptor interceptor)
           
 void addInterceptorBindingType(java.lang.Class<? extends java.lang.annotation.Annotation> bindingType, java.lang.annotation.Annotation... inheritsArray)
           
 javax.enterprise.inject.spi.BeanManager addInternalBean(javax.enterprise.inject.spi.Bean<?> newBean)
          This method is reserved for adding 'internal beans' like e.g. a BeanManagerBean,
protected  void addPassivationInfo(OwbBean<?> bean)
          Check if the bean is has a passivation id and add it to the id store.
 void clear()
           
 boolean containsCustomDecoratorClass(java.lang.Class<?> clazz)
           
 boolean containsCustomInterceptorClass(java.lang.Class<?> clazz)
           
<T> javax.enterprise.inject.spi.AnnotatedType<T>
createAnnotatedType(java.lang.Class<T> type)
          
<T> javax.enterprise.context.spi.CreationalContext<T>
createCreationalContext(javax.enterprise.context.spi.Contextual<T> contextual)
          
<T> javax.enterprise.inject.spi.InjectionTarget<T>
createInjectionTarget(javax.enterprise.inject.spi.AnnotatedType<T> type)
          
 void fireEvent(java.lang.Object event, java.lang.annotation.Annotation... bindings)
          
 java.util.List<javax.enterprise.inject.spi.AnnotatedType<?>> getAdditionalAnnotatedTypes()
           
 java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> getAdditionalQualifiers()
           
 java.util.List<ExternalScope> getAdditionalScopes()
           
 java.util.Set<javax.enterprise.inject.spi.Bean<?>> getBeans()
           
 java.util.Set<javax.enterprise.inject.spi.Bean<?>> getBeans(java.lang.String name)
           
 java.util.Set<javax.enterprise.inject.spi.Bean<?>> getBeans(java.lang.reflect.Type beanType, java.lang.annotation.Annotation... bindings)
          
 java.util.Set<javax.enterprise.inject.spi.Bean<?>> getComponents()
           
 javax.enterprise.context.spi.Context getContext(java.lang.Class<? extends java.lang.annotation.Annotation> scopeType)
          Gets the active context for the given scope type.
 java.util.Set<javax.enterprise.inject.spi.Decorator<?>> getDecorators()
           
 javax.el.ELResolver getELResolver()
           
 ErrorStack getErrorStack()
           
 java.lang.Object getInjectableReference(javax.enterprise.inject.spi.InjectionPoint injectionPoint, javax.enterprise.context.spi.CreationalContext<?> ownerCreationalContext)
          
 InjectionResolver getInjectionResolver()
          Gets injection resolver.
<T> InjectionTargetWrapper<T>
getInjectionTargetWrapper(java.lang.Class<T> javaEeComponentClass)
           
<T> InjectionTargetWrapper<T>
getInjectionTargetWrapper(javax.enterprise.context.spi.Contextual<T> contextual)
           
<T> T
getInstance(javax.enterprise.inject.spi.Bean<T> bean, javax.enterprise.context.spi.CreationalContext<?> creationalContext)
          Deprecated. 
 java.lang.Object getInstanceByName(java.lang.String name, javax.enterprise.context.spi.CreationalContext<?> creationalContext)
          Deprecated. 
<T> T
getInstanceByType(java.lang.Class<T> type, java.lang.annotation.Annotation... bindingTypes)
          Deprecated. 
<T> T
getInstanceByType(javax.enterprise.util.TypeLiteral<T> type, java.lang.annotation.Annotation... bindingTypes)
          Deprecated. 
 java.lang.Object getInstanceToInject(javax.enterprise.inject.spi.InjectionPoint injectionPoint)
          Deprecated. 
<T> T
getInstanceToInject(javax.enterprise.inject.spi.InjectionPoint injectionPoint, javax.enterprise.context.spi.CreationalContext<?> context)
          Deprecated. 
 java.util.Set<java.lang.annotation.Annotation> getInterceptorBindingDefinition(java.lang.Class<? extends java.lang.annotation.Annotation> binding)
          
 java.util.Set<java.lang.annotation.Annotation> getInterceptorBindingTypeMetaAnnotations(java.lang.Class<? extends java.lang.annotation.Annotation> interceptorBindingType)
           
 java.util.List<javax.enterprise.inject.spi.Interceptor<?>> getInterceptors()
           
<X> javax.enterprise.inject.spi.Bean<? extends X>
getMostSpecializedBean(javax.enterprise.inject.spi.Bean<X> bean)
          Deprecated. 
 NotificationManager getNotificationManager()
          Return manager notification manager.
 javax.enterprise.inject.spi.Bean<?> getPassivationCapableBean(java.lang.String id)
           
 javax.naming.Reference getReference()
           
 java.lang.Object getReference(javax.enterprise.inject.spi.Bean<?> bean, java.lang.reflect.Type beanType, javax.enterprise.context.spi.CreationalContext<?> creationalContext)
          
 java.util.Set<java.lang.annotation.Annotation> getStereotypeDefinition(java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
           
 boolean hasInterceptorBindingType(java.lang.Class<? extends java.lang.annotation.Annotation> bindingType)
           
 boolean isInterceptorBinding(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
           
 boolean isInUse()
           
 boolean isNormalScope(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
           
 boolean isPassivatingScope(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
           
 boolean isQualifier(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
           
 boolean isScope(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
           
 boolean isStereotype(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
           
 javax.enterprise.inject.spi.BeanManager parse(java.io.InputStream xmlStream)
          Parse the given XML input stream for adding XML defined artifacts.
<T> void
putInjectionTargetWrapper(javax.enterprise.context.spi.Contextual<T> contextual, InjectionTargetWrapper<T> wrapper)
           
<T> void
putInjectionTargetWrapperForJavaEeComponents(java.lang.Class<T> javaEeComponentClass, InjectionTargetWrapper<T> wrapper)
           
<X> javax.enterprise.inject.spi.Bean<? extends X>
resolve(java.util.Set<javax.enterprise.inject.spi.Bean<? extends X>> beans)
           
 java.util.Set<javax.enterprise.inject.spi.Bean<?>> resolveByName(java.lang.String name)
          Deprecated. 
 java.util.Set<javax.enterprise.inject.spi.Bean<?>> resolveByType(java.lang.Class<?> apiType, java.lang.annotation.Annotation... bindingTypes)
          Deprecated. 
 java.util.Set<javax.enterprise.inject.spi.Bean<?>> resolveByType(javax.enterprise.util.TypeLiteral<?> apiType, java.lang.annotation.Annotation... bindingTypes)
          Deprecated. 
 java.util.List<javax.enterprise.inject.spi.Decorator<?>> resolveDecorators(java.util.Set<java.lang.reflect.Type> types, java.lang.annotation.Annotation... bindingTypes)
          
 java.util.List<javax.enterprise.inject.spi.Interceptor<?>> resolveInterceptors(javax.enterprise.inject.spi.InterceptionType type, java.lang.annotation.Annotation... interceptorBindings)
          
<T> java.util.Set<javax.enterprise.inject.spi.ObserverMethod<? super T>>
resolveObserverMethods(T event, java.lang.annotation.Annotation... qualifiers)
           
 void setXMLConfigurator(WebBeansXMLConfigurator xmlConfigurator)
          Sets the xml configurator instance.
 void validate(javax.enterprise.inject.spi.InjectionPoint injectionPoint)
          
 javax.el.ExpressionFactory wrapExpressionFactory(javax.el.ExpressionFactory expressionFactory)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BeanManagerImpl

public BeanManagerImpl(WebBeansContext webBeansContext)
Creates a new BeanManager instance. Called by the system. Do not use outside of the system.

Method Detail

putInjectionTargetWrapper

public <T> void putInjectionTargetWrapper(javax.enterprise.context.spi.Contextual<T> contextual,
                                          InjectionTargetWrapper<T> wrapper)

getInjectionTargetWrapper

public <T> InjectionTargetWrapper<T> getInjectionTargetWrapper(javax.enterprise.context.spi.Contextual<T> contextual)

putInjectionTargetWrapperForJavaEeComponents

public <T> void putInjectionTargetWrapperForJavaEeComponents(java.lang.Class<T> javaEeComponentClass,
                                                             InjectionTargetWrapper<T> wrapper)

getInjectionTargetWrapper

public <T> InjectionTargetWrapper<T> getInjectionTargetWrapper(java.lang.Class<T> javaEeComponentClass)

getErrorStack

public ErrorStack getErrorStack()

getNotificationManager

public NotificationManager getNotificationManager()
Return manager notification manager.

Returns:
notification manager

getInjectionResolver

public InjectionResolver getInjectionResolver()
Gets injection resolver.

Returns:
injection resolver

setXMLConfigurator

public void setXMLConfigurator(WebBeansXMLConfigurator xmlConfigurator)
Sets the xml configurator instance.

Parameters:
xmlConfigurator - set xml configurator instance.
See Also:
WebBeansXMLConfigurator

getContext

public javax.enterprise.context.spi.Context getContext(java.lang.Class<? extends java.lang.annotation.Annotation> scopeType)
Gets the active context for the given scope type.

Specified by:
getContext in interface javax.enterprise.inject.spi.BeanManager
Parameters:
scopeType - scope type of the context
Throws:
javax.enterprise.context.ContextNotActiveException - if no active context
java.lang.IllegalStateException - if more than one active context

addBean

public javax.enterprise.inject.spi.BeanManager addBean(javax.enterprise.inject.spi.Bean<?> newBean)
Add new bean to the BeanManager. This will also set OWBs inUse status.

Parameters:
newBean - new bean instance
Returns:
the this manager

addInternalBean

public javax.enterprise.inject.spi.BeanManager addInternalBean(javax.enterprise.inject.spi.Bean<?> newBean)
This method is reserved for adding 'internal beans' like e.g. a BeanManagerBean,

Parameters:
newBean -
Returns:

addPassivationInfo

protected void addPassivationInfo(OwbBean<?> bean)
                           throws DefinitionException
Check if the bean is has a passivation id and add it to the id store.

Parameters:
bean -
Throws:
DefinitionException - if the id is not unique.

addContext

public javax.enterprise.inject.spi.BeanManager addContext(javax.enterprise.context.spi.Context context)

addCustomInterceptorClass

public void addCustomInterceptorClass(java.lang.Class<?> clazz)

addCustomDecoratorClass

public void addCustomDecoratorClass(java.lang.Class<?> clazz)

containsCustomInterceptorClass

public boolean containsCustomInterceptorClass(java.lang.Class<?> clazz)

containsCustomDecoratorClass

public boolean containsCustomDecoratorClass(java.lang.Class<?> clazz)

addInterceptorBindingType

public void addInterceptorBindingType(java.lang.Class<? extends java.lang.annotation.Annotation> bindingType,
                                      java.lang.annotation.Annotation... inheritsArray)

hasInterceptorBindingType

public boolean hasInterceptorBindingType(java.lang.Class<? extends java.lang.annotation.Annotation> bindingType)

getInterceptorBindingTypeMetaAnnotations

public java.util.Set<java.lang.annotation.Annotation> getInterceptorBindingTypeMetaAnnotations(java.lang.Class<? extends java.lang.annotation.Annotation> interceptorBindingType)

fireEvent

public void fireEvent(java.lang.Object event,
                      java.lang.annotation.Annotation... bindings)

Specified by:
fireEvent in interface javax.enterprise.inject.spi.BeanManager

getInstanceByName

@Deprecated
public java.lang.Object getInstanceByName(java.lang.String name,
                                                     javax.enterprise.context.spi.CreationalContext<?> creationalContext)
Deprecated. 


getInstanceToInject

@Deprecated
public <T> T getInstanceToInject(javax.enterprise.inject.spi.InjectionPoint injectionPoint,
                                            javax.enterprise.context.spi.CreationalContext<?> context)
Deprecated. 


getInstanceToInject

@Deprecated
public java.lang.Object getInstanceToInject(javax.enterprise.inject.spi.InjectionPoint injectionPoint)
Deprecated. 


getInstanceByType

@Deprecated
public <T> T getInstanceByType(java.lang.Class<T> type,
                                          java.lang.annotation.Annotation... bindingTypes)
Deprecated. 


getInstanceByType

@Deprecated
public <T> T getInstanceByType(javax.enterprise.util.TypeLiteral<T> type,
                                          java.lang.annotation.Annotation... bindingTypes)
Deprecated. 


resolveByName

@Deprecated
public java.util.Set<javax.enterprise.inject.spi.Bean<?>> resolveByName(java.lang.String name)
Deprecated. 


resolveByType

@Deprecated
public java.util.Set<javax.enterprise.inject.spi.Bean<?>> resolveByType(java.lang.Class<?> apiType,
                                                                                   java.lang.annotation.Annotation... bindingTypes)
Deprecated. 


resolveByType

@Deprecated
public java.util.Set<javax.enterprise.inject.spi.Bean<?>> resolveByType(javax.enterprise.util.TypeLiteral<?> apiType,
                                                                                   java.lang.annotation.Annotation... bindingTypes)
Deprecated. 


getComponents

public java.util.Set<javax.enterprise.inject.spi.Bean<?>> getComponents()

addDecorator

public javax.enterprise.inject.spi.BeanManager addDecorator(javax.enterprise.inject.spi.Decorator decorator)

addInterceptor

public javax.enterprise.inject.spi.BeanManager addInterceptor(javax.enterprise.inject.spi.Interceptor interceptor)

getInstance

@Deprecated
public <T> T getInstance(javax.enterprise.inject.spi.Bean<T> bean,
                                    javax.enterprise.context.spi.CreationalContext<?> creationalContext)
Deprecated. 


resolveDecorators

public java.util.List<javax.enterprise.inject.spi.Decorator<?>> resolveDecorators(java.util.Set<java.lang.reflect.Type> types,
                                                                                  java.lang.annotation.Annotation... bindingTypes)

Specified by:
resolveDecorators in interface javax.enterprise.inject.spi.BeanManager

resolveInterceptors

public java.util.List<javax.enterprise.inject.spi.Interceptor<?>> resolveInterceptors(javax.enterprise.inject.spi.InterceptionType type,
                                                                                      java.lang.annotation.Annotation... interceptorBindings)

Specified by:
resolveInterceptors in interface javax.enterprise.inject.spi.BeanManager

getBeans

public java.util.Set<javax.enterprise.inject.spi.Bean<?>> getBeans()

getInterceptors

public java.util.List<javax.enterprise.inject.spi.Interceptor<?>> getInterceptors()

getDecorators

public java.util.Set<javax.enterprise.inject.spi.Decorator<?>> getDecorators()

getReference

public javax.naming.Reference getReference()
                                    throws javax.naming.NamingException
Specified by:
getReference in interface javax.naming.Referenceable
Throws:
javax.naming.NamingException

parse

public javax.enterprise.inject.spi.BeanManager parse(java.io.InputStream xmlStream)
Parse the given XML input stream for adding XML defined artifacts.

Parameters:
xmlStream - beans xml definitions
Returns:
BeanManager instance

createAnnotatedType

public <T> javax.enterprise.inject.spi.AnnotatedType<T> createAnnotatedType(java.lang.Class<T> type)

Specified by:
createAnnotatedType in interface javax.enterprise.inject.spi.BeanManager

createCreationalContext

public <T> javax.enterprise.context.spi.CreationalContext<T> createCreationalContext(javax.enterprise.context.spi.Contextual<T> contextual)

Specified by:
createCreationalContext in interface javax.enterprise.inject.spi.BeanManager

getBeans

public java.util.Set<javax.enterprise.inject.spi.Bean<?>> getBeans(java.lang.reflect.Type beanType,
                                                                   java.lang.annotation.Annotation... bindings)

Specified by:
getBeans in interface javax.enterprise.inject.spi.BeanManager

getBeans

public java.util.Set<javax.enterprise.inject.spi.Bean<?>> getBeans(java.lang.String name)
Specified by:
getBeans in interface javax.enterprise.inject.spi.BeanManager

getELResolver

public javax.el.ELResolver getELResolver()
Specified by:
getELResolver in interface javax.enterprise.inject.spi.BeanManager

getInjectableReference

public java.lang.Object getInjectableReference(javax.enterprise.inject.spi.InjectionPoint injectionPoint,
                                               javax.enterprise.context.spi.CreationalContext<?> ownerCreationalContext)

Specified by:
getInjectableReference in interface javax.enterprise.inject.spi.BeanManager

getInterceptorBindingDefinition

public java.util.Set<java.lang.annotation.Annotation> getInterceptorBindingDefinition(java.lang.Class<? extends java.lang.annotation.Annotation> binding)

Specified by:
getInterceptorBindingDefinition in interface javax.enterprise.inject.spi.BeanManager

getMostSpecializedBean

@Deprecated
public <X> javax.enterprise.inject.spi.Bean<? extends X> getMostSpecializedBean(javax.enterprise.inject.spi.Bean<X> bean)
Deprecated. 


getPassivationCapableBean

public javax.enterprise.inject.spi.Bean<?> getPassivationCapableBean(java.lang.String id)
Specified by:
getPassivationCapableBean in interface javax.enterprise.inject.spi.BeanManager

getReference

public java.lang.Object getReference(javax.enterprise.inject.spi.Bean<?> bean,
                                     java.lang.reflect.Type beanType,
                                     javax.enterprise.context.spi.CreationalContext<?> creationalContext)

Specified by:
getReference in interface javax.enterprise.inject.spi.BeanManager

getStereotypeDefinition

public java.util.Set<java.lang.annotation.Annotation> getStereotypeDefinition(java.lang.Class<? extends java.lang.annotation.Annotation> stereotype)
Specified by:
getStereotypeDefinition in interface javax.enterprise.inject.spi.BeanManager

isQualifier

public boolean isQualifier(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Specified by:
isQualifier in interface javax.enterprise.inject.spi.BeanManager

isInterceptorBinding

public boolean isInterceptorBinding(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Specified by:
isInterceptorBinding in interface javax.enterprise.inject.spi.BeanManager

isScope

public boolean isScope(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Specified by:
isScope in interface javax.enterprise.inject.spi.BeanManager

isNormalScope

public boolean isNormalScope(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Specified by:
isNormalScope in interface javax.enterprise.inject.spi.BeanManager

isPassivatingScope

public boolean isPassivatingScope(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Specified by:
isPassivatingScope in interface javax.enterprise.inject.spi.BeanManager

isStereotype

public boolean isStereotype(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Specified by:
isStereotype in interface javax.enterprise.inject.spi.BeanManager

resolve

public <X> javax.enterprise.inject.spi.Bean<? extends X> resolve(java.util.Set<javax.enterprise.inject.spi.Bean<? extends X>> beans)
Specified by:
resolve in interface javax.enterprise.inject.spi.BeanManager

validate

public void validate(javax.enterprise.inject.spi.InjectionPoint injectionPoint)

Specified by:
validate in interface javax.enterprise.inject.spi.BeanManager

createInjectionTarget

public <T> javax.enterprise.inject.spi.InjectionTarget<T> createInjectionTarget(javax.enterprise.inject.spi.AnnotatedType<T> type)

Specified by:
createInjectionTarget in interface javax.enterprise.inject.spi.BeanManager

resolveObserverMethods

public <T> java.util.Set<javax.enterprise.inject.spi.ObserverMethod<? super T>> resolveObserverMethods(T event,
                                                                                                       java.lang.annotation.Annotation... qualifiers)
Specified by:
resolveObserverMethods in interface javax.enterprise.inject.spi.BeanManager

wrapExpressionFactory

public javax.el.ExpressionFactory wrapExpressionFactory(javax.el.ExpressionFactory expressionFactory)
Specified by:
wrapExpressionFactory in interface javax.enterprise.inject.spi.BeanManager

addAdditionalQualifier

public void addAdditionalQualifier(java.lang.Class<? extends java.lang.annotation.Annotation> qualifier)

addAdditionalAnnotatedType

public void addAdditionalAnnotatedType(javax.enterprise.inject.spi.AnnotatedType<?> annotatedType)

getAdditionalQualifiers

public java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> getAdditionalQualifiers()

addAdditionalScope

public void addAdditionalScope(ExternalScope additionalScope)

getAdditionalScopes

public java.util.List<ExternalScope> getAdditionalScopes()

getAdditionalAnnotatedTypes

public java.util.List<javax.enterprise.inject.spi.AnnotatedType<?>> getAdditionalAnnotatedTypes()

clear

public void clear()

isInUse

public boolean isInUse()


Copyright © 2008-2011 The Apache Software Foundation. All Rights Reserved.