KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > ch > ethz > prose > tools > RemoteAspectManager


1 //
2
// This file is part of the midas 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 midas.
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: RemoteAspectManager.java,v 1.1.1.1 2003/07/02 15:30:52 apopovic Exp $
22
// =====================================================================
23
//
24
// (history at end)
25
//
26
package ch.ethz.prose.tools;
27
28 import java.rmi.Remote JavaDoc;
29 import java.rmi.RemoteException JavaDoc;
30 import java.util.List JavaDoc;
31
32 import ch.ethz.prose.Aspect;
33 import ch.ethz.prose.query.AspectSurrogate;
34
35 /** Class <code>RemoteExtensionManager</code> is a remote (RMI) interface
36  * to a local extension manager.
37  *
38  * @version $Revision: 1.1.1.1 $
39  * @author Andrei Popovici
40  */

41 public
42 interface RemoteAspectManager extends Remote JavaDoc
43
44 {
45   /** Insert the extension <code>ext</code> into this <em>AspectManager</em>
46    * and perform additional actions. The insertion
47    * of the crosscuts belonging to the specified extnsion
48    * is done in the proper order (first crosscut is registered as
49    * the first listener).
50    */

51    public void insert(Aspect ext) throws RemoteException JavaDoc;
52
53   /** Withdraw the extension <code>ext</code> from this
54    * <code>AspectManager</code> and perform withdrawing
55    * specific actions. Note that the specified extension has to be the
56    * same object as the one to be withdrawn. Because an extension usually
57    * has its own state, the application layer <em>using</em> an extension
58    * manager has to find out which extension object to withdraw, by inspecting
59    * the <code>getAllAspects()</code> set.
60    */

61
62   public void withdraw(AspectSurrogate ext) throws RemoteException JavaDoc,ClassNotFoundException JavaDoc;
63
64
65   public void insert(Aspect ext, Object JavaDoc txId) throws RemoteException JavaDoc;
66
67   public void withdraw(AspectSurrogate ext,Object JavaDoc txId) throws RemoteException JavaDoc,ClassNotFoundException JavaDoc;
68
69   public void commit(Object JavaDoc txId) throws RemoteException JavaDoc;
70
71   public void abort(Object JavaDoc txId) throws RemoteException JavaDoc;
72   /**
73    * Return a list of the current inserted extensions.
74    */

75   public List JavaDoc allAspects() throws RemoteException JavaDoc;
76
77   public List JavaDoc allJoinpoints() throws RemoteException JavaDoc;
78
79
80   /**
81    * Return a List of Tupel objects (without duplicates) that represents the result of querying the system
82    * with a list of Aspects.
83    */

84   public List JavaDoc queryAspects(List JavaDoc aspectList, int selectFields, int groupBy) throws RemoteException JavaDoc;
85
86   /**
87    * Return a List of Tupel objects (without duplicates) that represents the result of querying the system
88    * with a list of Crosscuts.
89    */

90   public List JavaDoc queryCrosscuts(List JavaDoc crosscutList, int selectFields, int groupBy) throws RemoteException JavaDoc;
91
92   /**
93    * Return a List of Tupel objects (without duplicates) that represents the result of querying the system
94    * with a list of JoinPointRequests.
95    */

96   public List JavaDoc queryJoinpoints(List JavaDoc joinpointList, int selectFields, int groupBy) throws RemoteException JavaDoc;
97
98
99
100 }
101
102
103 //======================================================================
104
//
105
// $Log: RemoteAspectManager.java,v $
106
// Revision 1.1.1.1 2003/07/02 15:30:52 apopovic
107
// Imported from ETH Zurich
108
//
109
// Revision 1.1 2003/05/25 13:25:18 popovici
110
// Refactoring
111
// inf.iks.tools is now prose.tools
112
// Stupid 'MyTableModel' renamed to 'WorksheetClientMode'
113
// - other renamings from bad names to reasonable names
114
//
115
// Revision 1.6 2003/05/25 11:48:51 popovici
116
// Major transformation of the prose tools:
117
// - GUI now stable and supports aspect insertion from another classpath than its own
118
// - CommandlineProseClient supports transactions test managers, independent classpath and has a better errhanling
119
//
120
// Revision 1.5 2003/05/20 16:04:59 popovici
121
//
122
// New QueryManager replaces functionality in AspectManager (better Soc)
123
// New 'Surrogate' classes for usage in the QueryManager
124
// The 'RemoteAspectManager' and tools modified to use the Surrogates and the QueryManager
125
//
126
// Revision 1.4 2003/05/05 14:03:12 popovici
127
// renaming from runes to prose
128
//
129
// Revision 1.3 2003/04/17 15:14:55 popovici
130
// Extension->Aspect renaming
131
//
132
// Revision 1.2 2003/03/04 18:35:55 popovici
133
// Organization of imprts
134
//
135
// Revision 1.1 2003/02/17 09:23:52 popovici
136
// RemoteAspectManager interface, implementation, and client added;
137
// Benchmark changed to work with the remote aspect manager;
138
// Benchmark changed to include aspect insertion;
139
//
140
// Revision 1.2 2002/07/25 08:55:39 popovici
141
// Mozilla Licensing
142
//
143
// Revision 1.1.1.1 2001/11/30 14:50:28 popovici
144
// Sources from runes
145
//
146
// Revision 1.1.2.1 2001/03/26 15:05:40 mrmuller
147
// adapted to new package structure
148
//
149
// Revision 1.1.2.2 2001/02/15 11:40:57 popovici
150
// Documentation Improvements
151
//
152
// Revision 1.1.2.1 2001/02/14 13:44:41 popovici
153
// Initial Revision
154
//
155
//
156
//
157
Popular Tags