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 Developers of the Original Code is Angela Nicoara and Gerald Linhofer.
17: // All Rights Reserved.
18: //
19: // Contributor(s):
20: // $Id$
21: // ======================================================================
22: //
23: // (history at end)
24: //
25:
26: package ch.ethz.jvmai;
27:
28: import ch.ethz.prose.crosscut.MethodRedefineCut;
29: import ch.ethz.prose.engine.MethodRedefineRequest;
30:
31: /**
32: * RedefineWeaver interface.
33: *
34: * @version $Revision$
35: * @author Johann Gyger
36: */
37: public interface RedefineWeaver {
38:
39: /**
40: * Weave a method redefinition.
41: *
42: * @param cut crosscut that contains advice method
43: * @param request
44: */
45: public abstract void weaveMethodRedefineCut(MethodRedefineCut cut,
46: MethodRedefineRequest request);
47:
48: /**
49: * Unweave a method redefinition.
50: *
51: * @param cut crosscut which should be unwoven.
52: */
53: public abstract void unweaveMethodRedefineCut(MethodRedefineCut cut);
54: }
55:
56: //======================================================================
57: //
58: // $Log$
59: //
|