Package org.springframework.aop.support.annotation

# Class AnnotationMatchingPointcut

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

All Implemented Interfaces:
  `Pointcut`

public class AnnotationMatchingPointcut extends Object implements Pointcut
Simple `Pointcut` that looks for a specific annotation being present on a class or method.

Since:
  2.0
Author:
  Juergen Hoeller, Sam Brannen
See Also:
  - `AnnotationClassFilter`
  - `AnnotationMethodMatcher`

## Field Summary

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

`TRUE`

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object other)`
`static AnnotationMatchingPointcut`
`forClassAnnotation(Class<? extends Annotation> annotationType)`
Factory method for an AnnotationMatchingPointcut that matches for the specified annotation at the class level.
`static AnnotationMatchingPointcut`
`forMethodAnnotation(Class<? extends Annotation> annotationType)`
Factory method for an AnnotationMatchingPointcut that matches for the specified annotation at the method level.
`ClassFilter`
`getClassFilter()`
Return the ClassFilter for this pointcut.
`MethodMatcher`
`getMethodMatcher()`
Return the MethodMatcher for this pointcut.
`int`
`hashCode()`
`String`
`toString()`

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

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

## Constructor Details

### AnnotationMatchingPointcut

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

Parameters:
  `classAnnotationType` - the annotation type to look for at the class level

### AnnotationMatchingPointcut

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

Parameters:
  `classAnnotationType` - the annotation type to look for at the class level
  `checkInherited` - whether to also check the superclasses and interfaces as well as meta-annotations for the annotation type
See Also:
  - `AnnotationClassFilter(Class, boolean)`

### AnnotationMatchingPointcut

public AnnotationMatchingPointcut(@Nullable Class<? extends Annotation> classAnnotationType, @Nullable Class<? extends Annotation> methodAnnotationType)
Create a new AnnotationMatchingPointcut for the given annotation types.

Parameters:
  `classAnnotationType` - the annotation type to look for at the class level (can be `null`)
  `methodAnnotationType` - the annotation type to look for at the method level (can be `null`)

### AnnotationMatchingPointcut

public AnnotationMatchingPointcut(@Nullable Class<? extends Annotation> classAnnotationType, @Nullable Class<? extends Annotation> methodAnnotationType, boolean checkInherited)
Create a new AnnotationMatchingPointcut for the given annotation types.

Parameters:
  `classAnnotationType` - the annotation type to look for at the class level (can be `null`)
  `methodAnnotationType` - the annotation type to look for at the method level (can be `null`)
  `checkInherited` - whether to also check the superclasses and interfaces as well as meta-annotations for the annotation type
Since:
  5.0
See Also:
  - `AnnotationClassFilter(Class, boolean)`
  - `AnnotationMethodMatcher(Class, boolean)`

## Method Details

### getClassFilter

public ClassFilter getClassFilter()
Description copied from interface: `Pointcut`
Return the ClassFilter for this pointcut.

Specified by:
  `getClassFilter` in interface `Pointcut`
Returns:
  the ClassFilter (never `null`)

### getMethodMatcher

public MethodMatcher getMethodMatcher()
Description copied from interface: `Pointcut`
Return the MethodMatcher for this pointcut.

Specified by:
  `getMethodMatcher` in interface `Pointcut`
Returns:
  the MethodMatcher (never `null`)

### 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`

### forClassAnnotation

public static AnnotationMatchingPointcut forClassAnnotation(Class<? extends Annotation> annotationType)
Factory method for an AnnotationMatchingPointcut that matches for the specified annotation at the class level.

Parameters:
  `annotationType` - the annotation type to look for at the class level
Returns:
  the corresponding AnnotationMatchingPointcut

### forMethodAnnotation

public static AnnotationMatchingPointcut forMethodAnnotation(Class<? extends Annotation> annotationType)
Factory method for an AnnotationMatchingPointcut that matches for the specified annotation at the method level.

Parameters:
  `annotationType` - the annotation type to look for at the method level
Returns:
  the corresponding AnnotationMatchingPointcut