KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > emn > info > eaop > aspect > AspectS


1 /* ----------------------------------------------------------------------------
2  * EAOP 1.0, 2002-12-19
3  * (c) 2002 Remi Douence, Mario Sudholt; OBASCO group; EMN/INRIA; France
4  * THIS SOFTWARE IS PROVIDED AS IS AND WITHOUT ANY WARRANTY
5   -------------------------------------------------------------------------- */

6
7 package fr.emn.info.eaop.aspect;
8
9 import java.util.*;
10 import java.lang.reflect.*;
11 import java.io.*;
12
13 /**
14  * This class is the super class of every simple or composed aspect.
15  *
16  * @author RD
17  * @version 1.0
18  */

19
20 public abstract class AspectS {
21
22     /**
23      * <code>isCrosscutting</code> must be set to true when the aspect is
24      * crosscuting (i.e., an action/insert must be executed at the
25      * current event)
26      */

27     public boolean isCrosscutting;
28
29     /**
30      * Aspects are composed (i.e., sequentialized) in a tree of
31      * aspects. <code>up</code> denotes the father aspect in the tree.
32     */

33     public AspectS up;
34
35     /**
36      * reverse chaining in the tree is useful for aspects insertion
37      */

38     public AspectS(AspectS up) {
39     this.up = up;
40     }
41
42     /**
43      * This method resumes the aspect execution until it requires the
44      * next event. When the aspects is composed, this method
45      * recursively visit the tree of aspects.
46      */

47     public abstract void go();
48
49     /**
50      * This method inserts an aspect in the aspects tree. Default
51      * behavior defined in the class Aspect inserts the aspect
52      * locally. The user can program more sophisitcated
53      * restructuration of the tree. should be abstract
54      */

55     public abstract void insert(AspectS child, AspectS newAspect);
56 }
57
58
Popular Tags