public static enum MergedAnnotations.SearchStrategy extends Enum<MergedAnnotations.SearchStrategy>
MergedAnnotations.from(AnnotatedElement, SearchStrategy)
.
Each strategy creates a different set of aggregates that will be
combined to create the final MergedAnnotations
.
Enum Constant and Description |
---|
DIRECT
Find only directly declared annotations, without considering
@Inherited annotations and without searching
superclasses or implemented interfaces. |
INHERITED_ANNOTATIONS
Find all directly declared annotations as well as any
@Inherited superclass annotations. |
SUPERCLASS
Find all directly declared and superclass annotations.
|
TYPE_HIERARCHY
Perform a full search of the entire type hierarchy, including
superclasses and implemented interfaces.
|
TYPE_HIERARCHY_AND_ENCLOSING_CLASSES
Perform a full search of the entire type hierarchy on the source
and any enclosing classes.
|
Modifier and Type | Method and Description |
---|---|
static MergedAnnotations.SearchStrategy |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static MergedAnnotations.SearchStrategy[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final MergedAnnotations.SearchStrategy DIRECT
@Inherited
annotations and without searching
superclasses or implemented interfaces.public static final MergedAnnotations.SearchStrategy INHERITED_ANNOTATIONS
@Inherited
superclass annotations. This strategy
is only really useful when used with Class
types since the
@Inherited
annotation is ignored for all other
annotated elements. This strategy does
not search implemented interfaces.public static final MergedAnnotations.SearchStrategy SUPERCLASS
INHERITED_ANNOTATIONS
except the annotations
do not need to be meta-annotated with @Inherited
.
This strategy does not search implemented interfaces.public static final MergedAnnotations.SearchStrategy TYPE_HIERARCHY
@Inherited
.public static final MergedAnnotations.SearchStrategy TYPE_HIERARCHY_AND_ENCLOSING_CLASSES
TYPE_HIERARCHY
except that enclosing classes are also searched. Superclass annotations do not
need to be meta-annotated with @Inherited
. When
searching a Method
source, this strategy is identical to
TYPE_HIERARCHY
.public static MergedAnnotations.SearchStrategy[] values()
for (MergedAnnotations.SearchStrategy c : MergedAnnotations.SearchStrategy.values()) System.out.println(c);
public static MergedAnnotations.SearchStrategy valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null