Class AbstractAspectJAdvisorFactory
java.lang.Object
org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactory
- All Implemented Interfaces:
- AspectJAdvisorFactory
- Direct Known Subclasses:
- ReflectiveAspectJAdvisorFactory
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.
- Since:
- 2.0
- Author:
- Rod Johnson, Adrian Colyer, Juergen Hoeller, Sam Brannen
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprotected static classClass modeling an AspectJ annotation, exposing its type enumeration and pointcut String.protected static enumEnum for AspectJ annotation types.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final LogLogger available to subclasses.protected final ParameterNameDiscoverer
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected static AbstractAspectJAdvisorFactory.AspectJAnnotationfindAspectJAnnotationOnMethod(Method method) Find and return the first AspectJ annotation on the given method (there should only be one anyway...).booleanWe 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.voidIs the given class a valid AspectJ aspect class?Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.aop.aspectj.annotation.AspectJAdvisorFactorygetAdvice, getAdvisor, getAdvisors
- 
Field Details- 
loggerLogger available to subclasses.
- 
parameterNameDiscoverer
 
- 
- 
Constructor Details- 
AbstractAspectJAdvisorFactorypublic AbstractAspectJAdvisorFactory()
 
- 
- 
Method Details- 
isAspectWe 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.- Specified by:
- isAspectin interface- AspectJAdvisorFactory
- Parameters:
- clazz- the supposed annotation-style AspectJ class
- Returns:
- whether this class is recognized by AspectJ as an aspect class
 
- 
validateDescription copied from interface:AspectJAdvisorFactoryIs the given class a valid AspectJ aspect class?- Specified by:
- validatein interface- AspectJAdvisorFactory
- Parameters:
- aspectClass- the supposed AspectJ annotation-style class to validate
- Throws:
- 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)
 
- 
findAspectJAnnotationOnMethod@Nullable protected static AbstractAspectJAdvisorFactory.AspectJAnnotation findAspectJAnnotationOnMethod(Method method) Find and return the first AspectJ annotation on the given method (there should only be one anyway...).
 
-