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.