This project has retired. For details please refer to its Attic page.
IRegistry xref
View Javadoc
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 }