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