1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.juddi;
17
18 import java.util.Vector;
19
20 import org.apache.juddi.datatype.CategoryBag;
21 import org.apache.juddi.datatype.DiscoveryURLs;
22 import org.apache.juddi.datatype.IdentifierBag;
23 import org.apache.juddi.datatype.KeyedReference;
24 import org.apache.juddi.datatype.RegistryObject;
25 import org.apache.juddi.datatype.TModelBag;
26 import org.apache.juddi.datatype.request.AuthInfo;
27 import org.apache.juddi.datatype.request.FindQualifiers;
28 import org.apache.juddi.datatype.response.AssertionStatusReport;
29 import org.apache.juddi.datatype.response.AuthToken;
30 import org.apache.juddi.datatype.response.BindingDetail;
31 import org.apache.juddi.datatype.response.BusinessDetail;
32 import org.apache.juddi.datatype.response.BusinessDetailExt;
33 import org.apache.juddi.datatype.response.BusinessList;
34 import org.apache.juddi.datatype.response.DispositionReport;
35 import org.apache.juddi.datatype.response.PublisherAssertions;
36 import org.apache.juddi.datatype.response.PublisherDetail;
37 import org.apache.juddi.datatype.response.PublisherList;
38 import org.apache.juddi.datatype.response.RegisteredInfo;
39 import org.apache.juddi.datatype.response.RegistryInfo;
40 import org.apache.juddi.datatype.response.RelatedBusinessesList;
41 import org.apache.juddi.datatype.response.ServiceDetail;
42 import org.apache.juddi.datatype.response.ServiceList;
43 import org.apache.juddi.datatype.response.TModelDetail;
44 import org.apache.juddi.datatype.response.TModelList;
45 import org.apache.juddi.error.RegistryException;
46
47 /***
48 * Represents a vesion 2.0 UDDI registry and implements all
49 * services as specified in the UDDI version 2.0 specification.
50 *
51 * @author Steve Viens (sviens@apache.org)
52 */
53 public interface IRegistry
54 {
55 String UDDI_V1_GENERIC = "1.0";
56 String UDDI_V2_GENERIC = "2.0";
57 String UDDI_V3_GENERIC = "3.0";
58 String JUDDI_V1_GENERIC = "1.0";
59
60 String UDDI_V1_NAMESPACE = "urn:uddi-org:api";
61 String UDDI_V2_NAMESPACE = "urn:uddi-org:api_v2";
62 String UDDI_V3_NAMESPACE = "urn:uddi-org:api_v3";
63 String JUDDI_V1_NAMESPACE = "urn:juddi-org:api_v1";
64
65 /***
66 * "Used to locate specific bindings within a registered
67 * businessService. Returns a bindingDetail message."
68 *
69 * @exception RegistryException
70 */
71 BindingDetail findBinding(String serviceKey,CategoryBag categoryBag,TModelBag tModelBag,FindQualifiers findQualifiers,int maxRows)
72 throws RegistryException;
73
74 /***
75 * Used to locate information about one or more businesses. Returns a
76 * businessList message that matches the conditions specified.
77 *
78 * @exception RegistryException;
79 */
80 BusinessList findBusiness(Vector nameVector,DiscoveryURLs discoveryURLs,IdentifierBag identifierBag,CategoryBag categoryBag,TModelBag tModelBag,FindQualifiers findQualifiers,int maxRows)
81 throws RegistryException;
82
83 /***
84 * @exception RegistryException;
85 */
86 RelatedBusinessesList findRelatedBusinesses(String businessKey,KeyedReference keyedReference,FindQualifiers findQualifiers,int maxRows)
87 throws RegistryException;
88
89 /***
90 * "Used to locate specific services within a registered
91 * businessEntity. Return a serviceList message." From the
92 * XML spec (API, p18) it appears that the name, categoryBag,
93 * and tModelBag arguments are mutually exclusive.
94 *
95 * @exception RegistryException;
96 */
97 ServiceList findService(String businessKey,Vector nameVector,CategoryBag categoryBag,TModelBag tModelBag,FindQualifiers findQualifiers,int maxRows)
98 throws RegistryException;
99
100 /***
101 * "Used to locate one or more tModel information structures. Returns a
102 * tModelList structure."
103 *
104 * @exception RegistryException;
105 */
106 TModelList findTModel(String name,CategoryBag categoryBag,IdentifierBag identifierBag,FindQualifiers findQualifiers,int maxRows)
107 throws RegistryException;
108
109 /***
110 * "Used to get full bindingTemplate information suitable for make one
111 * or more service requests. Returns a bindingDetail message."
112 *
113 * @exception RegistryException;
114 */
115 BindingDetail getBindingDetail(String bindingKey)
116 throws RegistryException;
117
118 /***
119 * "Used to get full bindingTemplate information suitable for make one
120 * or more service requests. Returns a bindingDetail message."
121 *
122 * @exception RegistryException;
123 */
124 BindingDetail getBindingDetail(Vector bindingKeys)
125 throws RegistryException;
126
127 /***
128 * "Used to get the full businessEntity information for one or more
129 * businesses. Returns a businessDetail message."
130 *
131 * @exception RegistryException;
132 */
133 BusinessDetail getBusinessDetail(String businessKey)
134 throws RegistryException;
135
136 /***
137 * "Used to get the full businessEntity information for one or more
138 * businesses. Returns a businessDetail message."
139 *
140 * @exception RegistryException;
141 */
142 BusinessDetail getBusinessDetail(Vector businessKeyVector)
143 throws RegistryException;
144
145 /***
146 * "Used to get extended businessEntity information. Returns a
147 * businessDetailExt message."
148 *
149 * @exception RegistryException;
150 */
151 BusinessDetailExt getBusinessDetailExt(String businessKey)
152 throws RegistryException;
153
154 /***
155 * "Used to get extended businessEntity information. Returns a
156 * businessDetailExt message."
157 *
158 * @exception RegistryException;
159 */
160 BusinessDetailExt getBusinessDetailExt(Vector businessKeyVector)
161 throws RegistryException;
162
163 /***
164 * "Used to get full details for a given set of registered
165 * businessService data. Returns a serviceDetail message."
166 *
167 * @exception RegistryException;
168 */
169 ServiceDetail getServiceDetail(String serviceKey)
170 throws RegistryException;
171
172 /***
173 * "Used to get full details for a given set of registered
174 * businessService data. Returns a serviceDetail message."
175 *
176 * @exception RegistryException;
177 */
178 ServiceDetail getServiceDetail(Vector serviceKeyVector)
179 throws RegistryException;
180
181 /***
182 * "Used to get full details for a given set of registered tModel
183 * data. Returns a tModelDetail message."
184 *
185 * @exception RegistryException;
186 */
187 TModelDetail getTModelDetail(String tModelKey)
188 throws RegistryException;
189
190 /***
191 * "Used to get full details for a given set of registered tModel
192 * data. Returns a tModelDetail message."
193 *
194 * @exception RegistryException;
195 */
196 TModelDetail getTModelDetail(Vector tModelKeyVector)
197 throws RegistryException;
198
199 /***
200 * @exception RegistryException;
201 */
202 DispositionReport addPublisherAssertions(AuthInfo authInfo,Vector assertionVector)
203 throws RegistryException;
204
205 /***
206 * @exception RegistryException;
207 */
208 AssertionStatusReport getAssertionStatusReport(AuthInfo authInfo,String completionStatus)
209 throws RegistryException;
210
211 /***
212 * @exception RegistryException;
213 */
214 PublisherAssertions getPublisherAssertions(AuthInfo authInfo)
215 throws RegistryException;
216
217 /***
218 * "Used to remove an existing bindingTemplate from the bindingTemplates
219 * collection that is part of a specified businessService structure."
220 *
221 * @exception RegistryException;
222 */
223 DispositionReport deleteBinding(AuthInfo authInfo,Vector bindingKeyVector)
224 throws RegistryException;
225
226 /***
227 * "Used to delete registered businessEntity information from the registry."
228 *
229 * @exception RegistryException;
230 */
231 DispositionReport deleteBusiness(AuthInfo authInfo,Vector businessKeyVector)
232 throws RegistryException;
233
234 /***
235 * "Used to delete an existing businessService from the businessServices
236 * collection that is part of a specified businessEntity."
237 *
238 * @exception RegistryException;
239 */
240 DispositionReport deleteService(AuthInfo authInfo,Vector serviceKeyVector)
241 throws RegistryException;
242
243 /***
244 * "Used to delete registered information about a tModel. If there
245 * are any references to a tModel when this call is made, the tModel
246 * will be marked deleted instead of being physically removed."
247 *
248 * @exception RegistryException;
249 */
250 DispositionReport deleteTModel(AuthInfo authInfo,Vector tModelKeyVector)
251 throws RegistryException;
252
253 /***
254 * @exception RegistryException;
255 */
256 DispositionReport deletePublisherAssertions(AuthInfo authInfo,Vector assertionVector)
257 throws RegistryException;
258
259 /***
260 * "Used to inform an Operator Site that a previously provided
261 * authentication token is no longer valid. See get_authToken."
262 *
263 * @exception RegistryException;
264 */
265 DispositionReport discardAuthToken(AuthInfo authInfo)
266 throws RegistryException;
267
268 /***
269 * "Used to request an authentication token from an Operator Site.
270 * Authentication tokens are required to use all other APIs defined
271 * in the publishers API. This server serves as the program's
272 * equivalent of a login request."
273 *
274 * @exception RegistryException;
275 */
276 AuthToken getAuthToken(String userID,String cred)
277 throws RegistryException;
278
279 /***
280 * "Used to request an abbreviated synopsis of all information currently
281 * managed by a given individual."
282 *
283 * @exception RegistryException;
284 */
285 RegisteredInfo getRegisteredInfo(AuthInfo authInfo)
286 throws RegistryException;
287
288 /***
289 * Used to request public property values from the UDDI registry. This
290 * is a proprietary jUDDI/Viens.net API call.
291 *
292 * @exception RegistryException;
293 */
294 RegistryInfo getRegistryInfo()
295 throws RegistryException;
296
297 /***
298 * "Used to register new bindingTemplate information or update existing
299 * bindingTemplate information. Use this to control information about
300 * technical capabilities exposed by a registered business."
301 *
302 * @exception RegistryException;
303 */
304 BindingDetail saveBinding(AuthInfo authInfo,Vector bindingVector)
305 throws RegistryException;
306
307 /***
308 * "Used to register new businessEntity information or update existing
309 * businessEntity information. Use this to control the overall
310 * information about the entire business. Of the save_x APIs this one
311 * has the broadest effect."
312 *
313 * @exception RegistryException;
314 */
315 BusinessDetail saveBusiness(AuthInfo authInfo,Vector businessVector)
316 throws RegistryException;
317
318 /***
319 * "Used to register or update complete information about a businessService
320 * exposed by a specified businessEntity."
321 *
322 * @exception RegistryException;
323 */
324 ServiceDetail saveService(AuthInfo authInfo,Vector serviceVector)
325 throws RegistryException;
326
327 /***
328 * "Used to register or update complete information about a tModel."
329 *
330 * @exception RegistryException;
331 */
332 TModelDetail saveTModel(AuthInfo authInfo,Vector tModelVector)
333 throws RegistryException;;
334
335 /***
336 * @exception RegistryException;
337 */
338 PublisherAssertions setPublisherAssertions(AuthInfo authInfo,Vector assertionVector)
339 throws RegistryException;
340
341 /***
342 * "Used to delete an existing publisher accounts."
343 *
344 * @exception RegistryException;
345 */
346 DispositionReport deletePublisher(AuthInfo authInfo,Vector publisherIDVector)
347 throws RegistryException;
348
349 /***
350 * @exception RegistryException;
351 */
352 PublisherDetail getPublisherDetail(Vector publisherIDVector)
353 throws RegistryException;
354
355 /***
356 * @exception RegistryException;
357 */
358 PublisherList findPublisher(String publisherID,String name,FindQualifiers findQualifiers,int maxRows)
359 throws RegistryException;
360
361 /***
362 * @exception RegistryException;
363 */
364 PublisherDetail savePublisher(AuthInfo authInfo,Vector publisherVector)
365 throws RegistryException;
366
367 /***
368 * @exception RegistryException;
369 */
370 DispositionReport validateValues(Vector businessVector,Vector serviceVector,Vector tModelVector)
371 throws RegistryException;
372
373 /***
374 * @exception RegistryException
375 */
376 RegistryObject execute(RegistryObject request)
377 throws RegistryException;
378 }