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   * · businessKey: This optional uddi_key is used to specify a particular
38   * businessEntity instance to search. When supplied, this argument is used to
39   * specify an existing businessEntity within which services should be found.
40   * Projected services are included unless the "suppressProjectedServices"
41   * findQualifier is used. If businessKey it is either omitted or specified as
42   * empty (i.e., businessKey=""), this indicates that all businessEntities are to
43   * be searched for services that meet the other criteria supplied without regard
44   * to the business that provides them and service projections does not apply.<br><br>
45   *
46   * · categoryBag: This is a list of category references. The returned
47   * serviceList contains serviceInfo structures matching all of the categories
48   * passed (logical AND by default). Specifying the appropriate findQualifiers
49   * can override this behavior. Matching rules for the use of keyedReferences and
50   * keyedReferenceGroups are described in Section 5.1.7 Matching Rules for
51   * keyedReferences and keyedReferenceGroups.<br><br>
52   *
53   * · findQualifiers: This optional collection of findQualifier elements can be
54   * used to alter the default behavior of search functionality. See Section 5.1.4
55   * Find Qualifiers, for more information.<br><br>
56   *
57   * · find_tModel: This argument provides an alternative or additional way of
58   * specifying tModelKeys that are used to find services which have service
59   * bindings with specific technical fingerprints, as described above for the
60   * tModelBag element. When specified, the find_tModel argument is treated as an
61   * embedded inquiry that is performed prior to searching for services. The
62   * tModelKeys found are those whose tModels match the criteria contained within
63   * the find_tModel element. The tModelKeys found are added to the (possibly
64   * empty) collection specified by the tModelBag prior to finding qualified
65   * services. Note that the authInfo argument to this embedded find_tModel
66   * argument is always ignored. Large result set behavior involving the return of
67   * a listDescription does not apply within an embedded argument. If an
68   * E_unsupported error occurs as part of processing this embedded argument, it
69   * is propagated up to the containing (calling) API.<br><br>
70   *
71   * · listHead: This optional integer value is used to indicate which item SHOULD
72   * be returned as the head of the list. The client may request a subset of the
73   * matching data by indicating which item in the resultant set constitutes the
74   * beginning of the returned data. The use of the listDescription element is
75   * mutually exclusive to the use of the truncated attribute that simply
76   * indicates a truncated result list in the Inquiry APIs. See Section 5.1.5 Use
77   * of listDescription, for a detailed description of the listHead argument.<br><br>
78   *
79   * · maxRows: This optional integer value allows the requesting program to limit
80   * the number of results returned. This argument can be used in conjunction with
81   * the listHead argument.<br><br>
82   *
83   * · name: This optional collection of string values represents one or more
84   * names potentially qualified with xml:lang attributes. Since "exactMatch" is
85   * the default behavior, the value supplied for the name argument must be an
86   * exact match. If the "approximateMatch" findQualifier is used together with an
87   * appropriate wildcard character in the name, then any businessService data
88   * contained in the specified businessEntity (or across all businesses if the
89   * businessKey is omitted or specified as empty) with matching name value will
90   * be returned. Matching occurs using wildcard matching rules. See Section 5.1.6
91   * About Wildcards. If multiple name values are passed, the match occurs on a
92   * logical OR basis within any names supplied. Each name MAY be marked with an
93   * xml:lang adornment. If a language markup is specified, the search results
94   * report a match only on those entries that match both the name value and
95   * language criteria. The match on language is a leftmost case-insensitive
96   * comparison of the characters supplied. This allows one to find all services
97   * whose name begins with an "A" and are expressed in any dialect of French, for
98   * example. Values which can be passed in the language criteria adornment MUST
99   * obey the rules governing the xml:lang data type as defined in Section 3.3.2.3
100  * name.<br><br>
101  *
102  * · tModelBag: Every Web service instance is represented in UDDI by a
103  * bindingTemplate contained within some businessService. A bindingTemplate
104  * contains a collection of tModel references called its "technical fingerprint"
105  * that specifies its type. The tModelBag argument is a collection of tModelKey
106  * values specifying that the search results are to be limited to
107  * businessServices containing bindingTemplates with technical fingerprints that
108  * match.<br><br>
109  *
110  * If a find_tModel argument is specified (see below), it is treated as an
111  * embedded inquiry. The tModelKeys returned as a result of this embedded
112  * find_tModel argument are used as if they had been supplied in a tModelBag
113  * argument. Changing the order of the keys in the collection or specifying the
114  * same tModelKey more than once does not change the behavior of the find.  *
115  * By default, only bindingTemplates that contain all of the tModelKeys in the
116  * technical fingerprint match (logical AND). Specifying appropriate
117  * findQualifiers can override this behavior so that bindingTemplates containing
118  * any of the specified tModelKeys match (logical OR).<br><br>
119  * <p>Java class for find_service complex type.
120  * 
121  * <p>The following schema fragment specifies the expected content contained within this class.
122  * 
123  * <pre>
124  * &lt;complexType name="find_service">
125  *   &lt;complexContent>
126  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
127  *       &lt;sequence>
128  *         &lt;element ref="{urn:uddi-org:api_v3}authInfo" minOccurs="0"/>
129  *         &lt;element ref="{urn:uddi-org:api_v3}findQualifiers" minOccurs="0"/>
130  *         &lt;element ref="{urn:uddi-org:api_v3}name" maxOccurs="unbounded" minOccurs="0"/>
131  *         &lt;element ref="{urn:uddi-org:api_v3}categoryBag" minOccurs="0"/>
132  *         &lt;element ref="{urn:uddi-org:api_v3}tModelBag" minOccurs="0"/>
133  *         &lt;element ref="{urn:uddi-org:api_v3}find_tModel" minOccurs="0"/>
134  *       &lt;/sequence>
135  *       &lt;attribute name="maxRows" type="{http://www.w3.org/2001/XMLSchema}int" />
136  *       &lt;attribute name="businessKey" type="{urn:uddi-org:api_v3}businessKey" />
137  *       &lt;attribute name="listHead" type="{http://www.w3.org/2001/XMLSchema}int" />
138  *     &lt;/restriction>
139  *   &lt;/complexContent>
140  * &lt;/complexType>
141  * </pre>
142  * 
143  * 
144  */
145 @XmlAccessorType(XmlAccessType.FIELD)
146 @XmlType(name = "find_service", propOrder = {
147     "authInfo",
148     "findQualifiers",
149     "name",
150     "categoryBag",
151     "tModelBag",
152     "findTModel"
153 })
154 public class FindService implements Serializable{
155 	@XmlTransient
156 	private static final long serialVersionUID = -3908869734136713799L;
157 	protected String authInfo;
158     protected FindQualifiers findQualifiers;
159     protected List<Name> name;
160     protected CategoryBag categoryBag;
161     protected TModelBag tModelBag;
162     @XmlElement(name = "find_tModel")
163     protected FindTModel findTModel;
164     @XmlAttribute
165     protected Integer maxRows;
166     @XmlAttribute
167     protected String businessKey;
168     @XmlAttribute
169     protected Integer listHead;
170 
171     /**
172      * Gets the value of the authInfo property.
173      * 
174      * @return
175      *     possible object is
176      *     {@link String }
177      *     
178      */
179     public String getAuthInfo() {
180         return authInfo;
181     }
182 
183     /**
184      * Sets the value of the authInfo property.
185      * 
186      * @param value
187      *     allowed object is
188      *     {@link String }
189      *     
190      */
191     public void setAuthInfo(String value) {
192         this.authInfo = value;
193     }
194 
195     /**
196      * Gets the value of the findQualifiers property.
197      * 
198      * @return
199      *     possible object is
200      *     {@link FindQualifiers }
201      *     
202      */
203     public FindQualifiers getFindQualifiers() {
204         return findQualifiers;
205     }
206 
207     /**
208      * Sets the value of the findQualifiers property.
209      * 
210      * @param value
211      *     allowed object is
212      *     {@link FindQualifiers }
213      *     
214      */
215     public void setFindQualifiers(FindQualifiers value) {
216         this.findQualifiers = value;
217     }
218 
219     /**
220      * Gets the value of the name property.
221      * 
222      * <p>
223      * This accessor method returns a reference to the live list,
224      * not a snapshot. Therefore any modification you make to the
225      * returned list will be present inside the JAXB object.
226      * This is why there is not a <CODE>set</CODE> method for the name property.
227      * 
228      * <p>
229      * For example, to add a new item, do as follows:
230      * <pre>
231      *    getName().add(newItem);
232      * </pre>
233      * 
234      * 
235      * <p>
236      * Objects of the following type(s) are allowed in the list
237      * {@link Name }
238      * 
239      * 
240      */
241     public List<Name> getName() {
242         if (name == null) {
243             name = new ArrayList<Name>();
244         }
245         return this.name;
246     }
247 
248     /**
249      * Gets the value of the categoryBag property.
250      * 
251      * @return
252      *     possible object is
253      *     {@link CategoryBag }
254      *     
255      */
256     public CategoryBag getCategoryBag() {
257         return categoryBag;
258     }
259 
260     /**
261      * Sets the value of the categoryBag property.
262      * 
263      * @param value
264      *     allowed object is
265      *     {@link CategoryBag }
266      *     
267      */
268     public void setCategoryBag(CategoryBag value) {
269         this.categoryBag = value;
270     }
271 
272     /**
273      * Gets the value of the tModelBag property.
274      * 
275      * @return
276      *     possible object is
277      *     {@link TModelBag }
278      *     
279      */
280     public TModelBag getTModelBag() {
281         return tModelBag;
282     }
283 
284     /**
285      * Sets the value of the tModelBag property.
286      * 
287      * @param value
288      *     allowed object is
289      *     {@link TModelBag }
290      *     
291      */
292     public void setTModelBag(TModelBag value) {
293         this.tModelBag = value;
294     }
295 
296     /**
297      * Gets the value of the findTModel property.
298      * 
299      * @return
300      *     possible object is
301      *     {@link FindTModel }
302      *     
303      */
304     public FindTModel getFindTModel() {
305         return findTModel;
306     }
307 
308     /**
309      * Sets the value of the findTModel property.
310      * 
311      * @param value
312      *     allowed object is
313      *     {@link FindTModel }
314      *     
315      */
316     public void setFindTModel(FindTModel value) {
317         this.findTModel = value;
318     }
319 
320     /**
321      * Gets the value of the maxRows property.
322      * 
323      * @return
324      *     possible object is
325      *     {@link Integer }
326      *     
327      */
328     public Integer getMaxRows() {
329         return maxRows;
330     }
331 
332     /**
333      * Sets the value of the maxRows property.
334      * 
335      * @param value
336      *     allowed object is
337      *     {@link Integer }
338      *     
339      */
340     public void setMaxRows(Integer value) {
341         this.maxRows = value;
342     }
343 
344     /**
345      * Gets the value of the businessKey property.
346      * 
347      * @return
348      *     possible object is
349      *     {@link String }
350      *     
351      */
352     public String getBusinessKey() {
353         return businessKey;
354     }
355 
356     /**
357      * Sets the value of the businessKey property.
358      * 
359      * @param value
360      *     allowed object is
361      *     {@link String }
362      *     
363      */
364     public void setBusinessKey(String value) {
365         this.businessKey = value;
366     }
367 
368     /**
369      * Gets the value of the listHead property.
370      * 
371      * @return
372      *     possible object is
373      *     {@link Integer }
374      *     
375      */
376     public Integer getListHead() {
377         return listHead;
378     }
379 
380     /**
381      * Sets the value of the listHead property.
382      * 
383      * @param value
384      *     allowed object is
385      *     {@link Integer }
386      *     
387      */
388     public void setListHead(Integer value) {
389         this.listHead = value;
390     }
391 
392 }