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 }