Module jakarta.cdi

Interface InjectionPoint


  • public interface InjectionPoint

    Provides access to metadata about an injection point. May represent an injected field or a parameter of a bean constructor, initializer method, producer method, disposer method or observer method.

    If the injection point is a dynamically selected reference obtained then the metadata obtain reflects the injection point of the Instance, with the required type and any additional required qualifiers defined by Instance.select().

    Occasionally, a bean with scope @Dependent needs to access metadata relating to the object to which it belongs. The bean may inject an InjectionPoint representing the injection point into which the bean was injected.

    For example, the following producer method creates injectable Logger s. The log category of a Logger depends upon the class of the object into which it is injected.

     @Produces
     Logger createLogger(InjectionPoint injectionPoint) {
         return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
     }
     

    Only dependent objects, may obtain information about the injection point to which they belong.

    Author:
    Gavin King, Pete Muir
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Annotated getAnnotated()
      Obtain an instance of AnnotatedField or AnnotatedParameter, depending upon whether the injection point is an injected field or a constructor/method parameter.
      Bean<?> getBean()
      Get the Bean object representing the bean that defines the injection point.
      java.lang.reflect.Member getMember()
      Get the Field object in the case of field injection, the Method object in the case of method parameter injection or the Constructor object in the case of constructor parameter injection.
      java.util.Set<java.lang.annotation.Annotation> getQualifiers()
      Get the required qualifiers of the injection point.
      java.lang.reflect.Type getType()
      Get the required type of injection point.
      boolean isDelegate()
      Determines if the injection point is a decorator delegate injection point.
      boolean isTransient()
      Determines if the injection is a transient field.
    • Method Detail

      • getType

        java.lang.reflect.Type getType()
        Get the required type of injection point.
        Returns:
        the required type
      • getQualifiers

        java.util.Set<java.lang.annotation.Annotation> getQualifiers()
        Get the required qualifiers of the injection point.
        Returns:
        the required qualifiers
      • getBean

        Bean<?> getBean()
        Get the Bean object representing the bean that defines the injection point. If the injection point does not belong to a bean, return a null value.
        Returns:
        the Bean object representing bean that defines the injection point, of null if the injection point does not belong to a bean
      • getMember

        java.lang.reflect.Member getMember()
        Get the Field object in the case of field injection, the Method object in the case of method parameter injection or the Constructor object in the case of constructor parameter injection.
        Returns:
        the member
      • getAnnotated

        Annotated getAnnotated()
        Obtain an instance of AnnotatedField or AnnotatedParameter, depending upon whether the injection point is an injected field or a constructor/method parameter.
        Returns:
        an AnnotatedField or AnnotatedParameter
      • isDelegate

        boolean isDelegate()
        Determines if the injection point is a decorator delegate injection point.
        Returns:
        true if the injection point is a decorator delegate injection point, and false otherwise
      • isTransient

        boolean isTransient()
        Determines if the injection is a transient field.
        Returns:
        true if the injection point is a transient field, and false otherwise