KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > juddi > IRegistry


1 /*
2  * Copyright 2001-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.apache.juddi;
17
18 import java.util.Vector JavaDoc;
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 JavaDoc UDDI_V1_GENERIC = "1.0";
56   String JavaDoc UDDI_V2_GENERIC = "2.0";
57   String JavaDoc UDDI_V3_GENERIC = "3.0";
58   String JavaDoc JUDDI_V1_GENERIC = "1.0";
59
60   String JavaDoc UDDI_V1_NAMESPACE = "urn:uddi-org:api";
61   String JavaDoc UDDI_V2_NAMESPACE = "urn:uddi-org:api_v2";
62   String JavaDoc UDDI_V3_NAMESPACE = "urn:uddi-org:api_v3";
63   String JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc businessKey,Vector JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc tModelKeyVector)
197     throws RegistryException;
198
199   /**
200    * @exception RegistryException;
201    */

202   DispositionReport addPublisherAssertions(AuthInfo authInfo,Vector JavaDoc assertionVector)
203     throws RegistryException;
204
205   /**
206    * @exception RegistryException;
207    */

208   AssertionStatusReport getAssertionStatusReport(AuthInfo authInfo,String JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc tModelKeyVector)
251     throws RegistryException;
252
253   /**
254    * @exception RegistryException;
255    */

256   DispositionReport deletePublisherAssertions(AuthInfo authInfo,Vector JavaDoc 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 JavaDoc userID,String JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc tModelVector)
333     throws RegistryException;;
334
335   /**
336    * @exception RegistryException;
337    */

338   PublisherAssertions setPublisherAssertions(AuthInfo authInfo,Vector JavaDoc 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 JavaDoc publisherIDVector)
347     throws RegistryException;
348
349   /**
350    * @exception RegistryException;
351    */

352   PublisherDetail getPublisherDetail(Vector JavaDoc publisherIDVector)
353     throws RegistryException;
354
355   /**
356    * @exception RegistryException;
357    */

358   PublisherList findPublisher(String JavaDoc publisherID,String JavaDoc name,FindQualifiers findQualifiers,int maxRows)
359     throws RegistryException;
360
361   /**
362    * @exception RegistryException;
363    */

364   PublisherDetail savePublisher(AuthInfo authInfo,Vector JavaDoc publisherVector)
365     throws RegistryException;
366
367   /**
368    * @exception RegistryException;
369    */

370   DispositionReport validateValues(Vector JavaDoc businessVector,Vector JavaDoc serviceVector,Vector JavaDoc tModelVector)
371     throws RegistryException;
372
373   /**
374    * @exception RegistryException
375    */

376   RegistryObject execute(RegistryObject request)
377     throws RegistryException;
378 }
Popular Tags