1 // 2 // This file is part of the prose package. 3 // 4 // The contents of this file are subject to the Mozilla Public License 5 // Version 1.1 (the "License"); you may not use this file except in 6 // compliance with the License. You may obtain a copy of the License at 7 // http://www.mozilla.org/MPL/ 8 // 9 // 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 package ch.ethz.jvmai; 22 /** MethodExitJoinPoint is a CodeJoinPoint that corresponds 23 * to the termination of the execution of a method. The 24 * taget of a methodEntryJoinpoint (as obtained by <code>getTarget</code>) 25 * and the object being executed (as obtained by <code>getThis</code>) 26 * are the same object. 27 * 28 */ 29 public interface MethodExitJoinPoint extends CodeJoinPoint 30 { 31 public static String KIND = JoinPointKinds.KIND_METHOD_EXIT_JP; 32 33 /** Return the result object being passed back as a return value. 34 * Primitive types are converted to wrapper objects. 35 */ 36 public Object getResult(); 37 38 /** Modify the return value of this method. For primitive 39 * types, use corresponding wrapper objects. 40 * 41 * @throws JVMAIRuntimeException for type mismatches between the return type and 42 * the type of <code>result</code>. 43 */ 44 public void setResult(Object result); 45 } 46