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.ws.scout.registry;
17
18 import java.net.URI;
19
20 import org.apache.ws.scout.model.uddi.v2.AssertionStatusReport;
21 import org.apache.ws.scout.model.uddi.v2.AuthToken;
22 import org.apache.ws.scout.model.uddi.v2.BindingDetail;
23 import org.apache.ws.scout.model.uddi.v2.BindingTemplate;
24 import org.apache.ws.scout.model.uddi.v2.BusinessDetail;
25 import org.apache.ws.scout.model.uddi.v2.BusinessEntity;
26 import org.apache.ws.scout.model.uddi.v2.BusinessList;
27 import org.apache.ws.scout.model.uddi.v2.BusinessService;
28 import org.apache.ws.scout.model.uddi.v2.CategoryBag;
29 import org.apache.ws.scout.model.uddi.v2.DiscoveryURLs;
30 import org.apache.ws.scout.model.uddi.v2.DispositionReport;
31 import org.apache.ws.scout.model.uddi.v2.FindQualifiers;
32 import org.apache.ws.scout.model.uddi.v2.IdentifierBag;
33 import org.apache.ws.scout.model.uddi.v2.Name;
34 import org.apache.ws.scout.model.uddi.v2.PublisherAssertion;
35 import org.apache.ws.scout.model.uddi.v2.PublisherAssertions;
36 import org.apache.ws.scout.model.uddi.v2.RegisteredInfo;
37 import org.apache.ws.scout.model.uddi.v2.ServiceDetail;
38 import org.apache.ws.scout.model.uddi.v2.ServiceList;
39 import org.apache.ws.scout.model.uddi.v2.TModel;
40 import org.apache.ws.scout.model.uddi.v2.TModelBag;
41 import org.apache.ws.scout.model.uddi.v2.TModelDetail;
42 import org.apache.ws.scout.model.uddi.v2.TModelList;
43 import org.apache.ws.scout.transport.Transport;
44
45 /**
46 *
47 * IRegistry interface.
48 *
49 * <p>Only the functions that scout relies on, are in this interface.</p>
50 *
51 * <i>Borrowed from jUDDI.</i>
52 *
53 *
54 * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
55 */
56
57 public interface IRegistry extends IRegistryBase {
58 /**
59 * @return Returns the inquiryURL.
60 */
61 URI getInquiryURI();
62
63 /**
64 * @param uri The inquiry uri to set.
65 */
66 void setInquiryURI(URI uri);
67
68 /**
69 * @return Returns the publishURL.
70 */
71 URI getPublishURI();
72
73 /**
74 * @param uri The publish uri to set.
75 */
76 void setPublishURI(URI uri);
77
78 /**
79 * @return Returns the transport.
80 */
81 Transport getTransport();
82
83 /**
84 * @param transport The transport to set.
85 */
86 void setTransport(Transport transport);
87
88 /**
89 * @exception RegistryException;
90 */
91 PublisherAssertions setPublisherAssertions(String authInfo, PublisherAssertion[] assertionArray)
92 throws RegistryException;
93
94 /**
95 * "Used to register or update complete information about a businessService
96 * exposed by a specified businessEntity."
97 *
98 * @exception RegistryException;
99 */
100 ServiceDetail saveService(String authInfo, BusinessService[] serviceArray)
101 throws RegistryException;
102
103 /**
104 * "Used to register new bindingTemplate information or update existing
105 * bindingTemplate information. Use this to control information about
106 * technical capabilities exposed by a registered business."
107 *
108 * @exception RegistryException;
109 */
110 BindingDetail saveBinding(String authInfo, BindingTemplate[] bindingArray)
111 throws RegistryException;
112
113 /**
114 * "Used to register new businessEntity information or update existing
115 * businessEntity information. Use this to control the overall
116 * information about the entire business. Of the save_x APIs this one
117 * has the broadest effect."
118 *
119 * @exception RegistryException;
120 */
121 BusinessDetail saveBusiness(String authInfo, BusinessEntity[] businessArray)
122 throws RegistryException;
123
124
125 /**
126 * "Used to register or update complete information about a tModel."
127 *
128 * @exception RegistryException;
129 */
130 TModelDetail saveTModel(String authInfo, TModel[] tModelArray)
131 throws RegistryException;
132
133 /**
134 * "Used to remove an existing bindingTemplate from the bindingTemplates
135 * collection that is part of a specified businessService structure."
136 *
137 * @exception RegistryException;
138 */
139 DispositionReport deleteBinding(String authInfo, String[] bindingKeyArray)
140 throws RegistryException;
141
142 /**
143 * "Used to delete registered businessEntity information from the registry."
144 *
145 * @exception RegistryException;
146 */
147 DispositionReport deleteBusiness(String authInfo, String[] businessKeyArray)
148 throws RegistryException;
149
150 /**
151 * "Used to delete an existing businessService from the businessServices
152 * collection that is part of a specified businessEntity."
153 *
154 * @exception RegistryException;
155 */
156 DispositionReport deleteService(String authInfo, String[] serviceKeyArray)
157 throws RegistryException;
158
159 /**
160 * "Used to delete registered information about a tModel. If there
161 * are any references to a tModel when this call is made, the tModel
162 * will be marked deleted instead of being physically removed."
163 *
164 * @exception RegistryException;
165 */
166 DispositionReport deleteTModel(String authInfo, String[] tModelKeyArray)
167 throws RegistryException;
168
169 /**
170 * @exception RegistryException;
171 */
172 AssertionStatusReport getAssertionStatusReport(String authInfo, String completionStatus)
173 throws RegistryException;
174
175 /**
176 * @exception RegistryException;
177 */
178 DispositionReport deletePublisherAssertions(String authInfo, PublisherAssertion[] assertionArray)
179 throws RegistryException;
180
181 /**
182 * "Used to request an authentication token from an Operator Site.
183 * Authentication tokens are required to use all other APIs defined
184 * in the publishers API. This server serves as the program's
185 * equivalent of a login request."
186 *
187 * @exception RegistryException;
188 */
189 AuthToken getAuthToken(String userID,String cred)
190 throws RegistryException;
191
192 /**
193 * Used to locate information about one or more businesses. Returns a
194 * businessList message that matches the conditions specified.
195 *
196 * @exception RegistryException;
197 */
198 BusinessList findBusiness(Name[] nameArray,DiscoveryURLs discoveryURLs,IdentifierBag identifierBag,CategoryBag categoryBag,TModelBag tModelBag,FindQualifiers findQualifiers,int maxRows)
199 throws RegistryException;
200
201 /**
202 * "Used to get the full businessEntity information for one or more
203 * businesses. Returns a businessDetail message."
204 *
205 * @exception RegistryException;
206 */
207 BusinessDetail getBusinessDetail(String businessKey)
208 throws RegistryException;
209
210 /**
211 * "Used to get the full businessEntity information for one or more
212 * businesses. Returns a businessDetail message."
213 *
214 * @exception RegistryException;
215 */
216 BusinessDetail getBusinessDetail(String[] businessKeyVector)
217 throws RegistryException;
218
219 /**
220 * @exception RegistryException;
221 */
222 PublisherAssertions getPublisherAssertions(String authInfo)
223 throws RegistryException;
224
225 /**
226 * @exception RegistryException;
227 */
228 RegisteredInfo getRegisteredInfo(String authInfo)
229 throws RegistryException;
230
231 /**
232 * "Used to locate one or more tModel information structures. Returns a
233 * tModelList structure."
234 *
235 * @exception RegistryException;
236 */
237 TModelList findTModel(String name,CategoryBag categoryBag,IdentifierBag identifierBag,FindQualifiers findQualifiers,int maxRows)
238 throws RegistryException;
239
240 /**
241 * "Used to locate specific bindings within a registered
242 * businessService. Returns a bindingDetail message."
243 *
244 * @exception RegistryException
245 */
246 BindingDetail findBinding(String serviceKey,CategoryBag categoryBag,TModelBag tModelBag,FindQualifiers findQualifiers,int maxRows)
247 throws RegistryException;
248
249 /**
250 * "Used to locate specific services within a registered
251 * businessEntity. Return a serviceList message." From the
252 * XML spec (API, p18) it appears that the name, categoryBag,
253 * and tModelBag arguments are mutually exclusive.
254 *
255 * @exception RegistryException;
256 */
257 ServiceList findService(String businessKey,Name[] nameArray,CategoryBag categoryBag,TModelBag tModelBag,FindQualifiers findQualifiers,int maxRows)
258 throws RegistryException;
259
260 /**
261 * "Used to get full details for a given set of registered tModel
262 * data. Returns a tModelDetail message."
263 *
264 * @exception RegistryException;
265 */
266 TModelDetail getTModelDetail(String tModelKey)
267 throws RegistryException;
268
269 /**
270 * "Used to get full details for a given set of registered tModel
271 * data. Returns a tModelDetail message."
272 *
273 * @exception RegistryException;
274 */
275 TModelDetail getTModelDetail(String[] tModelKeyArray)
276 throws RegistryException;
277
278 /**
279 * "Used to get full details for a given set of registered
280 * businessService data. Returns a serviceDetail message."
281 *
282 * @exception RegistryException;
283 */
284 ServiceDetail getServiceDetail(String serviceKey)
285 throws RegistryException;
286
287 /**
288 * "Used to get full details for a given set of registered
289 * businessService data. Returns a serviceDetail message."
290 *
291 * @exception RegistryException;
292 */
293 ServiceDetail getServiceDetail(String[] serviceKeyArray)
294 throws RegistryException;
295
296
297 }