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