Package org.springframework.aop.support.annotation

# Class AnnotationClassFilter

java.lang.Object
org.springframework.aop.support.annotation.AnnotationClassFilter

All Implemented Interfaces:
  `ClassFilter`

public class AnnotationClassFilter extends Object implements ClassFilter
Simple ClassFilter that looks for a specific annotation being present on a class.

Since:
  2.0
Author:
  Juergen Hoeller
See Also:
  - `AnnotationMatchingPointcut`

## Field Summary

### Fields inherited from interface org.springframework.aop.ClassFilter

`TRUE`

## Constructor Summary

Constructors
Constructor
Description
`AnnotationClassFilter(Class<? extends Annotation> annotationType)`
Create a new AnnotationClassFilter for the given annotation type.
`AnnotationClassFilter(Class<? extends Annotation> annotationType, boolean checkInherited)`
Create a new AnnotationClassFilter for the given annotation type.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object other)`
`int`
`hashCode()`
`boolean`
`matches(Class<?> clazz)`
Should the pointcut apply to the given interface or target class?
`String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### AnnotationClassFilter

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

Parameters:
  `annotationType` - the annotation type to look for

### AnnotationClassFilter

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

Parameters:
  `annotationType` - the annotation type to look for
  `checkInherited` - whether to also check the superclasses and interfaces as well as meta-annotations for the annotation type (i.e. whether to use `AnnotatedElementUtils.hasAnnotation(java.lang.reflect.AnnotatedElement, java.lang.Class<? extends java.lang.annotation.Annotation>)` semantics instead of standard Java `Class.isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>)`)

## Method Details

### matches

public boolean matches(Class<?> clazz)
Description copied from interface: `ClassFilter`
Should the pointcut apply to the given interface or target class?

Specified by:
  `matches` in interface `ClassFilter`
Parameters:
  `clazz` - the candidate target class
Returns:
  whether the advice should apply to the given target class

### equals

public boolean equals(@Nullable Object other)

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### toString

public String toString()

Overrides:
  `toString` in class `Object`