Class 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>
    Basic InjectionTarget implementation. The implementation supports:
    • @Inject injection + initializers
    • @PostConstruct/@PreDestroy callbacks
    Interception and decoration is not supported but can be added using extension points.
    Author:
    Pete Muir, Jozef Hartinger
    • Method Detail

      • createNonCdiInterceptor

        public static <T> BasicInjectionTarget<T> createNonCdiInterceptor​(EnhancedAnnotatedType<T> type,
                                                                          BeanManagerImpl beanManager)
        Creates InjectionTarget for interceptors which do not have associated Interceptor. These interceptors are a result of using Interceptors annotation directly on the target class.
      • produce

        public T produce​(javax.enterprise.context.spi.CreationalContext<T> ctx)
        Specified by:
        produce in interface javax.enterprise.inject.spi.Producer<T>
      • inject

        public void inject​(T instance,
                           javax.enterprise.context.spi.CreationalContext<T> ctx)
        Specified by:
        inject in interface javax.enterprise.inject.spi.InjectionTarget<T>
      • postConstruct

        public void postConstruct​(T instance)
        Specified by:
        postConstruct in interface javax.enterprise.inject.spi.InjectionTarget<T>
      • preDestroy

        public void preDestroy​(T instance)
        Specified by:
        preDestroy in interface javax.enterprise.inject.spi.InjectionTarget<T>
      • dispose

        public void dispose​(T instance)
        Specified by:
        dispose in interface javax.enterprise.inject.spi.Producer<T>
      • getInjectionPoints

        public Set<javax.enterprise.inject.spi.InjectionPoint> getInjectionPoints()
        Specified by:
        getInjectionPoints in interface javax.enterprise.inject.spi.Producer<T>
      • setInstantiator

        public void setInstantiator​(Instantiator<T> instantiator)
      • hasInterceptors

        public boolean hasInterceptors()
      • hasDecorators

        public boolean hasDecorators()
      • initializeAfterBeanDiscovery

        protected void initializeAfterBeanDiscovery​(EnhancedAnnotatedType<T> annotatedType)
      • getAnnotatedType

        public javax.enterprise.inject.spi.AnnotatedType<T> getAnnotatedType()
        Specified by:
        getAnnotatedType in interface org.jboss.weld.manager.api.WeldInjectionTarget<T>
      • getInjector

        public Injector<T> getInjector()
      • getBean

        public javax.enterprise.inject.spi.Bean<T> getBean()
        Description copied from class: AbstractProducer
        Returns a Bean this producer is associated with or null if no such bean exists.
        Specified by:
        getBean in class AbstractProducer<T>