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.XmlType;
13 import javax.xml.namespace.QName;
14 import org.w3c.dom.Element;
15
16
17 /**
18 * <p>Java class for cmisObjectType complex type.
19 *
20 * <p>The following schema fragment specifies the expected content contained within this class.
21 *
22 * <pre>
23 * <complexType name="cmisObjectType">
24 * <complexContent>
25 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
26 * <sequence>
27 * <element name="properties" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisPropertiesType" minOccurs="0"/>
28 * <element name="allowableActions" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisAllowableActionsType" minOccurs="0"/>
29 * <element name="relationship" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisObjectType" maxOccurs="unbounded" minOccurs="0"/>
30 * <element name="changeEventInfo" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisChangeEventType" minOccurs="0"/>
31 * <element name="acl" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisAccessControlListType" minOccurs="0"/>
32 * <element name="exactACL" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
33 * <element name="policyIds" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisListOfIdsType" minOccurs="0"/>
34 * <element name="rendition" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisRenditionType" maxOccurs="unbounded" minOccurs="0"/>
35 * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
36 * </sequence>
37 * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisUndefinedAttribute"/>
38 * <anyAttribute processContents='lax' namespace='##other'/>
39 * </restriction>
40 * </complexContent>
41 * </complexType>
42 * </pre>
43 *
44 *
45 */
46 @XmlAccessorType(XmlAccessType.FIELD)
47 @XmlType(name = "cmisObjectType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200908/", propOrder = {
48 "properties",
49 "allowableActions",
50 "relationship",
51 "changeEventInfo",
52 "acl",
53 "exactACL",
54 "policyIds",
55 "rendition",
56 "any"
57 })
58 public class CmisObjectType {
59
60 protected CmisPropertiesType properties;
61 protected CmisAllowableActionsType allowableActions;
62 protected List<CmisObjectType> relationship;
63 protected CmisChangeEventType changeEventInfo;
64 protected CmisAccessControlListType acl;
65 protected Boolean exactACL;
66 protected CmisListOfIdsType policyIds;
67 protected List<CmisRenditionType> rendition;
68 @XmlAnyElement(lax = true)
69 protected List<Object> any;
70 @XmlAnyAttribute
71 private Map<QName, String> otherAttributes = new HashMap<QName, String>();
72
73 /**
74 * Gets the value of the properties property.
75 *
76 * @return
77 * possible object is
78 * {@link CmisPropertiesType }
79 *
80 */
81 public CmisPropertiesType getProperties() {
82 return properties;
83 }
84
85 /**
86 * Sets the value of the properties property.
87 *
88 * @param value
89 * allowed object is
90 * {@link CmisPropertiesType }
91 *
92 */
93 public void setProperties(CmisPropertiesType value) {
94 this.properties = value;
95 }
96
97 /**
98 * Gets the value of the allowableActions property.
99 *
100 * @return
101 * possible object is
102 * {@link CmisAllowableActionsType }
103 *
104 */
105 public CmisAllowableActionsType getAllowableActions() {
106 return allowableActions;
107 }
108
109 /**
110 * Sets the value of the allowableActions property.
111 *
112 * @param value
113 * allowed object is
114 * {@link CmisAllowableActionsType }
115 *
116 */
117 public void setAllowableActions(CmisAllowableActionsType value) {
118 this.allowableActions = value;
119 }
120
121 /**
122 * Gets the value of the relationship property.
123 *
124 * <p>
125 * This accessor method returns a reference to the live list,
126 * not a snapshot. Therefore any modification you make to the
127 * returned list will be present inside the JAXB object.
128 * This is why there is not a <CODE>set</CODE> method for the relationship property.
129 *
130 * <p>
131 * For example, to add a new item, do as follows:
132 * <pre>
133 * getRelationship().add(newItem);
134 * </pre>
135 *
136 *
137 * <p>
138 * Objects of the following type(s) are allowed in the list
139 * {@link CmisObjectType }
140 *
141 *
142 */
143 public List<CmisObjectType> getRelationship() {
144 if (relationship == null) {
145 relationship = new ArrayList<CmisObjectType>();
146 }
147 return this.relationship;
148 }
149
150 /**
151 * Gets the value of the changeEventInfo property.
152 *
153 * @return
154 * possible object is
155 * {@link CmisChangeEventType }
156 *
157 */
158 public CmisChangeEventType getChangeEventInfo() {
159 return changeEventInfo;
160 }
161
162 /**
163 * Sets the value of the changeEventInfo property.
164 *
165 * @param value
166 * allowed object is
167 * {@link CmisChangeEventType }
168 *
169 */
170 public void setChangeEventInfo(CmisChangeEventType value) {
171 this.changeEventInfo = value;
172 }
173
174 /**
175 * Gets the value of the acl property.
176 *
177 * @return
178 * possible object is
179 * {@link CmisAccessControlListType }
180 *
181 */
182 public CmisAccessControlListType getAcl() {
183 return acl;
184 }
185
186 /**
187 * Sets the value of the acl property.
188 *
189 * @param value
190 * allowed object is
191 * {@link CmisAccessControlListType }
192 *
193 */
194 public void setAcl(CmisAccessControlListType value) {
195 this.acl = value;
196 }
197
198 /**
199 * Gets the value of the exactACL property.
200 *
201 * @return
202 * possible object is
203 * {@link Boolean }
204 *
205 */
206 public Boolean isExactACL() {
207 return exactACL;
208 }
209
210 /**
211 * Sets the value of the exactACL property.
212 *
213 * @param value
214 * allowed object is
215 * {@link Boolean }
216 *
217 */
218 public void setExactACL(Boolean value) {
219 this.exactACL = value;
220 }
221
222 /**
223 * Gets the value of the policyIds property.
224 *
225 * @return
226 * possible object is
227 * {@link CmisListOfIdsType }
228 *
229 */
230 public CmisListOfIdsType getPolicyIds() {
231 return policyIds;
232 }
233
234 /**
235 * Sets the value of the policyIds property.
236 *
237 * @param value
238 * allowed object is
239 * {@link CmisListOfIdsType }
240 *
241 */
242 public void setPolicyIds(CmisListOfIdsType value) {
243 this.policyIds = value;
244 }
245
246 /**
247 * Gets the value of the rendition property.
248 *
249 * <p>
250 * This accessor method returns a reference to the live list,
251 * not a snapshot. Therefore any modification you make to the
252 * returned list will be present inside the JAXB object.
253 * This is why there is not a <CODE>set</CODE> method for the rendition property.
254 *
255 * <p>
256 * For example, to add a new item, do as follows:
257 * <pre>
258 * getRendition().add(newItem);
259 * </pre>
260 *
261 *
262 * <p>
263 * Objects of the following type(s) are allowed in the list
264 * {@link CmisRenditionType }
265 *
266 *
267 */
268 public List<CmisRenditionType> getRendition() {
269 if (rendition == null) {
270 rendition = new ArrayList<CmisRenditionType>();
271 }
272 return this.rendition;
273 }
274
275 /**
276 * Gets the value of the any property.
277 *
278 * <p>
279 * This accessor method returns a reference to the live list,
280 * not a snapshot. Therefore any modification you make to the
281 * returned list will be present inside the JAXB object.
282 * This is why there is not a <CODE>set</CODE> method for the any property.
283 *
284 * <p>
285 * For example, to add a new item, do as follows:
286 * <pre>
287 * getAny().add(newItem);
288 * </pre>
289 *
290 *
291 * <p>
292 * Objects of the following type(s) are allowed in the list
293 * {@link Element }
294 * {@link Object }
295 *
296 *
297 */
298 public List<Object> getAny() {
299 if (any == null) {
300 any = new ArrayList<Object>();
301 }
302 return this.any;
303 }
304
305 /**
306 * Gets a map that contains attributes that aren't bound to any typed property on this class.
307 *
308 * <p>
309 * the map is keyed by the name of the attribute and
310 * the value is the string value of the attribute.
311 *
312 * the map returned by this method is live, and you can add new attribute
313 * by updating the map directly. Because of this design, there's no setter.
314 *
315 *
316 * @return
317 * always non-null
318 */
319 public Map<QName, String> getOtherAttributes() {
320 return otherAttributes;
321 }
322
323 }