01: //
02: // This file is part of the prose package.//
03: // The contents of this file are subject to the Mozilla Public License
04: // Version 1.1 (the "License"); you may not use this file except in
05: // compliance with the License. You may obtain a copy of the License at
06: // http://www.mozilla.org/MPL/
07: //
08: // Software distributed under the License is distributed on an "AS IS" basis,
09: // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
10: // for the specific language governing rights and limitations under the
11: // License.
12: //
13: // The Original Code is prose.
14: //
15: // The Initial Developer of the Original Code is Andrei Popovici. Portions
16: // created by Andrei Popovici are Copyright (C) 2002 Andrei Popovici.
17: // All Rights Reserved.
18: //
19: // Contributor(s):
20: // $Id: FieldModificationJoinPoint.java,v 1.1.1.1 2003/07/02 15:30:50 apopovic Exp $
21: // =====================================================================
22: //
23: // (history at end)
24: //
25:
26: package ch.ethz.jvmai;
27:
28: // used packages/classes
29: import ch.ethz.jvmai.FieldJoinPoint;
30:
31: /**
32: * Class FieldModificationJoinPoint represents a joinpoint
33: * where a field is modified. This class does not provide
34: * any new fields or methods.
35: *
36: * @version $Revision: 1.1.1.1 $
37: * @author Stephan Markwalder
38: */
39: public interface FieldModificationJoinPoint extends FieldJoinPoint {
40:
41: public static String KIND = JoinPointKinds.KIND_FIELD_MODIFICATION_JP;
42:
43: /** Get the value to be assigned to the field being modified */
44: public Object getNewValue();
45:
46: /** Set the value of the field with a new value
47: * @param nv the new value
48: */
49: public void setNewValue(Object nv);
50: }
51:
52: //======================================================================
53: //
54: // $Log: FieldModificationJoinPoint.java,v $
55: // Revision 1.1.1.1 2003/07/02 15:30:50 apopovic
56: // Imported from ETH Zurich
57: //
58: // Revision 1.1 2003/05/05 14:02:19 popovici
59: // renaming from runes to prose
60: //
61: // Revision 1.6 2003/04/17 08:47:08 popovici
62: // Important functionality additions
63: // - Cflow specializers
64: // - Restructuring of the MethodCut, SetCut, ThrowCut, and GetCut (they are much smaller)
65: // - Transactional capabilities
66: // - Total refactoring of Specializer evaluation, which permits fine-grained distinction
67: // between static and dynamic specializers.
68: // - Functionality pulled up in abstract classes
69: // - Uniformization of advice methods patterns and names
70: //
71: // Revision 1.5 2003/03/04 11:27:02 popovici
72: // Important refactorization step (march):
73: // - removal of 'JoinPointEvents'; JoinPoints now have the same function as events
74: // - reimplementation of the JVMAIDebuggerAspectInterface (better performance, coding conventions, removal of ProseVM
75: // structures
76: //
77: // Revision 1.4 2002/03/28 13:48:26 popovici
78: // Mozilla-ified
79: //
80: // Revision 1.3 2002/02/13 12:24:37 smarkwal
81: // spaces/tabs alignment corrected
82: //
83: // Revision 1.2 2002/01/24 12:48:15 smarkwal
84: // comments added
85: //
86: // Revision 1.1 2001/12/14 15:01:15 smarkwal
87: // Initial Revision
88: //
|