<< Bindings | Contents | Aspect Deployment >>
Pointcuts and Advice (cc.gen)
(cc.gen.1) Pointcuts and advice are declared as members of Caesar classes.
Def: Class containing pointcuts and advice is called
aspect class. The instances of such class are called
aspect objects.
(cc.gen.2) Pointcuts and advice are defined in the same way as in
AspectJ with following exceptions
- if(…) pointcut is not allowed.
- abstract pointcuts are not allowed.
- A piece of advice can refer to the pointcuts in the declaring class or any of its superclasses.
(cc.gen.3) A pointcut can refer to other pointcuts in the declaring class or any of its superclasses.
(cc.gen.4) Advice is always running in the context of an instance of the declaring class (or its subclass). It can access
this
pointer as well as its members the same way as all other methods of the declaring class
(cc.gen.5) Pointcuts and advice are inherited by all subclasses of a class.
(cc.gen.6) Pointcuts and advice cannot be overridden.
(cc.gen.7) The advice call order of instances of different classes can be controlled using
declare precedence
declaration in the same way as in AspectJ. The advice call order of the instances of the same class are determined by aspect deployment.
<< Bindings | Contents | Aspect Deployment >>