Interface InjectionServices

  • All Superinterfaces:
    Service

    public interface InjectionServices
    extends Service
    Provides callbacks to the container when Weld performs injection on an InjectionTarget, managed bean or session bean This service may be used to provide EE-style injection. The container must respect any modifications made to type via the container lifecycle events. Container lifecycle events may alter the annotations placed on the type, it's members, and the formal parameters of it's members. InjectionContext.getAnnotatedType() gives access to the modified state of the type. InjectionServices is a per-BeanDeploymentArchive service.
    Author:
    Pete Muir, Jozef Hartinger
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      <T> void aroundInject​(InjectionContext<T> injectionContext)
      Callback for injection.
      <T> void registerInjectionTarget​(jakarta.enterprise.inject.spi.InjectionTarget<T> injectionTarget, jakarta.enterprise.inject.spi.AnnotatedType<T> annotatedType)
      This method is invoked during Weld bootstrap and allows an integrator to process an InjectionTarget that may be injected at runtime.
      • Methods inherited from interface org.jboss.weld.bootstrap.api.Service

        cleanup
    • Method Detail

      • aroundInject

        <T> void aroundInject​(InjectionContext<T> injectionContext)
        Callback for injection. Call InjectionContext.proceed() to cause CDI-style injection to occur.
        Type Parameters:
        T - the type of the injected instance
        Parameters:
        injectionContext - the context in which injection occurs
      • registerInjectionTarget

        <T> void registerInjectionTarget​(jakarta.enterprise.inject.spi.InjectionTarget<T> injectionTarget,
                                         jakarta.enterprise.inject.spi.AnnotatedType<T> annotatedType)

        This method is invoked during Weld bootstrap and allows an integrator to process an InjectionTarget that may be injected at runtime. The implementation may want to read the metadata on resource injection point and cache it so that it does not need to repeat metadata parsing on each aroundInject(InjectionContext) invocation.

        Furthermore, the integrator is responsible for validating resource injection points (as defined in CDI 1.1 3.7.1).

        For each resource injection of a type:

        • @Resource
        • @PersistenceContext
        • @PersistenceUnit
        • @EJB injection
        • @WebServiceRef

        the implementation must validate the type of the injection point. If the injection point type differs from the type of the matching object in the Java EE component environment, the implementation throws DefinitionException.

        Note that this method may be called at runtime if the application uses an InjectionTargetFactory to create injection target instances at runtime.

        Type Parameters:
        T - the type of the injected instance
        Parameters:
        injectionTarget - the injection target to be processed
        annotatedType - the AnnotatedType metadata for the given injection target