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 }