org.springframework.aop.support.annotation
Class AnnotationMatchingPointcut

java.lang.Object
  extended by 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
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
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