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 Java 5 annotation being present on a `class` or `method`.

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

### Field Summary

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

`TRUE`

### Constructor Summary

Constructors
Constructor and 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 type.

### Method Summary

Methods
`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.

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### 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 explicitly check the superclasses and interfaces for the annotation type as well (even if the annotation type is not marked as inherited itself)

#### AnnotationMatchingPointcut

    public AnnotationMatchingPointcut(Class<? extends Annotation> classAnnotationType,
                              Class<? extends Annotation> methodAnnotationType)

Create a new AnnotationMatchingPointcut for the given annotation type.

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

### Method Detail

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

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