01: //
02: // This file is part of the prose package.
03: //
04: // The contents of this file are subject to the Mozilla Public License
05: // Version 1.1 (the "License"); you may not use this file except in
06: // compliance with the License. You may obtain a copy of the License at
07: // http://www.mozilla.org/MPL/
08: //
09: // Software distributed under the License is distributed on an "AS IS" basis,
10: // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11: // for the specific language governing rights and limitations under the
12: // License.
13: //
14: // The Original Code is prose.
15: //
16: // The Initial Developer of the Original Code is Andrei Popovici. Portions
17: // created by Andrei Popovici are Copyright (C) 2002 Andrei Popovici.
18: // All Rights Reserved.
19: //
20: // Contributor(s):
21: // $Id: CrosscutGroup.java,v 1.1.1.1 2003/07/02 15:30:51 apopovic Exp $
22: // =====================================================================
23: //
24: // (history at end)
25: //
26:
27: package ch.ethz.prose.crosscut;
28:
29: // used packages
30: import java.io.*;
31:
32: /**
33: * Class CrosscutGroup defines a common behavior for a group
34: * crosscut objects. The members of a group execute or
35: * do not execute advice depending on the state of thi
36: * group.
37: *
38: * @version $Revision: 1.1.1.1 $
39: * @author Andrei Popovici
40: */
41: public class CrosscutGroup implements Serializable {
42:
43: private static final long serialVersionUID = 3257002146657284146L;
44: protected boolean executeAdvice = true;
45:
46: /** Allow the execution of advices in this group.
47: *
48: */
49: public void setExecuteAdvice(boolean execAdvice) {
50: executeAdvice = execAdvice;
51: }
52:
53: public String toString() {
54: return "CrosscutGroup:" + System.identityHashCode(this )
55: + ".executeAdvice:" + executeAdvice;
56: }
57: }
58:
59: //======================================================================
60: //
61: // $Log: CrosscutGroup.java,v $
62: // Revision 1.1.1.1 2003/07/02 15:30:51 apopovic
63: // Imported from ETH Zurich
64: //
65: // Revision 1.3 2003/05/26 13:28:52 popovici
66: // Documentation Improvements
67: //
68: // Revision 1.2 2003/05/06 15:51:29 popovici
69: // Mozilla-ification
70: //
71: // Revision 1.1 2003/05/05 13:58:12 popovici
72: // renaming from runes to prose
73: //
74: // Revision 1.3 2003/04/29 16:58:34 pfalcari
75: // Serialization bug fix; the 'initState' was called only on the client side due to not-transient 'isInitialized'
76: //
77: // Revision 1.2 2003/04/17 12:49:19 popovici
78: // Refactoring of the crosscut package
79: // ExceptionCut renamed to ThrowCut
80: // McutSignature is now SignaturePattern
81: //
82: // Revision 1.1 2003/04/17 08:47:17 popovici
83: // Important functionality additions
84: // - Cflow specializers
85: // - Restructuring of the MethodCut, SetCut, ThrowCut, and GetCut (they are much smaller)
86: // - Transactional capabilities
87: // - Total refactoring of Specializer evaluation, which permits fine-grained distinction
88: // between static and dynamic specializers.
89: // - Functionality pulled up in abstract classes
90: // - Uniformization of advice methods patterns and names
91: //
|