001    //
002    // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
003    // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
004    // Any modifications to this file will be lost upon recompilation of the source schema. 
005    // Generated on: 2013.02.07 at 02:32:38 PM CET 
006    //
007    
008    
009    package jabber.server;
010    
011    import java.util.ArrayList;
012    import java.util.List;
013    import javax.xml.bind.JAXBElement;
014    import javax.xml.bind.annotation.XmlAccessType;
015    import javax.xml.bind.annotation.XmlAccessorType;
016    import javax.xml.bind.annotation.XmlAnyElement;
017    import javax.xml.bind.annotation.XmlAttribute;
018    import javax.xml.bind.annotation.XmlElementRef;
019    import javax.xml.bind.annotation.XmlElementRefs;
020    import javax.xml.bind.annotation.XmlRootElement;
021    import javax.xml.bind.annotation.XmlSchemaType;
022    import javax.xml.bind.annotation.XmlType;
023    import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
024    import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
025    
026    
027    /**
028     * <p>Java class for anonymous complex type.
029     * 
030     * <p>The following schema fragment specifies the expected content contained within this class.
031     * 
032     * <pre>
033     * &lt;complexType>
034     *   &lt;complexContent>
035     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
036     *       &lt;sequence>
037     *         &lt;choice maxOccurs="unbounded" minOccurs="0">
038     *           &lt;element ref="{jabber:server}show"/>
039     *           &lt;element ref="{jabber:server}status"/>
040     *           &lt;element ref="{jabber:server}priority"/>
041     *         &lt;/choice>
042     *         &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
043     *         &lt;element ref="{jabber:server}error" minOccurs="0"/>
044     *       &lt;/sequence>
045     *       &lt;attribute name="from" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
046     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}NMTOKEN" />
047     *       &lt;attribute name="to" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
048     *       &lt;attribute name="type">
049     *         &lt;simpleType>
050     *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}NCName">
051     *             &lt;enumeration value="error"/>
052     *             &lt;enumeration value="probe"/>
053     *             &lt;enumeration value="subscribe"/>
054     *             &lt;enumeration value="subscribed"/>
055     *             &lt;enumeration value="unavailable"/>
056     *             &lt;enumeration value="unsubscribe"/>
057     *             &lt;enumeration value="unsubscribed"/>
058     *           &lt;/restriction>
059     *         &lt;/simpleType>
060     *       &lt;/attribute>
061     *       &lt;attribute ref="{http://www.w3.org/XML/1998/namespace}lang"/>
062     *     &lt;/restriction>
063     *   &lt;/complexContent>
064     * &lt;/complexType>
065     * </pre>
066     * 
067     * 
068     */
069    @XmlAccessorType(XmlAccessType.FIELD)
070    @XmlType(name = "", propOrder = {
071        "showOrStatusOrPriority",
072        "any",
073        "error"
074    })
075    @XmlRootElement(name = "presence")
076    public class Presence {
077    
078        @XmlElementRefs({
079            @XmlElementRef(name = "status", namespace = "jabber:server", type = Status.class),
080            @XmlElementRef(name = "priority", namespace = "jabber:server", type = JAXBElement.class),
081            @XmlElementRef(name = "show", namespace = "jabber:server", type = JAXBElement.class)
082        })
083        protected List<Object> showOrStatusOrPriority;
084        @XmlAnyElement(lax = true)
085        protected List<Object> any;
086        protected Error error;
087        @XmlAttribute(required = true)
088        protected String from;
089        @XmlAttribute
090        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
091        @XmlSchemaType(name = "NMTOKEN")
092        protected String id;
093        @XmlAttribute(required = true)
094        protected String to;
095        @XmlAttribute
096        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
097        protected String type;
098        @XmlAttribute(namespace = "http://www.w3.org/XML/1998/namespace")
099        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
100        @XmlSchemaType(name = "language")
101        protected String lang;
102    
103        /**
104         * Gets the value of the showOrStatusOrPriority property.
105         * 
106         * <p>
107         * This accessor method returns a reference to the live list,
108         * not a snapshot. Therefore any modification you make to the
109         * returned list will be present inside the JAXB object.
110         * This is why there is not a <CODE>set</CODE> method for the showOrStatusOrPriority property.
111         * 
112         * <p>
113         * For example, to add a new item, do as follows:
114         * <pre>
115         *    getShowOrStatusOrPriority().add(newItem);
116         * </pre>
117         * 
118         * 
119         * <p>
120         * Objects of the following type(s) are allowed in the list
121         * {@link JAXBElement }{@code <}{@link String }{@code >}
122         * {@link JAXBElement }{@code <}{@link Byte }{@code >}
123         * {@link Status }
124         * 
125         * 
126         */
127        public List<Object> getShowOrStatusOrPriority() {
128            if (showOrStatusOrPriority == null) {
129                showOrStatusOrPriority = new ArrayList<Object>();
130            }
131            return this.showOrStatusOrPriority;
132        }
133    
134        /**
135         * Gets the value of the any property.
136         * 
137         * <p>
138         * This accessor method returns a reference to the live list,
139         * not a snapshot. Therefore any modification you make to the
140         * returned list will be present inside the JAXB object.
141         * This is why there is not a <CODE>set</CODE> method for the any property.
142         * 
143         * <p>
144         * For example, to add a new item, do as follows:
145         * <pre>
146         *    getAny().add(newItem);
147         * </pre>
148         * 
149         * 
150         * <p>
151         * Objects of the following type(s) are allowed in the list
152         * {@link Object }
153         * 
154         * 
155         */
156        public List<Object> getAny() {
157            if (any == null) {
158                any = new ArrayList<Object>();
159            }
160            return this.any;
161        }
162    
163        /**
164         * Gets the value of the error property.
165         * 
166         * @return
167         *     possible object is
168         *     {@link Error }
169         *     
170         */
171        public Error getError() {
172            return error;
173        }
174    
175        /**
176         * Sets the value of the error property.
177         * 
178         * @param value
179         *     allowed object is
180         *     {@link Error }
181         *     
182         */
183        public void setError(Error value) {
184            this.error = value;
185        }
186    
187        /**
188         * Gets the value of the from property.
189         * 
190         * @return
191         *     possible object is
192         *     {@link String }
193         *     
194         */
195        public String getFrom() {
196            return from;
197        }
198    
199        /**
200         * Sets the value of the from property.
201         * 
202         * @param value
203         *     allowed object is
204         *     {@link String }
205         *     
206         */
207        public void setFrom(String value) {
208            this.from = value;
209        }
210    
211        /**
212         * Gets the value of the id property.
213         * 
214         * @return
215         *     possible object is
216         *     {@link String }
217         *     
218         */
219        public String getId() {
220            return id;
221        }
222    
223        /**
224         * Sets the value of the id property.
225         * 
226         * @param value
227         *     allowed object is
228         *     {@link String }
229         *     
230         */
231        public void setId(String value) {
232            this.id = value;
233        }
234    
235        /**
236         * Gets the value of the to property.
237         * 
238         * @return
239         *     possible object is
240         *     {@link String }
241         *     
242         */
243        public String getTo() {
244            return to;
245        }
246    
247        /**
248         * Sets the value of the to property.
249         * 
250         * @param value
251         *     allowed object is
252         *     {@link String }
253         *     
254         */
255        public void setTo(String value) {
256            this.to = value;
257        }
258    
259        /**
260         * Gets the value of the type property.
261         * 
262         * @return
263         *     possible object is
264         *     {@link String }
265         *     
266         */
267        public String getType() {
268            return type;
269        }
270    
271        /**
272         * Sets the value of the type property.
273         * 
274         * @param value
275         *     allowed object is
276         *     {@link String }
277         *     
278         */
279        public void setType(String value) {
280            this.type = value;
281        }
282    
283        /**
284         * Gets the value of the lang property.
285         * 
286         * @return
287         *     possible object is
288         *     {@link String }
289         *     
290         */
291        public String getLang() {
292            return lang;
293        }
294    
295        /**
296         * Sets the value of the lang property.
297         * 
298         * @param value
299         *     allowed object is
300         *     {@link String }
301         *     
302         */
303        public void setLang(String value) {
304            this.lang = value;
305        }
306    
307    }