1 2 package org.apache.chemistry.opencmis.commons.impl.jaxb; 3 4 import java.util.ArrayList; 5 import java.util.HashMap; 6 import java.util.List; 7 import java.util.Map; 8 import javax.xml.bind.annotation.XmlAccessType; 9 import javax.xml.bind.annotation.XmlAccessorType; 10 import javax.xml.bind.annotation.XmlAnyAttribute; 11 import javax.xml.bind.annotation.XmlAnyElement; 12 import javax.xml.bind.annotation.XmlElement; 13 import javax.xml.bind.annotation.XmlElements; 14 import javax.xml.bind.annotation.XmlSchemaType; 15 import javax.xml.bind.annotation.XmlSeeAlso; 16 import javax.xml.bind.annotation.XmlType; 17 import javax.xml.namespace.QName; 18 import org.w3c.dom.Element; 19 20 21 /** 22 * <p>Java class for cmisTypeDefinitionType complex type. 23 * 24 * <p>The following schema fragment specifies the expected content contained within this class. 25 * 26 * <pre> 27 * <complexType name="cmisTypeDefinitionType"> 28 * <complexContent> 29 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> 30 * <sequence> 31 * <element name="id" type="{http://www.w3.org/2001/XMLSchema}string"/> 32 * <element name="localName" type="{http://www.w3.org/2001/XMLSchema}string"/> 33 * <element name="localNamespace" type="{http://www.w3.org/2001/XMLSchema}anyURI"/> 34 * <element name="displayName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> 35 * <element name="queryName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> 36 * <element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> 37 * <element name="baseId" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}enumBaseObjectTypeIds"/> 38 * <element name="parentId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> 39 * <element name="creatable" type="{http://www.w3.org/2001/XMLSchema}boolean"/> 40 * <element name="fileable" type="{http://www.w3.org/2001/XMLSchema}boolean"/> 41 * <element name="queryable" type="{http://www.w3.org/2001/XMLSchema}boolean"/> 42 * <element name="fulltextIndexed" type="{http://www.w3.org/2001/XMLSchema}boolean"/> 43 * <element name="includedInSupertypeQuery" type="{http://www.w3.org/2001/XMLSchema}boolean"/> 44 * <element name="controllablePolicy" type="{http://www.w3.org/2001/XMLSchema}boolean"/> 45 * <element name="controllableACL" type="{http://www.w3.org/2001/XMLSchema}boolean"/> 46 * <choice maxOccurs="unbounded" minOccurs="0"> 47 * <element name="propertyBooleanDefinition" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisPropertyBooleanDefinitionType"/> 48 * <element name="propertyDateTimeDefinition" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisPropertyDateTimeDefinitionType"/> 49 * <element name="propertyDecimalDefinition" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisPropertyDecimalDefinitionType"/> 50 * <element name="propertyIdDefinition" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisPropertyIdDefinitionType"/> 51 * <element name="propertyIntegerDefinition" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisPropertyIntegerDefinitionType"/> 52 * <element name="propertyHtmlDefinition" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisPropertyHtmlDefinitionType"/> 53 * <element name="propertyStringDefinition" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisPropertyStringDefinitionType"/> 54 * <element name="propertyUriDefinition" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisPropertyUriDefinitionType"/> 55 * </choice> 56 * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/> 57 * </sequence> 58 * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisUndefinedAttribute"/> 59 * <anyAttribute processContents='lax' namespace='##other'/> 60 * </restriction> 61 * </complexContent> 62 * </complexType> 63 * </pre> 64 * 65 * 66 */ 67 @XmlAccessorType(XmlAccessType.FIELD) 68 @XmlType(name = "cmisTypeDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200908/", propOrder = { 69 "id", 70 "localName", 71 "localNamespace", 72 "displayName", 73 "queryName", 74 "description", 75 "baseId", 76 "parentId", 77 "creatable", 78 "fileable", 79 "queryable", 80 "fulltextIndexed", 81 "includedInSupertypeQuery", 82 "controllablePolicy", 83 "controllableACL", 84 "propertyDefinition", 85 "any" 86 }) 87 @XmlSeeAlso({ 88 CmisTypeFolderDefinitionType.class, 89 CmisTypeDocumentDefinitionType.class, 90 CmisTypeRelationshipDefinitionType.class, 91 CmisTypePolicyDefinitionType.class 92 }) 93 public class CmisTypeDefinitionType { 94 95 @XmlElement(required = true) 96 protected String id; 97 @XmlElement(required = true) 98 protected String localName; 99 @XmlElement(required = true, nillable = true) 100 @XmlSchemaType(name = "anyURI") 101 protected String localNamespace; 102 protected String displayName; 103 protected String queryName; 104 protected String description; 105 @XmlElement(required = true) 106 protected EnumBaseObjectTypeIds baseId; 107 protected String parentId; 108 protected boolean creatable; 109 protected boolean fileable; 110 protected boolean queryable; 111 protected boolean fulltextIndexed; 112 @XmlElement(defaultValue = "true") 113 protected boolean includedInSupertypeQuery; 114 protected boolean controllablePolicy; 115 protected boolean controllableACL; 116 @XmlElements({ 117 @XmlElement(name = "propertyDateTimeDefinition", type = CmisPropertyDateTimeDefinitionType.class), 118 @XmlElement(name = "propertyHtmlDefinition", type = CmisPropertyHtmlDefinitionType.class), 119 @XmlElement(name = "propertyStringDefinition", type = CmisPropertyStringDefinitionType.class), 120 @XmlElement(name = "propertyDecimalDefinition", type = CmisPropertyDecimalDefinitionType.class), 121 @XmlElement(name = "propertyIdDefinition", type = CmisPropertyIdDefinitionType.class), 122 @XmlElement(name = "propertyBooleanDefinition", type = CmisPropertyBooleanDefinitionType.class), 123 @XmlElement(name = "propertyIntegerDefinition", type = CmisPropertyIntegerDefinitionType.class), 124 @XmlElement(name = "propertyUriDefinition", type = CmisPropertyUriDefinitionType.class) 125 }) 126 protected List<CmisPropertyDefinitionType> propertyDefinition; 127 @XmlAnyElement(lax = true) 128 protected List<Object> any; 129 @XmlAnyAttribute 130 private Map<QName, String> otherAttributes = new HashMap<QName, String>(); 131 132 /** 133 * Gets the value of the id property. 134 * 135 * @return 136 * possible object is 137 * {@link String } 138 * 139 */ 140 public String getId() { 141 return id; 142 } 143 144 /** 145 * Sets the value of the id property. 146 * 147 * @param value 148 * allowed object is 149 * {@link String } 150 * 151 */ 152 public void setId(String value) { 153 this.id = value; 154 } 155 156 /** 157 * Gets the value of the localName property. 158 * 159 * @return 160 * possible object is 161 * {@link String } 162 * 163 */ 164 public String getLocalName() { 165 return localName; 166 } 167 168 /** 169 * Sets the value of the localName property. 170 * 171 * @param value 172 * allowed object is 173 * {@link String } 174 * 175 */ 176 public void setLocalName(String value) { 177 this.localName = value; 178 } 179 180 /** 181 * Gets the value of the localNamespace property. 182 * 183 * @return 184 * possible object is 185 * {@link String } 186 * 187 */ 188 public String getLocalNamespace() { 189 return localNamespace; 190 } 191 192 /** 193 * Sets the value of the localNamespace property. 194 * 195 * @param value 196 * allowed object is 197 * {@link String } 198 * 199 */ 200 public void setLocalNamespace(String value) { 201 this.localNamespace = value; 202 } 203 204 /** 205 * Gets the value of the displayName property. 206 * 207 * @return 208 * possible object is 209 * {@link String } 210 * 211 */ 212 public String getDisplayName() { 213 return displayName; 214 } 215 216 /** 217 * Sets the value of the displayName property. 218 * 219 * @param value 220 * allowed object is 221 * {@link String } 222 * 223 */ 224 public void setDisplayName(String value) { 225 this.displayName = value; 226 } 227 228 /** 229 * Gets the value of the queryName property. 230 * 231 * @return 232 * possible object is 233 * {@link String } 234 * 235 */ 236 public String getQueryName() { 237 return queryName; 238 } 239 240 /** 241 * Sets the value of the queryName property. 242 * 243 * @param value 244 * allowed object is 245 * {@link String } 246 * 247 */ 248 public void setQueryName(String value) { 249 this.queryName = value; 250 } 251 252 /** 253 * Gets the value of the description property. 254 * 255 * @return 256 * possible object is 257 * {@link String } 258 * 259 */ 260 public String getDescription() { 261 return description; 262 } 263 264 /** 265 * Sets the value of the description property. 266 * 267 * @param value 268 * allowed object is 269 * {@link String } 270 * 271 */ 272 public void setDescription(String value) { 273 this.description = value; 274 } 275 276 /** 277 * Gets the value of the baseId property. 278 * 279 * @return 280 * possible object is 281 * {@link EnumBaseObjectTypeIds } 282 * 283 */ 284 public EnumBaseObjectTypeIds getBaseId() { 285 return baseId; 286 } 287 288 /** 289 * Sets the value of the baseId property. 290 * 291 * @param value 292 * allowed object is 293 * {@link EnumBaseObjectTypeIds } 294 * 295 */ 296 public void setBaseId(EnumBaseObjectTypeIds value) { 297 this.baseId = value; 298 } 299 300 /** 301 * Gets the value of the parentId property. 302 * 303 * @return 304 * possible object is 305 * {@link String } 306 * 307 */ 308 public String getParentId() { 309 return parentId; 310 } 311 312 /** 313 * Sets the value of the parentId property. 314 * 315 * @param value 316 * allowed object is 317 * {@link String } 318 * 319 */ 320 public void setParentId(String value) { 321 this.parentId = value; 322 } 323 324 /** 325 * Gets the value of the creatable property. 326 * 327 */ 328 public boolean isCreatable() { 329 return creatable; 330 } 331 332 /** 333 * Sets the value of the creatable property. 334 * 335 */ 336 public void setCreatable(boolean value) { 337 this.creatable = value; 338 } 339 340 /** 341 * Gets the value of the fileable property. 342 * 343 */ 344 public boolean isFileable() { 345 return fileable; 346 } 347 348 /** 349 * Sets the value of the fileable property. 350 * 351 */ 352 public void setFileable(boolean value) { 353 this.fileable = value; 354 } 355 356 /** 357 * Gets the value of the queryable property. 358 * 359 */ 360 public boolean isQueryable() { 361 return queryable; 362 } 363 364 /** 365 * Sets the value of the queryable property. 366 * 367 */ 368 public void setQueryable(boolean value) { 369 this.queryable = value; 370 } 371 372 /** 373 * Gets the value of the fulltextIndexed property. 374 * 375 */ 376 public boolean isFulltextIndexed() { 377 return fulltextIndexed; 378 } 379 380 /** 381 * Sets the value of the fulltextIndexed property. 382 * 383 */ 384 public void setFulltextIndexed(boolean value) { 385 this.fulltextIndexed = value; 386 } 387 388 /** 389 * Gets the value of the includedInSupertypeQuery property. 390 * 391 */ 392 public boolean isIncludedInSupertypeQuery() { 393 return includedInSupertypeQuery; 394 } 395 396 /** 397 * Sets the value of the includedInSupertypeQuery property. 398 * 399 */ 400 public void setIncludedInSupertypeQuery(boolean value) { 401 this.includedInSupertypeQuery = value; 402 } 403 404 /** 405 * Gets the value of the controllablePolicy property. 406 * 407 */ 408 public boolean isControllablePolicy() { 409 return controllablePolicy; 410 } 411 412 /** 413 * Sets the value of the controllablePolicy property. 414 * 415 */ 416 public void setControllablePolicy(boolean value) { 417 this.controllablePolicy = value; 418 } 419 420 /** 421 * Gets the value of the controllableACL property. 422 * 423 */ 424 public boolean isControllableACL() { 425 return controllableACL; 426 } 427 428 /** 429 * Sets the value of the controllableACL property. 430 * 431 */ 432 public void setControllableACL(boolean value) { 433 this.controllableACL = value; 434 } 435 436 /** 437 * Gets the value of the propertyDefinition property. 438 * 439 * <p> 440 * This accessor method returns a reference to the live list, 441 * not a snapshot. Therefore any modification you make to the 442 * returned list will be present inside the JAXB object. 443 * This is why there is not a <CODE>set</CODE> method for the propertyDefinition property. 444 * 445 * <p> 446 * For example, to add a new item, do as follows: 447 * <pre> 448 * getPropertyDefinition().add(newItem); 449 * </pre> 450 * 451 * 452 * <p> 453 * Objects of the following type(s) are allowed in the list 454 * {@link CmisPropertyDateTimeDefinitionType } 455 * {@link CmisPropertyHtmlDefinitionType } 456 * {@link CmisPropertyStringDefinitionType } 457 * {@link CmisPropertyDecimalDefinitionType } 458 * {@link CmisPropertyIdDefinitionType } 459 * {@link CmisPropertyBooleanDefinitionType } 460 * {@link CmisPropertyIntegerDefinitionType } 461 * {@link CmisPropertyUriDefinitionType } 462 * 463 * 464 */ 465 public List<CmisPropertyDefinitionType> getPropertyDefinition() { 466 if (propertyDefinition == null) { 467 propertyDefinition = new ArrayList<CmisPropertyDefinitionType>(); 468 } 469 return this.propertyDefinition; 470 } 471 472 /** 473 * Gets the value of the any property. 474 * 475 * <p> 476 * This accessor method returns a reference to the live list, 477 * not a snapshot. Therefore any modification you make to the 478 * returned list will be present inside the JAXB object. 479 * This is why there is not a <CODE>set</CODE> method for the any property. 480 * 481 * <p> 482 * For example, to add a new item, do as follows: 483 * <pre> 484 * getAny().add(newItem); 485 * </pre> 486 * 487 * 488 * <p> 489 * Objects of the following type(s) are allowed in the list 490 * {@link Element } 491 * {@link Object } 492 * 493 * 494 */ 495 public List<Object> getAny() { 496 if (any == null) { 497 any = new ArrayList<Object>(); 498 } 499 return this.any; 500 } 501 502 /** 503 * Gets a map that contains attributes that aren't bound to any typed property on this class. 504 * 505 * <p> 506 * the map is keyed by the name of the attribute and 507 * the value is the string value of the attribute. 508 * 509 * the map returned by this method is live, and you can add new attribute 510 * by updating the map directly. Because of this design, there's no setter. 511 * 512 * 513 * @return 514 * always non-null 515 */ 516 public Map<QName, String> getOtherAttributes() { 517 return otherAttributes; 518 } 519 520 }