XML
<aspect {name} [class |factory] scope> [<attribute name></attribute>]* [<advisor-attribute name ></advisor-attribute>] [<instance-advisor-attribute name ></instance-advisor-attribute>] [<joinpoint-attribute name ></joinpoint-attribute>] [random xml] </aspect>
Annotation
Usage: class
@Aspect ([class|factory], scope)
XML
<interceptor {name} [class|factory] scope /> [<attribute name ></attribute>]* [<advisor-attribute name ></advisor-attribute>] [<instance-advisor-attribute name></instance-advisor-attribute>] [<joinpoint-attribute name ></joinpoint-attribute>] [random xml] <interceptor>
Annotation
Usage: class
@InterceptorDef ([class|factory], scope)
XML
<bind {name} pointcut {cflow} > [ <interceptor-ref name/> | <stack-ref name/> | <advice aspect name/> ]* </bind>
Annotation
Usage: class (if annotated @InterceptorDef), method (if class annotated @Aspect)
Bind (pointcut {, cflow} )
XML
<stack name> [ <interceptor-ref name /> | <stack-ref name /> | <interceptor [class |factory] scope /> | <advice aspect name /> ]+ </stack>
Annotation
Usage: N/A
XML
<pointcut name expr />
Annotation
Usage:field in @Aspect or @InterceptorDef annotated class
@PointcutDef (expr)
XML
<introduction [class|expr] > <interfaces></interfaces> </introduction>
Annotation
Usage:field in @Aspect or @InterceptorDef annotated class
@Introduction ([target|typeExpression], interfaces)
XML
<introduction [class|expr] > [ <mixin {transient} > <interfaces></interfaces> <class></class> <construction></construction> </mixin> ]* </introduction>
Annotation
Usage:field in @Aspect or @InterceptorDef annotated class. The method returns the mixin class type
@Mixin ([target|typeExpression], interfaces, isTransient)
XML
<annotation-introduction expr invisible ></annotation-introduction>
Annotation
Usage:field in @Aspect or @InterceptorDef annotated class.
@AnnotationIntroductionDef (expr, invisible, annotation)
XML
<cflow-stack name> [<called></called> | <not-called></not-called>]* <cflow-stack>
Annotation
Usage:field in @Aspect or @InterceptorDef annotated class.
@CFlowStackDef (cflows)Where the cflows entries must be of type
@CFlowDef (expr, called)
XML
<typedef name expr />
Annotation
Usage:field in @Aspect or @InterceptorDef annotated class.
@TypeDef (expr)
XML
<prepare expr />
Annotation
Usage:field in @Aspect or @InterceptorDef annotated class.
@Prepare (expr)
XML
<metadata tag class> [<default>[any xml tags with content]*</default>]* [<class>[any xml tags with content]*</class>]* [<method expr>[any xml tags with content]*</method>]* [<constructor expr>[any xml tags with content]*</constructor>]* [<field expr>[any xml tags with content]*</field>]* </metadata>
Annotation
Usage: N/A.