Enum MergedAnnotations.SearchStrategy
- java.lang.Object
- java.lang.Enum<MergedAnnotations.SearchStrategy>
- org.springframework.core.annotation.MergedAnnotations.SearchStrategy
- All Implemented Interfaces:
Serializable
,Comparable<MergedAnnotations.SearchStrategy>
- Enclosing interface:
- MergedAnnotations
public static enum MergedAnnotations.SearchStrategy extends Enum<MergedAnnotations.SearchStrategy>
Search strategies supported byMergedAnnotations.from(AnnotatedElement, SearchStrategy)
.Each strategy creates a different set of aggregates that will be combined to create the final
MergedAnnotations
.
Enum Constant Summary
Enum Constants Enum Constant 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.
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method 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.
Enum Constant Detail
DIRECT
public static final MergedAnnotations.SearchStrategy DIRECT
Find only directly declared annotations, without considering@Inherited
annotations and without searching superclasses or implemented interfaces.
INHERITED_ANNOTATIONS
public static final MergedAnnotations.SearchStrategy INHERITED_ANNOTATIONS
Find all directly declared annotations as well as any@Inherited
superclass annotations. This strategy is only really useful when used withClass
types since the@Inherited
annotation is ignored for all other annotated elements. This strategy does not search implemented interfaces.
SUPERCLASS
public static final MergedAnnotations.SearchStrategy SUPERCLASS
Find all directly declared and superclass annotations. This strategy is similar toINHERITED_ANNOTATIONS
except the annotations do not need to be meta-annotated with@Inherited
. This strategy does not search implemented interfaces.
TYPE_HIERARCHY
public static final MergedAnnotations.SearchStrategy TYPE_HIERARCHY
Perform a full search of the entire type hierarchy, including superclasses and implemented interfaces. Superclass annotations do not need to be meta-annotated with@Inherited
.
TYPE_HIERARCHY_AND_ENCLOSING_CLASSES
public static final MergedAnnotations.SearchStrategy TYPE_HIERARCHY_AND_ENCLOSING_CLASSES
Perform a full search of the entire type hierarchy on the source and any enclosing classes. This strategy is similar toTYPE_HIERARCHY
except that enclosing classes are also searched. Superclass annotations do not need to be meta-annotated with@Inherited
. When searching aMethod
source, this strategy is identical toTYPE_HIERARCHY
.
Method Detail
values
public static MergedAnnotations.SearchStrategy[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (MergedAnnotations.SearchStrategy c : MergedAnnotations.SearchStrategy.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
valueOf
public static MergedAnnotations.SearchStrategy valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null