Class AnnotationMethodMatcher
- java.lang.Object
- org.springframework.aop.support.StaticMethodMatcher
- org.springframework.aop.support.annotation.AnnotationMethodMatcher
- All Implemented Interfaces:
MethodMatcher
public class AnnotationMethodMatcher extends StaticMethodMatcher
Simple MethodMatcher that looks for a specific Java 5 annotation being present on a method (checking both the method on the invoked interface, if any, and the corresponding method on the target class).- Since:
- 2.0
- Author:
- Juergen Hoeller, Sam Brannen
- See Also:
AnnotationMatchingPointcut
Field Summary
Fields inherited from interface org.springframework.aop.MethodMatcher
TRUE
Constructor Summary
Constructors Constructor Description AnnotationMethodMatcher(Class<? extends Annotation> annotationType)Create a new AnnotationClassFilter for the given annotation type.AnnotationMethodMatcher(Class<? extends Annotation> annotationType, boolean checkInherited)Create a new AnnotationClassFilter for the given annotation type.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object other)inthashCode()booleanmatches(Method method, Class<?> targetClass)Perform static checking whether the given method matches.StringtoString()Methods inherited from class org.springframework.aop.support.StaticMethodMatcher
isRuntime, matches
Constructor Detail
AnnotationMethodMatcher
public AnnotationMethodMatcher(Class<? extends Annotation> annotationType)
Create a new AnnotationClassFilter for the given annotation type.- Parameters:
annotationType- the annotation type to look for
AnnotationMethodMatcher
public AnnotationMethodMatcher(Class<? extends Annotation> annotationType, boolean checkInherited)
Create a new AnnotationClassFilter for the given annotation type.- Parameters:
annotationType- the annotation type to look forcheckInherited- whether to also check the superclasses and interfaces as well as meta-annotations for the annotation type (i.e. whether to useAnnotatedElementUtils.hasAnnotation(java.lang.reflect.AnnotatedElement, java.lang.Class<? extends java.lang.annotation.Annotation>)semantics instead of standard JavaAccessibleObject.isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>))- Since:
- 5.0
Method Detail
matches
public boolean matches(Method method, Class<?> targetClass)
Description copied from interface:MethodMatcherPerform static checking whether the given method matches.If this returns
falseor if theMethodMatcher.isRuntime()method returnsfalse, no runtime check (i.e. noMethodMatcher.matches(java.lang.reflect.Method, Class, Object[])call) will be made.- Parameters:
method- the candidate methodtargetClass- the target class- Returns:
- whether or not this method matches statically