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
Modifier and TypeMethodDescriptionObtain an instance ofAnnotatedField
orAnnotatedParameter
, depending upon whether the injection point is an injected field or a constructor/method parameter.Bean
<?> getBean()
Get theBean
object representing the bean that defines the injection point.Get theField
object in the case of field injection, theMethod
object in the case of method parameter injection or theConstructor
object in the case of constructor parameter injection.Get the required qualifiers of the injection point.getType()
Get the required type of injection point.boolean
Determines if the injection point is a decorator delegate injection point.boolean
Determines if the injection is a transient field.
-
Method Details
-
getType
Type getType()Get the required type of injection point.- Returns:
- the required type
-
getQualifiers
Set<Annotation> getQualifiers()Get the required qualifiers of the injection point.- Returns:
- the required qualifiers
-
getBean
Bean<?> getBean()Get theBean
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
Member getMember()Get theField
object in the case of field injection, theMethod
object in the case of method parameter injection or theConstructor
object in the case of constructor parameter injection.- Returns:
- the member
-
getAnnotated
Annotated getAnnotated()Obtain an instance ofAnnotatedField
orAnnotatedParameter
, depending upon whether the injection point is an injected field or a constructor/method parameter.- Returns:
- an
AnnotatedField
orAnnotatedParameter
-
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, andfalse
otherwise
-
isTransient
boolean isTransient()Determines if the injection is a transient field.- Returns:
true
if the injection point is a transient field, andfalse
otherwise
-