Class AspectJExpressionPointcut
- All Implemented Interfaces:
- Serializable,- ClassFilter,- IntroductionAwareMethodMatcher,- MethodMatcher,- Pointcut,- ExpressionPointcut,- Aware,- BeanFactoryAware
Pointcut implementation
 that uses the AspectJ weaver to evaluate a pointcut expression.
 The pointcut expression value is an AspectJ expression. This can reference other pointcuts and use composition and other operations.
Naturally, as this is to be processed by Spring AOP's proxy-based model, only method execution pointcuts are supported.
- Since:
- 2.0
- Author:
- Rob Harrop, Adrian Colyer, Rod Johnson, Juergen Hoeller, Ramnivas Laddad, Dave Syer
- See Also:
- 
Field SummaryFields inherited from interface org.springframework.aop.ClassFilterTRUEFields inherited from interface org.springframework.aop.MethodMatcherTRUE
- 
Constructor SummaryConstructorsConstructorDescriptionCreate a new default AspectJExpressionPointcut.AspectJExpressionPointcut(Class<?> declarationScope, String[] paramNames, Class<?>[] paramTypes) Create a new AspectJExpressionPointcut with the given settings.
- 
Method SummaryModifier and TypeMethodDescriptionbooleanReturn the ClassFilter for this pointcut.protected StringReturn the MethodMatcher for this pointcut.org.aspectj.weaver.tools.PointcutExpressionReturn the underlying AspectJ pointcut expression.inthashCode()booleanIs this MethodMatcher dynamic, that is, must a final call be made on theMethodMatcher.matches(java.lang.reflect.Method, Class, Object[])method at runtime even if the 2-arg matches method returnstrue?booleanShould the pointcut apply to the given interface or target class?booleanPerform static checking whether the given method matches.booleanPerform static checking whether the given method matches.booleanCheck whether there a runtime (dynamic) match for this method, which must have matched statically.voidsetBeanFactory(BeanFactory beanFactory) Callback that supplies the owning factory to a bean instance.voidsetParameterNames(String... names) Set the parameter names for the pointcut.voidsetParameterTypes(Class<?>... types) Set the parameter types for the pointcut.voidsetPointcutDeclarationScope(Class<?> pointcutDeclarationScope) Set the declaration scope for the pointcut.toString()Methods inherited from class org.springframework.aop.support.AbstractExpressionPointcutgetExpression, getLocation, onSetExpression, setExpression, setLocation
- 
Constructor Details- 
AspectJExpressionPointcutpublic AspectJExpressionPointcut()Create a new default AspectJExpressionPointcut.
- 
AspectJExpressionPointcutpublic AspectJExpressionPointcut(Class<?> declarationScope, String[] paramNames, Class<?>[] paramTypes) Create a new AspectJExpressionPointcut with the given settings.- Parameters:
- declarationScope- the declaration scope for the pointcut
- paramNames- the parameter names for the pointcut
- paramTypes- the parameter types for the pointcut
 
 
- 
- 
Method Details- 
setPointcutDeclarationScopeSet the declaration scope for the pointcut.
- 
setParameterNamesSet the parameter names for the pointcut.
- 
setParameterTypesSet the parameter types for the pointcut.
- 
setBeanFactoryDescription copied from interface:BeanFactoryAwareCallback that supplies the owning factory to a bean instance.Invoked after the population of normal bean properties but before an initialization callback such as InitializingBean.afterPropertiesSet()or a custom init-method.- Specified by:
- setBeanFactoryin interface- BeanFactoryAware
- Parameters:
- beanFactory- owning BeanFactory (never- null). The bean can immediately call methods on the factory.
- See Also:
 
- 
getClassFilterDescription copied from interface:PointcutReturn the ClassFilter for this pointcut.- Specified by:
- getClassFilterin interface- Pointcut
- Returns:
- the ClassFilter (never null)
 
- 
getMethodMatcherDescription copied from interface:PointcutReturn the MethodMatcher for this pointcut.- Specified by:
- getMethodMatcherin interface- Pointcut
- Returns:
- the MethodMatcher (never null)
 
- 
getPointcutExpressionpublic org.aspectj.weaver.tools.PointcutExpression getPointcutExpression()Return the underlying AspectJ pointcut expression.
- 
matchesDescription copied from interface:ClassFilterShould the pointcut apply to the given interface or target class?- Specified by:
- matchesin interface- ClassFilter
- Parameters:
- targetClass- the candidate target class
- Returns:
- whether the advice should apply to the given target class
 
- 
matchesDescription copied from interface:IntroductionAwareMethodMatcherPerform static checking whether the given method matches. This may be invoked instead of the 2-argMethodMatcher.matches(java.lang.reflect.Method, Class)method if the caller supports the extended IntroductionAwareMethodMatcher interface.- Specified by:
- matchesin interface- IntroductionAwareMethodMatcher
- Parameters:
- method- the candidate method
- targetClass- the target class
- hasIntroductions-- trueif the object on whose behalf we are asking is the subject on one or more introductions;- falseotherwise
- Returns:
- whether or not this method matches statically
 
- 
matchesDescription 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.- Specified by:
- matchesin interface- MethodMatcher
- Parameters:
- method- the candidate method
- targetClass- the target class
- Returns:
- whether or not this method matches statically
 
- 
isRuntimepublic boolean isRuntime()Description copied from interface:MethodMatcherIs this MethodMatcher dynamic, that is, must a final call be made on theMethodMatcher.matches(java.lang.reflect.Method, Class, Object[])method at runtime even if the 2-arg matches method returnstrue?Can be invoked when an AOP proxy is created, and need not be invoked again before each method invocation, - Specified by:
- isRuntimein interface- MethodMatcher
- Returns:
- whether or not a runtime match via the 3-arg
 MethodMatcher.matches(java.lang.reflect.Method, Class, Object[])method is required if static matching passed
 
- 
matchesDescription copied from interface:MethodMatcherCheck whether there a runtime (dynamic) match for this method, which must have matched statically.This method is invoked only if the 2-arg matches method returns truefor the given method and target class, and if theMethodMatcher.isRuntime()method returnstrue. Invoked immediately before potential running of the advice, after any advice earlier in the advice chain has run.- Specified by:
- matchesin interface- MethodMatcher
- Parameters:
- method- the candidate method
- targetClass- the target class
- args- arguments to the method
- Returns:
- whether there's a runtime match
- See Also:
 
- 
getCurrentProxiedBeanName
- 
equals
- 
hashCodepublic int hashCode()
- 
toString
 
-