@API(status=STABLE,
since="5.0")
public interface ParameterContext
ParameterContext
encapsulates the context in which an
Executable
will be invoked for a given
Parameter
.
A ParameterContext
is used to support parameter resolution via
a ParameterResolver
.
ParameterResolver
,
Parameter
,
Executable
,
Method
,
Constructor
Modifier and Type | Method and Description |
---|---|
<A extends Annotation> |
findAnnotation(Class<A> annotationType)
Find the first annotation of
annotationType that is either
present or meta-present on the Parameter for
this context. |
<A extends Annotation> |
findRepeatableAnnotations(Class<A> annotationType)
Find all repeatable annotations of
annotationType that are either present or
meta-present on the Parameter for this context. |
default Executable |
getDeclaringExecutable()
|
int |
getIndex()
Get the index of the
Parameter for this context within the
parameter list of the Executable that
declares the parameter. |
Parameter |
getParameter()
Get the
Parameter for this context. |
Optional<Object> |
getTarget()
Get the target on which the
Executable
that declares the Parameter for this context will
be invoked, if available. |
boolean |
isAnnotated(Class<? extends Annotation> annotationType)
Determine if an annotation of
annotationType is either
present or meta-present on the Parameter for
this context. |
Parameter getParameter()
Parameter
for this context.
When searching for annotations on the parameter in this context,
favor isAnnotated(Class)
, findAnnotation(Class)
, and
findRepeatableAnnotations(Class)
over methods in the
Parameter
API due to a bug in javac
on JDK versions prior
to JDK 9.
null
getIndex()
int getIndex()
Parameter
for this context within the
parameter list of the Executable
that
declares the parameter.getParameter()
,
Executable.getParameters()
default Executable getDeclaringExecutable()
Executable
; never null
Parameter.getDeclaringExecutable()
Optional<Object> getTarget()
Executable
that declares the Parameter
for this context will
be invoked, if available.Optional
containing the target on which the
Executable
will be invoked; never null
but will be
empty if the Executable
is a constructor or a
static
method.boolean isAnnotated(Class<? extends Annotation> annotationType)
annotationType
is either
present or meta-present on the Parameter
for
this context.
Favor the use of this method over directly invoking
AnnotatedElement.isAnnotationPresent(Class)
due to a bug in javac
on JDK versions prior to JDK 9.
annotationType
- the annotation type to search for; never null
true
if the annotation is present or meta-presentfindAnnotation(Class)
,
findRepeatableAnnotations(Class)
<A extends Annotation> Optional<A> findAnnotation(Class<A> annotationType)
annotationType
that is either
present or meta-present on the Parameter
for
this context.
Favor the use of this method over directly invoking annotation lookup
methods in the Parameter
API due to a bug in javac
on JDK
versions prior to JDK 9.
A
- the annotation typeannotationType
- the annotation type to search for; never null
Optional
containing the annotation; never null
but
potentially emptyisAnnotated(Class)
,
findRepeatableAnnotations(Class)
<A extends Annotation> List<A> findRepeatableAnnotations(Class<A> annotationType)
annotationType
that are either present or
meta-present on the Parameter
for this context.
Favor the use of this method over directly invoking annotation lookup
methods in the Parameter
API due to a bug in javac
on JDK
versions prior to JDK 9.
A
- the annotation typeannotationType
- the repeatable annotation type to search for; never
null
null
nor
mutable, but potentially emptyisAnnotated(Class)
,
findAnnotation(Class)
,
Repeatable
Copyright © 2024. All rights reserved.