Class AnnotationTypeFilter

java.lang.Object
org.springframework.core.type.filter.AbstractTypeHierarchyTraversingFilter
org.springframework.core.type.filter.AnnotationTypeFilter
All Implemented Interfaces:
TypeFilter

public class AnnotationTypeFilter extends AbstractTypeHierarchyTraversingFilter
A simple TypeFilter which matches classes with a given annotation, checking inherited annotations as well.

By default, the matching logic mirrors that of AnnotationUtils.getAnnotation(java.lang.reflect.AnnotatedElement, Class), supporting annotations that are present or meta-present for a single level of meta-annotations. The search for meta-annotations may be disabled. Similarly, the search for annotations on interfaces may optionally be enabled. Consult the various constructors in this class for details.

Since:
2.5
Author:
Mark Fisher, Ramnivas Laddad, Juergen Hoeller, Sam Brannen
  • Constructor Details

    • AnnotationTypeFilter

      public AnnotationTypeFilter(Class<? extends Annotation> annotationType)
      Create a new AnnotationTypeFilter for the given annotation type.

      The filter will also match meta-annotations. To disable the meta-annotation matching, use the constructor that accepts a 'considerMetaAnnotations' argument.

      The filter will not match interfaces.

      Parameters:
      annotationType - the annotation type to match
    • AnnotationTypeFilter

      public AnnotationTypeFilter(Class<? extends Annotation> annotationType, boolean considerMetaAnnotations)
      Create a new AnnotationTypeFilter for the given annotation type.

      The filter will not match interfaces.

      Parameters:
      annotationType - the annotation type to match
      considerMetaAnnotations - whether to also match on meta-annotations
    • AnnotationTypeFilter

      public AnnotationTypeFilter(Class<? extends Annotation> annotationType, boolean considerMetaAnnotations, boolean considerInterfaces)
      Create a new AnnotationTypeFilter for the given annotation type.
      Parameters:
      annotationType - the annotation type to match
      considerMetaAnnotations - whether to also match on meta-annotations
      considerInterfaces - whether to also match interfaces
  • Method Details