java.lang.Object | |
↳ | org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactory |
Known Direct Subclasses |
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 Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AbstractAspectJAdvisorFactory.AspectJAnnotation<A extends Annotation> | Class modelling an AspectJ annotation, exposing its type enumeration and pointcut String. | ||||||||||
AbstractAspectJAdvisorFactory.AspectJAnnotationType |
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ASPECTJ_ANNOTATION_PARAMETER_NAME_DISCOVERER | |||||||||||
logger | Logger available to subclasses | ||||||||||
parameterNameDiscoverer |
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
We consider something to be an AspectJ aspect suitable for use by the Spring AOP system
if it has the @Aspect annotation, and was not compiled by ajc.
| |||||||||||
Is the given class a valid AspectJ aspect class?
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
The pointcut and advice annotations both have an "argNames" member which contains a
comma-separated list of the argument names.
| |||||||||||
Find and return the first AspectJ annotation on the given method
(there should only be one anyway...)
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
org.springframework.aop.aspectj.annotation.AspectJAdvisorFactory
|
Logger available to subclasses
We consider something to be an AspectJ aspect suitable for use by the Spring AOP system if it has the @Aspect annotation, and was not compiled by ajc. The reason for this latter test is that aspects written in the code-style (AspectJ language) also have the annotation present when compiled by ajc with the -1.5 flag, yet they cannot be consumed by Spring AOP.
clazz | the supposed annotation-style AspectJ class |
---|
Is the given class a valid AspectJ aspect class?
aspectClass | the supposed AspectJ annotation-style class to validate |
---|
AopConfigException |
---|
The pointcut and advice annotations both have an "argNames" member which contains a comma-separated list of the argument names. We use this (if non-empty) to build the formal parameters for the pointcut.
Find and return the first AspectJ annotation on the given method (there should only be one anyway...)