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: DebuggerProvider.java,v 1.1.1.1 2003/07/02 15:30:50 apopovic Exp $
22: // =====================================================================
23: //
24: // (history at end)
25: //
26:
27: package ch.ethz.inf.iks.jvmai.jvmdi;
28:
29: // used packages/classes
30: import ch.ethz.jvmai.JVMAspectInterface;
31:
32: import ch.ethz.jvmai.Provider;
33:
34: /**
35:
36: *
37: * @version $Revision: 1.1.1.1 $
38: * @author $Author: apopovic $
39: */
40: public class DebuggerProvider extends Provider {
41:
42: public DebuggerProvider() {
43: super ();
44: }
45:
46: private static AspectInterfaceImpl daspect;
47:
48: private static boolean isInitialized = false;
49:
50: private static synchronized void idempotentInit() {
51: if (!isInitialized) {
52: daspect = new AspectInterfaceImpl();
53: isInitialized = true;
54: }
55: }
56:
57: /**
58: * Returns the apect-interface of the jvmai-system supported by this provider.
59: */
60: public JVMAspectInterface getAspectInterface() {
61: idempotentInit();
62: return daspect;
63: }
64:
65: }
66:
67: //======================================================================
68: //
69: // $Log: DebuggerProvider.java,v $
70: // Revision 1.1.1.1 2003/07/02 15:30:50 apopovic
71: // Imported from ETH Zurich
72: //
73: // Revision 1.5 2003/05/05 17:46:23 popovici
74: // Refactorization step (runes->prose) cleanup
75: //
76: // Revision 1.4 2003/04/30 20:16:24 popovici
77: // Changes for windows portability
78: //
79: // Revision 1.3 2003/03/04 11:26:32 popovici
80: // Important refactorization step (march):
81: // - removal of 'JoinPointEvents'; JoinPoints now have the same function as events
82: // - reimplementation of the JVMAIDebuggerAspectInterface (better performance, coding conventions, removal of ProseVM
83: // structures
84: //
85: // Revision 1.2 2002/03/28 13:48:13 popovici
86: // Mozilla-ified
87: //
88: // Revision 1.1 2002/02/06 11:53:49 popovici
89: // Refactoring from prose classical to jvmai
90: //
91: // Revision 1.2 2002/01/24 12:52:14 smarkwal
92: // Constructor is now 'protected'. Comments added.
93: //
94: // Revision 1.1 2001/12/14 15:01:19 smarkwal
95: // Initial Revision
96: //
|