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