|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactory
public abstract class AbstractAspectJAdvisorFactory
Abstract base class for factories that can create Spring AOP Advisors given AspectJ classes from classes honoring the AspectJ 5 annotation syntax.
This class handles annotation parsing and validation functionality. It does not actually generate Spring AOP Advisors, which is deferred to subclasses.
Nested Class Summary | |
---|---|
protected static class |
AbstractAspectJAdvisorFactory.AspectJAnnotation<A extends Annotation>
Class modelling an AspectJ annotation, exposing its type enumeration and pointcut String. |
protected static class |
AbstractAspectJAdvisorFactory.AspectJAnnotationType
|
Field Summary | |
---|---|
protected static ParameterNameDiscoverer |
ASPECTJ_ANNOTATION_PARAMETER_NAME_DISCOVERER
|
protected Log |
logger
Logger available to subclasses |
protected ParameterNameDiscoverer |
parameterNameDiscoverer
|
Constructor Summary | |
---|---|
protected |
AbstractAspectJAdvisorFactory()
|
Method Summary | |
---|---|
protected AspectJExpressionPointcut |
createPointcutExpression(Method annotatedMethod,
Class declarationScope,
String[] pointcutParameterNames)
The pointcut and advice annotations both have an "argNames" member which contains a comma-separated list of the argument names. |
protected static AbstractAspectJAdvisorFactory.AspectJAnnotation |
findAspectJAnnotationOnMethod(Method aMethod)
Find and return the first AspectJ annotation on the given method (there should only be one anyway...) |
boolean |
isAspect(Class<?> clazz)
Determine whether or not the given class is an aspect, as reported by AspectJ's AjTypeSystem . |
void |
validate(Class<?> aspectClass)
Is the given class a valid AspectJ aspect class? |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.springframework.aop.aspectj.annotation.AspectJAdvisorFactory |
---|
getAdvice, getAdvisor, getAdvisors |
Field Detail |
---|
protected static final ParameterNameDiscoverer ASPECTJ_ANNOTATION_PARAMETER_NAME_DISCOVERER
protected final Log logger
protected final ParameterNameDiscoverer parameterNameDiscoverer
Constructor Detail |
---|
protected AbstractAspectJAdvisorFactory()
Method Detail |
---|
protected static AbstractAspectJAdvisorFactory.AspectJAnnotation findAspectJAnnotationOnMethod(Method aMethod)
public boolean isAspect(Class<?> clazz)
AspectJAdvisorFactory
AjTypeSystem
.
Will simply return false
if the supposed aspect is
invalid (such as an extension of a concrete aspect class).
Will return true for some aspects that Spring AOP cannot process,
such as those with unsupported instantiation models.
Use the AspectJAdvisorFactory.validate(java.lang.Class>)
method to handle these cases if necessary.
isAspect
in interface AspectJAdvisorFactory
clazz
- the supposed annotation-style AspectJ class
public void validate(Class<?> aspectClass) throws AopConfigException
AspectJAdvisorFactory
validate
in interface AspectJAdvisorFactory
aspectClass
- the supposed AspectJ annotation-style class to validate
AopConfigException
- if the class is an invalid aspect
(which can never be legal)
NotAnAtAspectException
- if the class is not an aspect at all
(which may or may not be legal, depending on the context)protected AspectJExpressionPointcut createPointcutExpression(Method annotatedMethod, Class declarationScope, String[] pointcutParameterNames)
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |