Interface AnnotationFilter

Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface AnnotationFilter
Callback interface that can be used to filter specific annotation types.

Note that the MergedAnnotations model (which this interface has been designed for) always ignores lang annotations according to the PLAIN filter (for efficiency reasons). Any additional filters and even custom filter implementations apply within this boundary and may only narrow further from here.

Since:
5.2
Author:
Phillip Webb, Juergen Hoeller
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final AnnotationFilter
    AnnotationFilter that always matches and can be used when no relevant annotation types are expected to be present at all.
    static final AnnotationFilter
    AnnotationFilter that matches annotations in the java and javax packages and their subpackages.
    static final AnnotationFilter
    Deprecated.
    as of 5.2.6 since the MergedAnnotations model always ignores lang annotations according to the PLAIN filter (for efficiency reasons)
    static final AnnotationFilter
    AnnotationFilter that matches annotations in the java.lang and org.springframework.lang packages and their subpackages.
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    matches(Annotation annotation)
    Test if the given annotation matches the filter.
    default boolean
    matches(Class<?> type)
    Test if the given type matches the filter.
    boolean
    matches(String typeName)
    Test if the given type name matches the filter.
    packages(String... packages)
    Create a new AnnotationFilter that matches annotations in the specified packages.
  • Field Details

  • Method Details

    • matches

      default boolean matches(Annotation annotation)
      Test if the given annotation matches the filter.
      Parameters:
      annotation - the annotation to test
      Returns:
      true if the annotation matches
    • matches

      default boolean matches(Class<?> type)
      Test if the given type matches the filter.
      Parameters:
      type - the annotation type to test
      Returns:
      true if the annotation matches
    • matches

      boolean matches(String typeName)
      Test if the given type name matches the filter.
      Parameters:
      typeName - the fully qualified class name of the annotation type to test
      Returns:
      true if the annotation matches
    • packages

      static AnnotationFilter packages(String... packages)
      Create a new AnnotationFilter that matches annotations in the specified packages.
      Parameters:
      packages - the annotation packages that should match
      Returns:
      a new AnnotationFilter instance