View Javadoc

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