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$
22: // ===============================================================
23: //
24:
25: package ch.ethz.jvmai;
26:
27: /**
28: * MethodExitJoinPoint is a CodeJoinPoint that corresponds
29: * to the termination of the execution of a method. The
30: * taget of a methodEntryJoinpoint (as obtained by <code>getTarget</code>)
31: * and the object being executed (as obtained by <code>getThis</code>)
32: * are the same object.
33: *
34: */
35: public interface MethodExitJoinPoint extends CodeJoinPoint {
36: public static String KIND = JoinPointKinds.KIND_METHOD_EXIT_JP;
37:
38: /** Return the result object being passed back as a return value.
39: * Primitive types are converted to wrapper objects.
40: */
41: public Object getResult();
42:
43: /** Modify the return value of this method. For primitive
44: * types, use corresponding wrapper objects.
45: *
46: * @throws JVMAIRuntimeException for type mismatches between the return type and
47: * the type of <code>result</code>.
48: */
49: public void setResult(Object result);
50: }
51:
52: //=======================================================================
53: //
54: // $Log$
55: //
|