001: /*
002: * Copyright 2001-2004 The Apache Software Foundation.
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016: package org.apache.ws.scout.registry;
017:
018: import java.net.URI;
019:
020: import org.apache.ws.scout.transport.Transport;
021: import org.apache.ws.scout.uddi.AssertionStatusReport;
022: import org.apache.ws.scout.uddi.AuthToken;
023: import org.apache.ws.scout.uddi.BindingDetail;
024: import org.apache.ws.scout.uddi.BindingTemplate;
025: import org.apache.ws.scout.uddi.BusinessDetail;
026: import org.apache.ws.scout.uddi.BusinessEntity;
027: import org.apache.ws.scout.uddi.BusinessList;
028: import org.apache.ws.scout.uddi.BusinessService;
029: import org.apache.ws.scout.uddi.CategoryBag;
030: import org.apache.ws.scout.uddi.DiscoveryURLs;
031: import org.apache.ws.scout.uddi.DispositionReport;
032: import org.apache.ws.scout.uddi.FindQualifiers;
033: import org.apache.ws.scout.uddi.IdentifierBag;
034: import org.apache.ws.scout.uddi.Name;
035: import org.apache.ws.scout.uddi.PublisherAssertion;
036: import org.apache.ws.scout.uddi.PublisherAssertions;
037: import org.apache.ws.scout.uddi.ServiceDetail;
038: import org.apache.ws.scout.uddi.ServiceList;
039: import org.apache.ws.scout.uddi.TModel;
040: import org.apache.ws.scout.uddi.TModelBag;
041: import org.apache.ws.scout.uddi.TModelDetail;
042: import org.apache.ws.scout.uddi.TModelList;
043:
044: /**
045: *
046: * IRegistry interface.
047: *
048: * <p>Only the functions that scout relies on, are in this interface.</p>
049: *
050: * <i>Borrowed from jUDDI.</i>
051: *
052: */
053:
054: public interface IRegistry {
055:
056: String execute(String uddiRequest, String urltype)
057: throws RegistryException;
058:
059: /**
060: * @return Returns the inquiryURL.
061: */
062: URI getInquiryURI();
063:
064: /**
065: * @param inquiryURL The inquiryURL to set.
066: */
067: void setInquiryURI(URI uri);
068:
069: /**
070: * @return Returns the publishURL.
071: */
072: URI getPublishURI();
073:
074: /**
075: * @param publishURL The publishURL to set.
076: */
077: void setPublishURI(URI uri);
078:
079: /**
080: * @return Returns the transport.
081: */
082: Transport getTransport();
083:
084: /**
085: * @param transport The transport to set.
086: */
087: void setTransport(Transport transport);
088:
089: /**
090: * @exception RegistryException;
091: */
092: PublisherAssertions setPublisherAssertions(String authInfo,
093: PublisherAssertion[] assertionArray)
094: throws RegistryException;
095:
096: /**
097: * "Used to register or update complete information about a businessService
098: * exposed by a specified businessEntity."
099: *
100: * @exception RegistryException;
101: */
102: ServiceDetail saveService(String authInfo,
103: BusinessService[] serviceArray) throws RegistryException;
104:
105: /**
106: * "Used to register new bindingTemplate information or update existing
107: * bindingTemplate information. Use this to control information about
108: * technical capabilities exposed by a registered business."
109: *
110: * @exception RegistryException;
111: */
112: BindingDetail saveBinding(String authInfo,
113: BindingTemplate[] bindingArray) throws RegistryException;
114:
115: /**
116: * "Used to register new businessEntity information or update existing
117: * businessEntity information. Use this to control the overall
118: * information about the entire business. Of the save_x APIs this one
119: * has the broadest effect."
120: *
121: * @exception RegistryException;
122: */
123: BusinessDetail saveBusiness(String authInfo,
124: BusinessEntity[] businessArray) throws RegistryException;
125:
126: /**
127: * "Used to register or update complete information about a tModel."
128: *
129: * @exception RegistryException;
130: */
131: TModelDetail saveTModel(String authInfo, TModel[] tModelArray)
132: throws RegistryException;
133:
134: /**
135: * "Used to remove an existing bindingTemplate from the bindingTemplates
136: * collection that is part of a specified businessService structure."
137: *
138: * @exception RegistryException;
139: */
140: DispositionReport deleteBinding(String authInfo,
141: String[] bindingKeyArray) throws RegistryException;
142:
143: /**
144: * "Used to delete registered businessEntity information from the registry."
145: *
146: * @exception RegistryException;
147: */
148: DispositionReport deleteBusiness(String authInfo,
149: String[] businessKeyArray) throws RegistryException;
150:
151: /**
152: * "Used to delete an existing businessService from the businessServices
153: * collection that is part of a specified businessEntity."
154: *
155: * @exception RegistryException;
156: */
157: DispositionReport deleteService(String authInfo,
158: String[] serviceKeyArray) throws RegistryException;
159:
160: /**
161: * "Used to delete registered information about a tModel. If there
162: * are any references to a tModel when this call is made, the tModel
163: * will be marked deleted instead of being physically removed."
164: *
165: * @exception RegistryException;
166: */
167: DispositionReport deleteTModel(String authInfo,
168: String[] tModelKeyArray) throws RegistryException;
169:
170: /**
171: * @exception RegistryException;
172: */
173: AssertionStatusReport getAssertionStatusReport(String authInfo,
174: String completionStatus) throws RegistryException;
175:
176: /**
177: * @exception RegistryException;
178: */
179: DispositionReport deletePublisherAssertions(String authInfo,
180: PublisherAssertion[] assertionArray)
181: throws RegistryException;
182:
183: /**
184: * "Used to request an authentication token from an Operator Site.
185: * Authentication tokens are required to use all other APIs defined
186: * in the publishers API. This server serves as the program's
187: * equivalent of a login request."
188: *
189: * @exception RegistryException;
190: */
191: AuthToken getAuthToken(String userID, String cred)
192: throws RegistryException;
193:
194: /**
195: * Used to locate information about one or more businesses. Returns a
196: * businessList message that matches the conditions specified.
197: *
198: * @exception RegistryException;
199: */
200: BusinessList findBusiness(Name[] nameArray,
201: DiscoveryURLs discoveryURLs, IdentifierBag identifierBag,
202: CategoryBag categoryBag, TModelBag tModelBag,
203: FindQualifiers findQualifiers, int maxRows)
204: throws RegistryException;
205:
206: /**
207: * "Used to get the full businessEntity information for one or more
208: * businesses. Returns a businessDetail message."
209: *
210: * @exception RegistryException;
211: */
212: BusinessDetail getBusinessDetail(String businessKey)
213: throws RegistryException;
214:
215: /**
216: * "Used to get the full businessEntity information for one or more
217: * businesses. Returns a businessDetail message."
218: *
219: * @exception RegistryException;
220: */
221: BusinessDetail getBusinessDetail(String[] businessKeyVector)
222: throws RegistryException;
223:
224: /**
225: * @exception RegistryException;
226: */
227: PublisherAssertions getPublisherAssertions(String authInfo)
228: throws RegistryException;
229:
230: /**
231: * "Used to locate one or more tModel information structures. Returns a
232: * tModelList structure."
233: *
234: * @exception RegistryException;
235: */
236: TModelList findTModel(String name, CategoryBag categoryBag,
237: IdentifierBag identifierBag, FindQualifiers findQualifiers,
238: int maxRows) 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,
247: CategoryBag categoryBag, TModelBag tModelBag,
248: FindQualifiers findQualifiers, int maxRows)
249: throws RegistryException;
250:
251: /**
252: * "Used to locate specific services within a registered
253: * businessEntity. Return a serviceList message." From the
254: * XML spec (API, p18) it appears that the name, categoryBag,
255: * and tModelBag arguments are mutually exclusive.
256: *
257: * @exception RegistryException;
258: */
259: ServiceList findService(String businessKey, Name[] nameArray,
260: CategoryBag categoryBag, TModelBag tModelBag,
261: FindQualifiers findQualifiers, int maxRows)
262: throws RegistryException;
263:
264: /**
265: * "Used to get full details for a given set of registered tModel
266: * data. Returns a tModelDetail message."
267: *
268: * @exception RegistryException;
269: */
270: TModelDetail getTModelDetail(String tModelKey)
271: throws RegistryException;
272:
273: /**
274: * "Used to get full details for a given set of registered tModel
275: * data. Returns a tModelDetail message."
276: *
277: * @exception RegistryException;
278: */
279: TModelDetail getTModelDetail(String[] tModelKeyArray)
280: throws RegistryException;
281:
282: /**
283: * "Used to get full details for a given set of registered
284: * businessService data. Returns a serviceDetail message."
285: *
286: * @exception RegistryException;
287: */
288: ServiceDetail getServiceDetail(String serviceKey)
289: throws RegistryException;
290:
291: /**
292: * "Used to get full details for a given set of registered
293: * businessService data. Returns a serviceDetail message."
294: *
295: * @exception RegistryException;
296: */
297: ServiceDetail getServiceDetail(String[] serviceKeyArray)
298: throws RegistryException;
299:
300: }
|