1 /*
2 * Copyright 2001-2008 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 */
17
18
19 package org.uddi.api_v3;
20
21 import java.io.Serializable;
22 import java.util.ArrayList;
23 import java.util.List;
24 import javax.xml.bind.annotation.XmlAccessType;
25 import javax.xml.bind.annotation.XmlAccessorType;
26 import javax.xml.bind.annotation.XmlAttribute;
27 import javax.xml.bind.annotation.XmlElement;
28 import javax.xml.bind.annotation.XmlTransient;
29 import javax.xml.bind.annotation.XmlType;
30
31
32 /**
33 * · authInfo: This optional argument is an element that contains an
34 * authentication token. Registries that wish to restrict who can perform an
35 * inquiry in them typically require authInfo for this call.<br><br>
36 *
37 * · categoryBag: This is a list of category references in the form of
38 * keyedReference elements and keyedReferenceGroup structures. The returned
39 * businessList contains businessInfo elements matching all of the categories
40 * passed (logical AND by default). Specifying the appropriate findQualifiers
41 * can override this behavior. Matching rules for each can be found in Section
42 * 5.1.7 Matching Rules for keyedReferences and keyedReferenceGroups.<br><br>
43 *
44 * · discoveryURLs: This is a list of discoveryURL structures to be matched
45 * against the discoveryURL data associated with registered businessEntity
46 * information. To search for URL without regard to useType attribute values,
47 * omit the useType attribute or pass it as an empty attribute. If useType
48 * values are included, the match occurs only on registered information that
49 * matches both the useType and URL value. The returned businessList contains
50 * businessInfo structures matching any of the URL's passed (logical OR).<br><br>
51 *
52 * · identifierBag: This is a list of business identifier references in the form
53 * of keyedReference elements. The returned businessList contains businessInfo
54 * structures matching any of the identifiers passed (logical OR by default).
55 * Specifying the appropriate findQualifiers can override this behavior.
56 * Matching rules can be found in Section 5.1.7 Matching Rules for
57 * keyedReferences and keyedReferenceGroups.<br><br>
58 *
59 * · findQualifiers: This collection of findQualifier elements can be used to
60 * alter the default behavior of search functionality. See the Section 5.1.4
61 * Find Qualifiers, for more information.<br><br>
62 *
63 * · find_relatedBusinesses: This argument is an embedded inquiry and limits the
64 * search results to those businesses that are related to a specified business
65 * in a specified way. The result is comprised of an intersection of the
66 * businesses located with this embedded inquiry and the businesses discovered
67 * using the remaining inquiry criteria. The standard syntax and arguments for
68 * find_relatedBusinesses apply here. Note that the authInfo argument to this
69 * embedded find_relatedBusinesses argument is always ignored. Large result set
70 * behavior involving the return of a listDescription does not apply within an
71 * embedded argument. If the intermediate result set produced is too large, then
72 * the overall query will return E_resultSetTooLarge with an indication that the
73 * embedded query returned too many results. If an E_unsupported error occurs as
74 * part of processing this embedded argument, it is propagated up to the
75 * containing (calling) API. See Section 5.1.11 find_relatedBusinesses, for
76 * further information.<br><br>
77 *
78 * · find_tModel: This argument provides an alternative or additional way of
79 * specifying tModelKeys that are used to find businesses which have service
80 * bindings with specific technical fingerprints as described above for the
81 * tModelBag element. When specified, the find_tModel argument is treated as an
82 * embedded inquiry that is performed prior to searching for businesses. The
83 * tModelKeys found are those whose tModels match the criteria contained within
84 * the find_tModel element. The tModelKeys found are added to the (possibly
85 * empty) collection specified by the tModelBag prior to finding qualified
86 * businesses. Note that the authInfo argument to this embedded find_tModel
87 * argument is always ignored. Large result set behavior involving the return of
88 * a listDescription does not apply within an embedded argument. If the
89 * intermediate result set produced is too large, then the overall query will
90 * return E_resultSetTooLarge with an indication that the embedded query
91 * returned too many results. If an E_unsupported error occurs as part of
92 * processing this embedded argument, it is propagated up to the containing
93 * (calling) API.<br><br>
94 *
95 * · listHead: This optional integer value is used to indicate which item SHOULD
96 * be returned as the head of the list. The client may request a subset of the
97 * matching data by indicating which item in the resultant set constitutes the
98 * beginning of the returned data. The use of the listDescription element is
99 * mutually exclusive to the use of the truncated attribute that simply
100 * indicates a truncated result list in the Inquiry APIs. See Section 5.1.5 Use
101 * of listDescription, for a detailed description of the listHead argument.<br><br>
102 *
103 * · maxRows: This optional integer value allows the requesting program to limit
104 * the number of results returned. This argument can be used in conjunction with
105 * the listHead argument.<br><br>
106 *
107 * · name: This optional collection of string values represents one or more
108 * names potentially qualified with xml:lang attributes. Since "exactMatch" is
109 * the default behavior, the value supplied for the name argument must be an
110 * exact match. If the "approximateMatch" findQualifier is used together with an
111 * appropriate wildcard character in the name, then any businessEntity matching
112 * this name with wildcards and the other criteria will be referenced in the
113 * results. For more on wildcard matching, see Section 5.1.6 About Wildcards.
114 * The businessList returned contains businessInfo structures for businesses
115 * whose name matches the value(s) passed (lexical-order match – i.e., leftmost
116 * in left-to-right languages). If multiple name values are passed, the match
117 * occurs on a logical OR basis. Each name MAY be marked with an xml:lang
118 * adornment. If a language markup is specified, the search results report a
119 * match only on those entries that match both the name value and language
120 * criteria. The match on language is a leftmost case-insensitive comparison of
121 * the characters supplied. This allows one to find all businesses whose name
122 * begins with an "A" and are expressed in any dialect of French, for example.
123 * Values which can be passed in the language criteria adornment MUST obey the
124 * rules governing the xml:lang data type as defined in Section 3.3.2.3 name.<br><br>
125 *
126 * · tModelBag: Every Web service instance exposed by a registered
127 * businessEntity is represented in UDDI by a bindingTemplate contained within
128 * the businessEntity. Each bindingTemplate contains a collection of tModel
129 * references called its "technical fingerprint" that specifies its type. The
130 * tModelBag argument is a collection of tModelKey elements specifying that the
131 * search results are to be limited to businesses that expose Web services with
132 * technical fingerprints that match.<br><br>
133 *
134 * If a find_tModel argument is specified (see above), it is treated as an
135 * embedded inquiry. The tModelKeys returned as a result of this embedded
136 * find_tModel argument are used as if they had been supplied in a tModelBag
137 * argument. Changing the order of the keys in the collection or specifying the
138 * same tModelKey more than once does not change the behavior of the find. *
139 * By default, only bindingTemplates that contain all of the tModelKeys in the
140 * technical fingerprint match (logical AND). Specifying appropriate
141 * findQualifiers can override this behavior so that bindingTemplates containing
142 * any of the specified tModelKeys match (logical OR).<br><br>
143 * <p>Java class for find_business complex type.
144 *
145 * <p>The following schema fragment specifies the expected content contained within this class.
146 *
147 * <pre>
148 * <complexType name="find_business">
149 * <complexContent>
150 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
151 * <sequence>
152 * <element ref="{urn:uddi-org:api_v3}authInfo" minOccurs="0"/>
153 * <element ref="{urn:uddi-org:api_v3}findQualifiers" minOccurs="0"/>
154 * <element ref="{urn:uddi-org:api_v3}name" maxOccurs="unbounded" minOccurs="0"/>
155 * <element ref="{urn:uddi-org:api_v3}identifierBag" minOccurs="0"/>
156 * <element ref="{urn:uddi-org:api_v3}categoryBag" minOccurs="0"/>
157 * <element ref="{urn:uddi-org:api_v3}tModelBag" minOccurs="0"/>
158 * <element ref="{urn:uddi-org:api_v3}find_tModel" minOccurs="0"/>
159 * <element ref="{urn:uddi-org:api_v3}discoveryURLs" minOccurs="0"/>
160 * <element ref="{urn:uddi-org:api_v3}find_relatedBusinesses" minOccurs="0"/>
161 * </sequence>
162 * <attribute name="maxRows" type="{http://www.w3.org/2001/XMLSchema}int" />
163 * <attribute name="listHead" type="{http://www.w3.org/2001/XMLSchema}int" />
164 * </restriction>
165 * </complexContent>
166 * </complexType>
167 * </pre>
168 *
169 *
170 */
171 @XmlAccessorType(XmlAccessType.FIELD)
172 @XmlType(name = "find_business", propOrder = {
173 "authInfo",
174 "findQualifiers",
175 "name",
176 "identifierBag",
177 "categoryBag",
178 "tModelBag",
179 "findTModel",
180 "discoveryURLs",
181 "findRelatedBusinesses"
182 })
183 public class FindBusiness implements Serializable{
184 @XmlTransient
185 private static final long serialVersionUID = 1590618928847932109L;
186 protected String authInfo;
187 protected FindQualifiers findQualifiers;
188 protected List<Name> name;
189 protected IdentifierBag identifierBag;
190 protected CategoryBag categoryBag;
191 protected TModelBag tModelBag;
192 @XmlElement(name = "find_tModel")
193 protected FindTModel findTModel;
194 protected DiscoveryURLs discoveryURLs;
195 @XmlElement(name = "find_relatedBusinesses")
196 protected FindRelatedBusinesses findRelatedBusinesses;
197 @XmlAttribute
198 protected Integer maxRows;
199 @XmlAttribute
200 protected Integer listHead;
201
202 /**
203 * Gets the value of the authInfo property.
204 *
205 * @return
206 * possible object is
207 * {@link String }
208 *
209 */
210 public String getAuthInfo() {
211 return authInfo;
212 }
213
214 /**
215 * Sets the value of the authInfo property.
216 *
217 * @param value
218 * allowed object is
219 * {@link String }
220 *
221 */
222 public void setAuthInfo(String value) {
223 this.authInfo = value;
224 }
225
226 /**
227 * Gets the value of the findQualifiers property.
228 *
229 * @return
230 * possible object is
231 * {@link FindQualifiers }
232 *
233 */
234 public FindQualifiers getFindQualifiers() {
235 return findQualifiers;
236 }
237
238 /**
239 * Sets the value of the findQualifiers property.
240 *
241 * @param value
242 * allowed object is
243 * {@link FindQualifiers }
244 *
245 */
246 public void setFindQualifiers(FindQualifiers value) {
247 this.findQualifiers = value;
248 }
249
250 /**
251 * Gets the value of the name property.
252 *
253 * <p>
254 * This accessor method returns a reference to the live list,
255 * not a snapshot. Therefore any modification you make to the
256 * returned list will be present inside the JAXB object.
257 * This is why there is not a <CODE>set</CODE> method for the name property.
258 *
259 * <p>
260 * For example, to add a new item, do as follows:
261 * <pre>
262 * getName().add(newItem);
263 * </pre>
264 *
265 *
266 * <p>
267 * Objects of the following type(s) are allowed in the list
268 * {@link Name }
269 *
270 *
271 */
272 public List<Name> getName() {
273 if (name == null) {
274 name = new ArrayList<Name>();
275 }
276 return this.name;
277 }
278
279 /**
280 * Gets the value of the identifierBag property.
281 *
282 * @return
283 * possible object is
284 * {@link IdentifierBag }
285 *
286 */
287 public IdentifierBag getIdentifierBag() {
288 return identifierBag;
289 }
290
291 /**
292 * Sets the value of the identifierBag property.
293 *
294 * @param value
295 * allowed object is
296 * {@link IdentifierBag }
297 *
298 */
299 public void setIdentifierBag(IdentifierBag value) {
300 this.identifierBag = value;
301 }
302
303 /**
304 * Gets the value of the categoryBag property.
305 *
306 * @return
307 * possible object is
308 * {@link CategoryBag }
309 *
310 */
311 public CategoryBag getCategoryBag() {
312 return categoryBag;
313 }
314
315 /**
316 * Sets the value of the categoryBag property.
317 *
318 * @param value
319 * allowed object is
320 * {@link CategoryBag }
321 *
322 */
323 public void setCategoryBag(CategoryBag value) {
324 this.categoryBag = value;
325 }
326
327 /**
328 * Gets the value of the tModelBag property.
329 *
330 * @return
331 * possible object is
332 * {@link TModelBag }
333 *
334 */
335 public TModelBag getTModelBag() {
336 return tModelBag;
337 }
338
339 /**
340 * Sets the value of the tModelBag property.
341 *
342 * @param value
343 * allowed object is
344 * {@link TModelBag }
345 *
346 */
347 public void setTModelBag(TModelBag value) {
348 this.tModelBag = value;
349 }
350
351 /**
352 * Gets the value of the findTModel property.
353 *
354 * @return
355 * possible object is
356 * {@link FindTModel }
357 *
358 */
359 public FindTModel getFindTModel() {
360 return findTModel;
361 }
362
363 /**
364 * Sets the value of the findTModel property.
365 *
366 * @param value
367 * allowed object is
368 * {@link FindTModel }
369 *
370 */
371 public void setFindTModel(FindTModel value) {
372 this.findTModel = value;
373 }
374
375 /**
376 * Gets the value of the discoveryURLs property.
377 *
378 * @return
379 * possible object is
380 * {@link DiscoveryURLs }
381 *
382 */
383 public DiscoveryURLs getDiscoveryURLs() {
384 return discoveryURLs;
385 }
386
387 /**
388 * Sets the value of the discoveryURLs property.
389 *
390 * @param value
391 * allowed object is
392 * {@link DiscoveryURLs }
393 *
394 */
395 public void setDiscoveryURLs(DiscoveryURLs value) {
396 this.discoveryURLs = value;
397 }
398
399 /**
400 * Gets the value of the findRelatedBusinesses property.
401 *
402 * @return
403 * possible object is
404 * {@link FindRelatedBusinesses }
405 *
406 */
407 public FindRelatedBusinesses getFindRelatedBusinesses() {
408 return findRelatedBusinesses;
409 }
410
411 /**
412 * Sets the value of the findRelatedBusinesses property.
413 *
414 * @param value
415 * allowed object is
416 * {@link FindRelatedBusinesses }
417 *
418 */
419 public void setFindRelatedBusinesses(FindRelatedBusinesses value) {
420 this.findRelatedBusinesses = value;
421 }
422
423 /**
424 * Gets the value of the maxRows property.
425 *
426 * @return
427 * possible object is
428 * {@link Integer }
429 *
430 */
431 public Integer getMaxRows() {
432 return maxRows;
433 }
434
435 /**
436 * Sets the value of the maxRows property.
437 *
438 * @param value
439 * allowed object is
440 * {@link Integer }
441 *
442 */
443 public void setMaxRows(Integer value) {
444 this.maxRows = value;
445 }
446
447 /**
448 * Gets the value of the listHead property.
449 *
450 * @return
451 * possible object is
452 * {@link Integer }
453 *
454 */
455 public Integer getListHead() {
456 return listHead;
457 }
458
459 /**
460 * Sets the value of the listHead property.
461 *
462 * @param value
463 * allowed object is
464 * {@link Integer }
465 *
466 */
467 public void setListHead(Integer value) {
468 this.listHead = value;
469 }
470
471 }