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