Enum Class MergedAnnotations.SearchStrategy

java.lang.Object
java.lang.Enum<MergedAnnotations.SearchStrategy>
org.springframework.core.annotation.MergedAnnotations.SearchStrategy
All Implemented Interfaces:
Serializable, Comparable<MergedAnnotations.SearchStrategy>, Constable
Enclosing interface:
MergedAnnotations

public static enum MergedAnnotations.SearchStrategy extends Enum<MergedAnnotations.SearchStrategy>
Search strategies supported by MergedAnnotations.from(AnnotatedElement, SearchStrategy).

Each strategy creates a different set of aggregates that will be combined to create the final MergedAnnotations.

  • Enum Constant Details

    • 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 with Class 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 to INHERITED_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 to 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.
  • Method Details

    • values

      public static MergedAnnotations.SearchStrategy[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static MergedAnnotations.SearchStrategy valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (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 class has no constant with the specified name
      NullPointerException - if the argument is null