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 DIRECTFind only directly declared annotations, without considering@Inheritedannotations and without searching superclasses or implemented interfaces.INHERITED_ANNOTATIONSFind all directly declared annotations as well as any@Inheritedsuperclass annotations.SUPERCLASSFind all directly declared and superclass annotations.TYPE_HIERARCHYPerform a full search of the entire type hierarchy, including superclasses and implemented interfaces.TYPE_HIERARCHY_AND_ENCLOSING_CLASSESPerform 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.SearchStrategyvalueOf(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@Inheritedannotations 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@Inheritedsuperclass annotations. This strategy is only really useful when used withClasstypes since the@Inheritedannotation 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_ANNOTATIONSexcept 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_HIERARCHYexcept that enclosing classes are also searched. Superclass annotations do not need to be meta-annotated with@Inherited. When searching aMethodsource, 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