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 are 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 java.io.InputStream;
29:
30: /**
31: * Interface SunBCELRepositoryInterface extends the
32: * aspect-interface of the Sun Execution
33: * Monitors to the jvmai-system. It's needed for
34: * transfering remote java classes into PROSEs
35: * class repository.
36: *
37: * @version $Revision$
38: * @author Angela Nicoara
39: * @author Gerald Linhofer
40: *
41: */
42: public interface SunBCELRepositoryInterface extends JVMAspectInterface {
43: /**
44: * Adds a class file to PROSEs class repository. This is only required for remote class files,
45: * which may not be found in the local class path.
46: * <P>
47: * Used by {@link ch.ethz.prose.tools.RemoteAspectManagerImpl} to add <CODE>
48: * RedefineCut</CODE>s to a remote aspect interface.
49: * <P>
50: * If the class file can not be readed or added to the repository an error message
51: * will be written to stdout, but no exception will be thrown to notify the caller.
52: *
53: * @param definition the raw class file bytes wrapped in an <CODE>InputStream</CODE>
54: * @param name (full qualified) class name in binary notation (p.a. <CODE>ch.ethz.prose.LocalAspectManager</CODE>)
55: */
56: public void addBCELClassDefiniton(InputStream definition,
57: String name);
58:
59: public boolean isClassLoaded(String name);
60: }
61:
62: //======================================================================
63: //
64: // $Log$
65: //
|