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   * specific header(s) including the Standard Business Document Header.
18   * <p>
19   * Java class for EPCISHeaderType 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="EPCISHeaderType">
26   *   &lt;complexContent>
27   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
28   *       &lt;sequence>
29   *         &lt;element ref="{http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader}StandardBusinessDocumentHeader"/>
30   *         &lt;element name="extension" type="{urn:epcglobal:epcis:xsd:1}EPCISHeaderExtensionType" minOccurs="0"/>
31   *         &lt;any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
32   *       &lt;/sequence>
33   *       &lt;anyAttribute processContents='lax'/>
34   *     &lt;/restriction>
35   *   &lt;/complexContent>
36   * &lt;/complexType>
37   * </pre>
38   */
39  @XmlAccessorType(XmlAccessType.FIELD)
40  @XmlType(name = "EPCISHeaderType", namespace = "urn:epcglobal:epcis:xsd:1", propOrder = {
41          "standardBusinessDocumentHeader", "extension", "any" })
42  public class EPCISHeaderType {
43  
44      @XmlElement(name = "StandardBusinessDocumentHeader", namespace = "http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader", required = true)
45      protected StandardBusinessDocumentHeader standardBusinessDocumentHeader;
46      protected EPCISHeaderExtensionType extension;
47      @XmlAnyElement(lax = true)
48      protected List<Object> any;
49      @XmlAnyAttribute
50      private Map<QName, String> otherAttributes = new HashMap<QName, String>();
51  
52      /**
53       * Gets the value of the standardBusinessDocumentHeader property.
54       * 
55       * @return possible object is {@link StandardBusinessDocumentHeader }
56       */
57      public StandardBusinessDocumentHeader getStandardBusinessDocumentHeader() {
58          return standardBusinessDocumentHeader;
59      }
60  
61      /**
62       * Sets the value of the standardBusinessDocumentHeader property.
63       * 
64       * @param value
65       *            allowed object is {@link StandardBusinessDocumentHeader }
66       */
67      public void setStandardBusinessDocumentHeader(StandardBusinessDocumentHeader value) {
68          this.standardBusinessDocumentHeader = value;
69      }
70  
71      /**
72       * Gets the value of the extension property.
73       * 
74       * @return possible object is {@link EPCISHeaderExtensionType }
75       */
76      public EPCISHeaderExtensionType getExtension() {
77          return extension;
78      }
79  
80      /**
81       * Sets the value of the extension property.
82       * 
83       * @param value
84       *            allowed object is {@link EPCISHeaderExtensionType }
85       */
86      public void setExtension(EPCISHeaderExtensionType value) {
87          this.extension = value;
88      }
89  
90      /**
91       * Gets the value of the any property.
92       * <p>
93       * This accessor method returns a reference to the live list, not a
94       * snapshot. Therefore any modification you make to the returned list will
95       * be present inside the JAXB object. This is why there is not a
96       * <CODE>set</CODE> method for the any property.
97       * <p>
98       * For example, to add a new item, do as follows:
99       * 
100      * <pre>
101      * getAny().add(newItem);
102      * </pre>
103      * <p>
104      * Objects of the following type(s) are allowed in the list {@link Element }
105      * {@link Object }
106      */
107     public List<Object> getAny() {
108         if (any == null) {
109             any = new ArrayList<Object>();
110         }
111         return this.any;
112     }
113 
114     /**
115      * Gets a map that contains attributes that aren't bound to any typed
116      * property on this class.
117      * <p>
118      * the map is keyed by the name of the attribute and the value is the string
119      * value of the attribute. the map returned by this method is live, and you
120      * can add new attribute by updating the map directly. Because of this
121      * design, there's no setter.
122      * 
123      * @return always non-null
124      */
125     public Map<QName, String> getOtherAttributes() {
126         return otherAttributes;
127     }
128 
129 }