Class BasicInjectionTarget<T>
- java.lang.Object
-
- org.jboss.weld.injection.producer.AbstractProducer<T>
-
- org.jboss.weld.injection.producer.BasicInjectionTarget<T>
-
- All Implemented Interfaces:
javax.enterprise.inject.spi.InjectionTarget<T>
,javax.enterprise.inject.spi.Producer<T>
,org.jboss.weld.manager.api.WeldInjectionTarget<T>
- Direct Known Subclasses:
BeanInjectionTarget
,NonProducibleInjectionTarget
public class BasicInjectionTarget<T> extends AbstractProducer<T> implements org.jboss.weld.manager.api.WeldInjectionTarget<T>
BasicInjectionTarget
implementation. The implementation supports:- @Inject injection + initializers
- @PostConstruct/@PreDestroy callbacks
- Author:
- Pete Muir, Jozef Hartinger
-
-
Field Summary
Fields Modifier and Type Field Description protected BeanManagerImpl
beanManager
-
Constructor Summary
Constructors Modifier Constructor Description protected
BasicInjectionTarget(EnhancedAnnotatedType<T> type, javax.enterprise.inject.spi.Bean<T> bean, BeanManagerImpl beanManager, Injector<T> injector, LifecycleCallbackInvoker<T> invoker)
protected
BasicInjectionTarget(EnhancedAnnotatedType<T> type, javax.enterprise.inject.spi.Bean<T> bean, BeanManagerImpl beanManager, Injector<T> injector, LifecycleCallbackInvoker<T> invoker, Instantiator<T> instantiator)
protected
BasicInjectionTarget(EnhancedAnnotatedType<T> type, javax.enterprise.inject.spi.Bean<T> bean, BeanManagerImpl beanManager, Instantiator<T> instantiator)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
checkType(EnhancedAnnotatedType<T> type)
static <T> BasicInjectionTarget<T>
create(EnhancedAnnotatedType<T> type, javax.enterprise.inject.spi.Bean<T> bean, BeanManagerImpl beanManager, Injector<T> injector, LifecycleCallbackInvoker<T> invoker)
static <T> BasicInjectionTarget<T>
createDefault(EnhancedAnnotatedType<T> type, javax.enterprise.inject.spi.Bean<T> bean, BeanManagerImpl beanManager, Instantiator<T> instantiator)
static <T> BasicInjectionTarget<T>
createNonCdiInterceptor(EnhancedAnnotatedType<T> type, BeanManagerImpl beanManager)
CreatesInjectionTarget
for interceptors which do not have associatedInterceptor
.void
dispose(T instance)
javax.enterprise.inject.spi.AnnotatedType<T>
getAnnotated()
javax.enterprise.inject.spi.AnnotatedType<T>
getAnnotatedType()
javax.enterprise.inject.spi.Bean<T>
getBean()
Returns aBean
this producer is associated with or null if no such bean exists.BeanManagerImpl
getBeanManager()
Set<javax.enterprise.inject.spi.InjectionPoint>
getInjectionPoints()
Injector<T>
getInjector()
Instantiator<T>
getInstantiator()
LifecycleCallbackInvoker<T>
getLifecycleCallbackInvoker()
protected SlimAnnotatedType<T>
getType()
boolean
hasDecorators()
boolean
hasInterceptors()
protected void
initializeAfterBeanDiscovery(EnhancedAnnotatedType<T> annotatedType)
protected Instantiator<T>
initInstantiator(EnhancedAnnotatedType<T> type, javax.enterprise.inject.spi.Bean<T> bean, BeanManagerImpl beanManager, Set<javax.enterprise.inject.spi.InjectionPoint> injectionPoints)
Returns an instantiator that will be used to create a new instance of a given component.void
inject(T instance, javax.enterprise.context.spi.CreationalContext<T> ctx)
void
postConstruct(T instance)
void
preDestroy(T instance)
T
produce(javax.enterprise.context.spi.CreationalContext<T> ctx)
void
setInstantiator(Instantiator<T> instantiator)
String
toString()
-
Methods inherited from class org.jboss.weld.injection.producer.AbstractProducer
checkDelegateInjectionPoints, equals, hashCode
-
-
-
-
Field Detail
-
beanManager
protected final BeanManagerImpl beanManager
-
-
Constructor Detail
-
BasicInjectionTarget
protected BasicInjectionTarget(EnhancedAnnotatedType<T> type, javax.enterprise.inject.spi.Bean<T> bean, BeanManagerImpl beanManager, Injector<T> injector, LifecycleCallbackInvoker<T> invoker)
-
BasicInjectionTarget
protected BasicInjectionTarget(EnhancedAnnotatedType<T> type, javax.enterprise.inject.spi.Bean<T> bean, BeanManagerImpl beanManager, Injector<T> injector, LifecycleCallbackInvoker<T> invoker, Instantiator<T> instantiator)
-
BasicInjectionTarget
protected BasicInjectionTarget(EnhancedAnnotatedType<T> type, javax.enterprise.inject.spi.Bean<T> bean, BeanManagerImpl beanManager, Instantiator<T> instantiator)
-
-
Method Detail
-
create
public static <T> BasicInjectionTarget<T> create(EnhancedAnnotatedType<T> type, javax.enterprise.inject.spi.Bean<T> bean, BeanManagerImpl beanManager, Injector<T> injector, LifecycleCallbackInvoker<T> invoker)
-
createDefault
public static <T> BasicInjectionTarget<T> createDefault(EnhancedAnnotatedType<T> type, javax.enterprise.inject.spi.Bean<T> bean, BeanManagerImpl beanManager, Instantiator<T> instantiator)
-
createNonCdiInterceptor
public static <T> BasicInjectionTarget<T> createNonCdiInterceptor(EnhancedAnnotatedType<T> type, BeanManagerImpl beanManager)
CreatesInjectionTarget
for interceptors which do not have associatedInterceptor
. These interceptors are a result of usingInterceptors
annotation directly on the target class.
-
checkType
protected void checkType(EnhancedAnnotatedType<T> type)
-
produce
public T produce(javax.enterprise.context.spi.CreationalContext<T> ctx)
- Specified by:
produce
in interfacejavax.enterprise.inject.spi.Producer<T>
-
inject
public void inject(T instance, javax.enterprise.context.spi.CreationalContext<T> ctx)
- Specified by:
inject
in interfacejavax.enterprise.inject.spi.InjectionTarget<T>
-
postConstruct
public void postConstruct(T instance)
- Specified by:
postConstruct
in interfacejavax.enterprise.inject.spi.InjectionTarget<T>
-
preDestroy
public void preDestroy(T instance)
- Specified by:
preDestroy
in interfacejavax.enterprise.inject.spi.InjectionTarget<T>
-
dispose
public void dispose(T instance)
- Specified by:
dispose
in interfacejavax.enterprise.inject.spi.Producer<T>
-
getInjectionPoints
public Set<javax.enterprise.inject.spi.InjectionPoint> getInjectionPoints()
- Specified by:
getInjectionPoints
in interfacejavax.enterprise.inject.spi.Producer<T>
-
getType
protected SlimAnnotatedType<T> getType()
-
getBeanManager
public BeanManagerImpl getBeanManager()
-
getInstantiator
public Instantiator<T> getInstantiator()
-
setInstantiator
public void setInstantiator(Instantiator<T> instantiator)
-
hasInterceptors
public boolean hasInterceptors()
-
hasDecorators
public boolean hasDecorators()
-
initializeAfterBeanDiscovery
protected void initializeAfterBeanDiscovery(EnhancedAnnotatedType<T> annotatedType)
-
initInstantiator
protected Instantiator<T> initInstantiator(EnhancedAnnotatedType<T> type, javax.enterprise.inject.spi.Bean<T> bean, BeanManagerImpl beanManager, Set<javax.enterprise.inject.spi.InjectionPoint> injectionPoints)
Returns an instantiator that will be used to create a new instance of a given component. If the instantiator uses a constructor with injection points, the implementation of theinitInstantiator(EnhancedAnnotatedType, Bean, BeanManagerImpl, Set)
method is supposed to register all these injection points within the injectionPoints set passed in as a parameter.
-
getAnnotated
public javax.enterprise.inject.spi.AnnotatedType<T> getAnnotated()
- Specified by:
getAnnotated
in classAbstractProducer<T>
-
getAnnotatedType
public javax.enterprise.inject.spi.AnnotatedType<T> getAnnotatedType()
- Specified by:
getAnnotatedType
in interfaceorg.jboss.weld.manager.api.WeldInjectionTarget<T>
-
getLifecycleCallbackInvoker
public LifecycleCallbackInvoker<T> getLifecycleCallbackInvoker()
-
getBean
public javax.enterprise.inject.spi.Bean<T> getBean()
Description copied from class:AbstractProducer
Returns aBean
this producer is associated with or null if no such bean exists.- Specified by:
getBean
in classAbstractProducer<T>
-
-