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.
Modifier and Type | Method and 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.
|
java.lang.reflect.Type getType()
java.util.Set<java.lang.annotation.Annotation> getQualifiers()
Bean<?> getBean()
Bean
object representing the bean that defines the injection point. If the
injection point does not belong to a bean, return a null value.Bean
object representing bean that defines the injection point, of null
if the injection point does not belong to a beanjava.lang.reflect.Member getMember()
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.Annotated getAnnotated()
AnnotatedField
or
AnnotatedParameter
, depending upon whether the injection point is an injected field
or a constructor/method parameter.AnnotatedField
or AnnotatedParameter
boolean isDelegate()
true
if the injection point is a decorator delegate injection point, and false
otherwiseboolean isTransient()
true
if the injection point is a transient field, and false
otherwise