View Javadoc
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  * &lt;complexType name="find_business">
149  *   &lt;complexContent>
150  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
151  *       &lt;sequence>
152  *         &lt;element ref="{urn:uddi-org:api_v3}authInfo" minOccurs="0"/>
153  *         &lt;element ref="{urn:uddi-org:api_v3}findQualifiers" minOccurs="0"/>
154  *         &lt;element ref="{urn:uddi-org:api_v3}name" maxOccurs="unbounded" minOccurs="0"/>
155  *         &lt;element ref="{urn:uddi-org:api_v3}identifierBag" minOccurs="0"/>
156  *         &lt;element ref="{urn:uddi-org:api_v3}categoryBag" minOccurs="0"/>
157  *         &lt;element ref="{urn:uddi-org:api_v3}tModelBag" minOccurs="0"/>
158  *         &lt;element ref="{urn:uddi-org:api_v3}find_tModel" minOccurs="0"/>
159  *         &lt;element ref="{urn:uddi-org:api_v3}discoveryURLs" minOccurs="0"/>
160  *         &lt;element ref="{urn:uddi-org:api_v3}find_relatedBusinesses" minOccurs="0"/>
161  *       &lt;/sequence>
162  *       &lt;attribute name="maxRows" type="{http://www.w3.org/2001/XMLSchema}int" />
163  *       &lt;attribute name="listHead" type="{http://www.w3.org/2001/XMLSchema}int" />
164  *     &lt;/restriction>
165  *   &lt;/complexContent>
166  * &lt;/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 }