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