Chapter 2. Quick ref
Prev |  |

## Chapter 2. Quick ref

## 2.1. Aspects

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)

## 2.2. Interceptors

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)

## 2.3. Bindings

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} )

## 2.4. Stacks

XML

       <stack name>
          [ <interceptor-ref name /> |
            <stack-ref name /> |
            <interceptor [class |factory] scope /> |
            <advice aspect name />  ]+
       </stack>

Annotation

Usage: N/A

## 2.5. Pointcuts

XML

       <pointcut name expr />

Annotation

Usage:field in @Aspect or @InterceptorDef annotated class

       @PointcutDef (expr)

## 2.6. Interface Introductions

XML

       <introduction [class|expr] >
       	<interfaces></interfaces>
       </introduction>

Annotation

Usage:field in @Aspect or @InterceptorDef annotated class

       @Introduction ([target|typeExpression], interfaces)

## 2.7. Mixins

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)

## 2.8. Annotation Introductions

XML

       <annotation-introduction expr invisible ></annotation-introduction>

Annotation

Usage:field in @Aspect or @InterceptorDef annotated class.

       @AnnotationIntroductionDef (expr, invisible, annotation)

## 2.9. CFlow Stack

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)

## 2.10. Typedefs

XML

       <typedef name expr />

Annotation

Usage:field in @Aspect or @InterceptorDef annotated class.

       @TypeDef (expr)

## 2.11. Dynamic CFlow

XML

       <dynamic-cflow name class />

Annotation

Usage:class.

       @DynamicCFlowDef (expr)

## 2.12. Prepare

XML

       <prepare expr />

Annotation

Usage:field in @Aspect or @InterceptorDef annotated class.

       @Prepare (expr)

## 2.13. Metadata

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.

## 2.14. Metadata Loaders

XML

       <metadata-loader tag class>
          [arbitrary xml]
       </metadata-loader>

Annotation

Usage: N/A.

Prev | Up |
Chapter 1. Conventions | Home |