1 package org.fosstrak.epcis.model; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.List; 6 import java.util.Map; 7 import javax.xml.bind.annotation.XmlAccessType; 8 import javax.xml.bind.annotation.XmlAccessorType; 9 import javax.xml.bind.annotation.XmlAnyAttribute; 10 import javax.xml.bind.annotation.XmlAnyElement; 11 import javax.xml.bind.annotation.XmlAttribute; 12 import javax.xml.bind.annotation.XmlSchemaType; 13 import javax.xml.bind.annotation.XmlType; 14 import javax.xml.namespace.QName; 15 import org.w3c.dom.Element; 16 17 /** 18 * <p> 19 * Java class for VocabularyElementType complex type. 20 * <p> 21 * The following schema fragment specifies the expected content contained within 22 * this class. 23 * 24 * <pre> 25 * <complexType name="VocabularyElementType"> 26 * <complexContent> 27 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> 28 * <sequence> 29 * <element name="attribute" type="{urn:epcglobal:epcis-masterdata:xsd:1}AttributeType" maxOccurs="unbounded" minOccurs="0"/> 30 * <element name="children" type="{urn:epcglobal:epcis-masterdata:xsd:1}IDListType" minOccurs="0"/> 31 * <element name="extension" type="{urn:epcglobal:epcis-masterdata:xsd:1}VocabularyElementExtensionType" minOccurs="0"/> 32 * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/> 33 * </sequence> 34 * <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> 35 * <anyAttribute processContents='lax'/> 36 * </restriction> 37 * </complexContent> 38 * </complexType> 39 * </pre> 40 */ 41 @XmlAccessorType(XmlAccessType.FIELD) 42 @XmlType(name = "VocabularyElementType", namespace = "urn:epcglobal:epcis-masterdata:xsd:1", propOrder = { 43 "attribute", "children", "extension", "any" }) 44 public class VocabularyElementType { 45 46 protected List<AttributeType> attribute; 47 protected IDListType children; 48 protected VocabularyElementExtensionType extension; 49 @XmlAnyElement(lax = true) 50 protected List<Object> any; 51 @XmlAttribute(name = "id", required = true) 52 @XmlSchemaType(name = "anyURI") 53 protected String id; 54 @XmlAnyAttribute 55 private Map<QName, String> otherAttributes = new HashMap<QName, String>(); 56 57 /** 58 * Gets the value of the attribute property. 59 * <p> 60 * This accessor method returns a reference to the live list, not a 61 * snapshot. Therefore any modification you make to the returned list will 62 * be present inside the JAXB object. This is why there is not a 63 * <CODE>set</CODE> method for the attribute property. 64 * <p> 65 * For example, to add a new item, do as follows: 66 * 67 * <pre> 68 * getAttribute().add(newItem); 69 * </pre> 70 * <p> 71 * Objects of the following type(s) are allowed in the list 72 * {@link AttributeType } 73 */ 74 public List<AttributeType> getAttribute() { 75 if (attribute == null) { 76 attribute = new ArrayList<AttributeType>(); 77 } 78 return this.attribute; 79 } 80 81 /** 82 * Gets the value of the children property. 83 * 84 * @return possible object is {@link IDListType } 85 */ 86 public IDListType getChildren() { 87 return children; 88 } 89 90 /** 91 * Sets the value of the children property. 92 * 93 * @param value 94 * allowed object is {@link IDListType } 95 */ 96 public void setChildren(IDListType value) { 97 this.children = value; 98 } 99 100 /** 101 * Gets the value of the extension property. 102 * 103 * @return possible object is {@link VocabularyElementExtensionType } 104 */ 105 public VocabularyElementExtensionType getExtension() { 106 return extension; 107 } 108 109 /** 110 * Sets the value of the extension property. 111 * 112 * @param value 113 * allowed object is {@link VocabularyElementExtensionType } 114 */ 115 public void setExtension(VocabularyElementExtensionType value) { 116 this.extension = value; 117 } 118 119 /** 120 * Gets the value of the any property. 121 * <p> 122 * This accessor method returns a reference to the live list, not a 123 * snapshot. Therefore any modification you make to the returned list will 124 * be present inside the JAXB object. This is why there is not a 125 * <CODE>set</CODE> method for the any property. 126 * <p> 127 * For example, to add a new item, do as follows: 128 * 129 * <pre> 130 * getAny().add(newItem); 131 * </pre> 132 * <p> 133 * Objects of the following type(s) are allowed in the list {@link Element } 134 * {@link Object } 135 */ 136 public List<Object> getAny() { 137 if (any == null) { 138 any = new ArrayList<Object>(); 139 } 140 return this.any; 141 } 142 143 /** 144 * Gets the value of the id property. 145 * 146 * @return possible object is {@link String } 147 */ 148 public String getId() { 149 return id; 150 } 151 152 /** 153 * Sets the value of the id property. 154 * 155 * @param value 156 * allowed object is {@link String } 157 */ 158 public void setId(String value) { 159 this.id = value; 160 } 161 162 /** 163 * Gets a map that contains attributes that aren't bound to any typed 164 * property on this class. 165 * <p> 166 * the map is keyed by the name of the attribute and the value is the string 167 * value of the attribute. the map returned by this method is live, and you 168 * can add new attribute by updating the map directly. Because of this 169 * design, there's no setter. 170 * 171 * @return always non-null 172 */ 173 public Map<QName, String> getOtherAttributes() { 174 return otherAttributes; 175 } 176 177 }