Interface AspectJAdvisorFactory
- All Known Implementing Classes:
 AbstractAspectJAdvisorFactory,ReflectiveAspectJAdvisorFactory
public interface AspectJAdvisorFactory
Interface for factories that can create Spring AOP Advisors from classes
 annotated with AspectJ annotation syntax.
- Since:
 - 2.0
 - Author:
 - Rod Johnson, Juergen Hoeller
 - See Also:
 - 
AspectMetadataAjTypeSystem
 
- 
Method Summary
Modifier and TypeMethodDescriptiongetAdvice(Method candidateAdviceMethod, AspectJExpressionPointcut expressionPointcut, MetadataAwareAspectInstanceFactory aspectInstanceFactory, int declarationOrder, String aspectName) Build a Spring AOP Advice for the given AspectJ advice method.getAdvisor(Method candidateAdviceMethod, MetadataAwareAspectInstanceFactory aspectInstanceFactory, int declarationOrder, String aspectName) Build a Spring AOP Advisor for the given AspectJ advice method.getAdvisors(MetadataAwareAspectInstanceFactory aspectInstanceFactory) Build Spring AOP Advisors for all annotated At-AspectJ methods on the specified aspect instance.booleanDetermine whether the given class is an aspect, as reported by AspectJ'sAjTypeSystem.voidIs the given class a valid AspectJ aspect class? 
- 
Method Details
- 
isAspect
Determine whether the given class is an aspect, as reported by AspectJ'sAjTypeSystem.Will simply return
falseif 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 thevalidate(java.lang.Class<?>)method to handle these cases if necessary.- Parameters:
 clazz- the supposed annotation-style AspectJ class- Returns:
 - whether this class is recognized by AspectJ as an aspect class
 
 - 
validate
Is the given class a valid AspectJ aspect class?- 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)
 - 
getAdvisors
Build Spring AOP Advisors for all annotated At-AspectJ methods on the specified aspect instance.- Parameters:
 aspectInstanceFactory- the aspect instance factory (not the aspect instance itself in order to avoid eager instantiation)- Returns:
 - a list of advisors for this class
 
 - 
getAdvisor
@Nullable Advisor getAdvisor(Method candidateAdviceMethod, MetadataAwareAspectInstanceFactory aspectInstanceFactory, int declarationOrder, String aspectName) Build a Spring AOP Advisor for the given AspectJ advice method.- Parameters:
 candidateAdviceMethod- the candidate advice methodaspectInstanceFactory- the aspect instance factorydeclarationOrder- the declaration order within the aspectaspectName- the name of the aspect- Returns:
 nullif the method is not an AspectJ advice method or if it is a pointcut that will be used by other advice but will not create a Spring advice in its own right
 - 
getAdvice
@Nullable Advice getAdvice(Method candidateAdviceMethod, AspectJExpressionPointcut expressionPointcut, MetadataAwareAspectInstanceFactory aspectInstanceFactory, int declarationOrder, String aspectName) Build a Spring AOP Advice for the given AspectJ advice method.- Parameters:
 candidateAdviceMethod- the candidate advice methodexpressionPointcut- the AspectJ expression pointcutaspectInstanceFactory- the aspect instance factorydeclarationOrder- the declaration order within the aspectaspectName- the name of the aspect- Returns:
 nullif the method is not an AspectJ advice method or if it is a pointcut that will be used by other advice but will not create a Spring advice in its own right- See Also:
 
 
 -