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.XmlType; 14 import javax.xml.namespace.QName; 15 import org.w3c.dom.Element; 16 17 18 /** 19 * <p>Java class for cmisTypeContainer complex type. 20 * 21 * <p>The following schema fragment specifies the expected content contained within this class. 22 * 23 * <pre> 24 * <complexType name="cmisTypeContainer"> 25 * <complexContent> 26 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> 27 * <sequence> 28 * <element name="type" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisTypeDefinitionType"/> 29 * <element name="children" type="{http://docs.oasis-open.org/ns/cmis/messaging/200908/}cmisTypeContainer" maxOccurs="unbounded" minOccurs="0"/> 30 * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/> 31 * </sequence> 32 * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200908/}cmisUndefinedAttribute"/> 33 * <anyAttribute processContents='lax' namespace='##other'/> 34 * </restriction> 35 * </complexContent> 36 * </complexType> 37 * </pre> 38 * 39 * 40 */ 41 @XmlAccessorType(XmlAccessType.FIELD) 42 @XmlType(name = "cmisTypeContainer", propOrder = { 43 "type", 44 "children", 45 "any" 46 }) 47 public class CmisTypeContainer { 48 49 @XmlElement(required = true) 50 protected CmisTypeDefinitionType type; 51 protected List<CmisTypeContainer> children; 52 @XmlAnyElement(lax = true) 53 protected List<Object> any; 54 @XmlAnyAttribute 55 private Map<QName, String> otherAttributes = new HashMap<QName, String>(); 56 57 /** 58 * Gets the value of the type property. 59 * 60 * @return 61 * possible object is 62 * {@link CmisTypeDefinitionType } 63 * 64 */ 65 public CmisTypeDefinitionType getType() { 66 return type; 67 } 68 69 /** 70 * Sets the value of the type property. 71 * 72 * @param value 73 * allowed object is 74 * {@link CmisTypeDefinitionType } 75 * 76 */ 77 public void setType(CmisTypeDefinitionType value) { 78 this.type = value; 79 } 80 81 /** 82 * Gets the value of the children property. 83 * 84 * <p> 85 * This accessor method returns a reference to the live list, 86 * not a snapshot. Therefore any modification you make to the 87 * returned list will be present inside the JAXB object. 88 * This is why there is not a <CODE>set</CODE> method for the children property. 89 * 90 * <p> 91 * For example, to add a new item, do as follows: 92 * <pre> 93 * getChildren().add(newItem); 94 * </pre> 95 * 96 * 97 * <p> 98 * Objects of the following type(s) are allowed in the list 99 * {@link CmisTypeContainer } 100 * 101 * 102 */ 103 public List<CmisTypeContainer> getChildren() { 104 if (children == null) { 105 children = new ArrayList<CmisTypeContainer>(); 106 } 107 return this.children; 108 } 109 110 /** 111 * Gets the value of the any property. 112 * 113 * <p> 114 * This accessor method returns a reference to the live list, 115 * not a snapshot. Therefore any modification you make to the 116 * returned list will be present inside the JAXB object. 117 * This is why there is not a <CODE>set</CODE> method for the any property. 118 * 119 * <p> 120 * For example, to add a new item, do as follows: 121 * <pre> 122 * getAny().add(newItem); 123 * </pre> 124 * 125 * 126 * <p> 127 * Objects of the following type(s) are allowed in the list 128 * {@link Element } 129 * {@link Object } 130 * 131 * 132 */ 133 public List<Object> getAny() { 134 if (any == null) { 135 any = new ArrayList<Object>(); 136 } 137 return this.any; 138 } 139 140 /** 141 * Gets a map that contains attributes that aren't bound to any typed property on this class. 142 * 143 * <p> 144 * the map is keyed by the name of the attribute and 145 * the value is the string value of the attribute. 146 * 147 * the map returned by this method is live, and you can add new attribute 148 * by updating the map directly. Because of this design, there's no setter. 149 * 150 * 151 * @return 152 * always non-null 153 */ 154 public Map<QName, String> getOtherAttributes() { 155 return otherAttributes; 156 } 157 158 }