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 org.jabber.etherx.streams;
010    
011    import java.math.BigDecimal;
012    import java.util.ArrayList;
013    import java.util.List;
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.XmlElement;
019    import javax.xml.bind.annotation.XmlElements;
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    import jabber.server.dialback.Result;
026    import jabber.server.dialback.Verify;
027    
028    
029    /**
030     * <p>Java class for anonymous complex type.
031     * 
032     * <p>The following schema fragment specifies the expected content contained within this class.
033     * 
034     * <pre>
035     * &lt;complexType>
036     *   &lt;complexContent>
037     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
038     *       &lt;sequence>
039     *         &lt;element ref="{http://etherx.jabber.org/streams}features" minOccurs="0"/>
040     *         &lt;any namespace='urn:ietf:params:xml:ns:xmpp-tls' maxOccurs="unbounded" minOccurs="0"/>
041     *         &lt;any namespace='urn:ietf:params:xml:ns:xmpp-sasl' maxOccurs="unbounded" minOccurs="0"/>
042     *         &lt;choice minOccurs="0">
043     *           &lt;choice maxOccurs="unbounded" minOccurs="0">
044     *             &lt;element ref="{jabber:client}message"/>
045     *             &lt;element ref="{jabber:client}presence"/>
046     *             &lt;element ref="{jabber:client}iq"/>
047     *           &lt;/choice>
048     *           &lt;choice maxOccurs="unbounded" minOccurs="0">
049     *             &lt;element ref="{jabber:server}message"/>
050     *             &lt;element ref="{jabber:server}presence"/>
051     *             &lt;element ref="{jabber:server}iq"/>
052     *             &lt;element ref="{jabber:server:dialback}result"/>
053     *             &lt;element ref="{jabber:server:dialback}verify"/>
054     *           &lt;/choice>
055     *         &lt;/choice>
056     *         &lt;element ref="{http://etherx.jabber.org/streams}error" minOccurs="0"/>
057     *       &lt;/sequence>
058     *       &lt;attribute name="from" type="{http://www.w3.org/2001/XMLSchema}string" />
059     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}NMTOKEN" />
060     *       &lt;attribute name="to" type="{http://www.w3.org/2001/XMLSchema}string" />
061     *       &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}decimal" />
062     *       &lt;attribute ref="{http://www.w3.org/XML/1998/namespace}lang"/>
063     *     &lt;/restriction>
064     *   &lt;/complexContent>
065     * &lt;/complexType>
066     * </pre>
067     * 
068     * 
069     */
070    @XmlAccessorType(XmlAccessType.FIELD)
071    @XmlType(name = "", propOrder = {
072        "features",
073        "xmppTls",
074        "xmppSasl",
075        "clientMessages",
076        "serverMessages",
077        "error"
078    })
079    @XmlRootElement(name = "stream")
080    public class Stream {
081    
082        protected Features features;
083        @XmlAnyElement(lax = true)
084        protected List<Object> xmppTls;
085        @XmlAnyElement(lax = true)
086        protected List<Object> xmppSasl;
087        @XmlElements({
088            @XmlElement(name = "iq", namespace = "jabber:client", type = jabber.client.Iq.class),
089            @XmlElement(name = "message", namespace = "jabber:client", type = jabber.client.Message.class),
090            @XmlElement(name = "presence", namespace = "jabber:client", type = jabber.client.Presence.class)
091        })
092        protected List<Object> clientMessages;
093        @XmlElements({
094            @XmlElement(name = "iq", namespace = "jabber:server", type = jabber.server.Iq.class),
095            @XmlElement(name = "verify", namespace = "jabber:server:dialback", type = Verify.class),
096            @XmlElement(name = "message", namespace = "jabber:server", type = jabber.server.Message.class),
097            @XmlElement(name = "result", namespace = "jabber:server:dialback", type = Result.class),
098            @XmlElement(name = "presence", namespace = "jabber:server", type = jabber.server.Presence.class)
099        })
100        protected List<Object> serverMessages;
101        protected Error error;
102        @XmlAttribute
103        protected String from;
104        @XmlAttribute
105        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
106        @XmlSchemaType(name = "NMTOKEN")
107        protected String id;
108        @XmlAttribute
109        protected String to;
110        @XmlAttribute
111        protected BigDecimal version;
112        @XmlAttribute(namespace = "http://www.w3.org/XML/1998/namespace")
113        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
114        @XmlSchemaType(name = "language")
115        protected String lang;
116    
117        /**
118         * Gets the value of the features property.
119         * 
120         * @return
121         *     possible object is
122         *     {@link Features }
123         *     
124         */
125        public Features getFeatures() {
126            return features;
127        }
128    
129        /**
130         * Sets the value of the features property.
131         * 
132         * @param value
133         *     allowed object is
134         *     {@link Features }
135         *     
136         */
137        public void setFeatures(Features value) {
138            this.features = value;
139        }
140    
141        /**
142         * Gets the value of the xmppTls property.
143         * 
144         * <p>
145         * This accessor method returns a reference to the live list,
146         * not a snapshot. Therefore any modification you make to the
147         * returned list will be present inside the JAXB object.
148         * This is why there is not a <CODE>set</CODE> method for the xmppTls property.
149         * 
150         * <p>
151         * For example, to add a new item, do as follows:
152         * <pre>
153         *    getXmppTls().add(newItem);
154         * </pre>
155         * 
156         * 
157         * <p>
158         * Objects of the following type(s) are allowed in the list
159         * {@link Object }
160         * 
161         * 
162         */
163        public List<Object> getXmppTls() {
164            if (xmppTls == null) {
165                xmppTls = new ArrayList<Object>();
166            }
167            return this.xmppTls;
168        }
169    
170        /**
171         * Gets the value of the xmppSasl property.
172         * 
173         * <p>
174         * This accessor method returns a reference to the live list,
175         * not a snapshot. Therefore any modification you make to the
176         * returned list will be present inside the JAXB object.
177         * This is why there is not a <CODE>set</CODE> method for the xmppSasl property.
178         * 
179         * <p>
180         * For example, to add a new item, do as follows:
181         * <pre>
182         *    getXmppSasl().add(newItem);
183         * </pre>
184         * 
185         * 
186         * <p>
187         * Objects of the following type(s) are allowed in the list
188         * {@link Object }
189         * 
190         * 
191         */
192        public List<Object> getXmppSasl() {
193            if (xmppSasl == null) {
194                xmppSasl = new ArrayList<Object>();
195            }
196            return this.xmppSasl;
197        }
198    
199        /**
200         * Gets the value of the clientMessages property.
201         * 
202         * <p>
203         * This accessor method returns a reference to the live list,
204         * not a snapshot. Therefore any modification you make to the
205         * returned list will be present inside the JAXB object.
206         * This is why there is not a <CODE>set</CODE> method for the clientMessages property.
207         * 
208         * <p>
209         * For example, to add a new item, do as follows:
210         * <pre>
211         *    getClientMessages().add(newItem);
212         * </pre>
213         * 
214         * 
215         * <p>
216         * Objects of the following type(s) are allowed in the list
217         * {@link jabber.client.Iq }
218         * {@link jabber.client.Message }
219         * {@link jabber.client.Presence }
220         * 
221         * 
222         */
223        public List<Object> getClientMessages() {
224            if (clientMessages == null) {
225                clientMessages = new ArrayList<Object>();
226            }
227            return this.clientMessages;
228        }
229    
230        /**
231         * Gets the value of the serverMessages property.
232         * 
233         * <p>
234         * This accessor method returns a reference to the live list,
235         * not a snapshot. Therefore any modification you make to the
236         * returned list will be present inside the JAXB object.
237         * This is why there is not a <CODE>set</CODE> method for the serverMessages property.
238         * 
239         * <p>
240         * For example, to add a new item, do as follows:
241         * <pre>
242         *    getServerMessages().add(newItem);
243         * </pre>
244         * 
245         * 
246         * <p>
247         * Objects of the following type(s) are allowed in the list
248         * {@link jabber.server.Iq }
249         * {@link Verify }
250         * {@link jabber.server.Message }
251         * {@link Result }
252         * {@link jabber.server.Presence }
253         * 
254         * 
255         */
256        public List<Object> getServerMessages() {
257            if (serverMessages == null) {
258                serverMessages = new ArrayList<Object>();
259            }
260            return this.serverMessages;
261        }
262    
263        /**
264         * Gets the value of the error property.
265         * 
266         * @return
267         *     possible object is
268         *     {@link Error }
269         *     
270         */
271        public Error getError() {
272            return error;
273        }
274    
275        /**
276         * Sets the value of the error property.
277         * 
278         * @param value
279         *     allowed object is
280         *     {@link Error }
281         *     
282         */
283        public void setError(Error value) {
284            this.error = value;
285        }
286    
287        /**
288         * Gets the value of the from property.
289         * 
290         * @return
291         *     possible object is
292         *     {@link String }
293         *     
294         */
295        public String getFrom() {
296            return from;
297        }
298    
299        /**
300         * Sets the value of the from property.
301         * 
302         * @param value
303         *     allowed object is
304         *     {@link String }
305         *     
306         */
307        public void setFrom(String value) {
308            this.from = value;
309        }
310    
311        /**
312         * Gets the value of the id property.
313         * 
314         * @return
315         *     possible object is
316         *     {@link String }
317         *     
318         */
319        public String getId() {
320            return id;
321        }
322    
323        /**
324         * Sets the value of the id property.
325         * 
326         * @param value
327         *     allowed object is
328         *     {@link String }
329         *     
330         */
331        public void setId(String value) {
332            this.id = value;
333        }
334    
335        /**
336         * Gets the value of the to property.
337         * 
338         * @return
339         *     possible object is
340         *     {@link String }
341         *     
342         */
343        public String getTo() {
344            return to;
345        }
346    
347        /**
348         * Sets the value of the to property.
349         * 
350         * @param value
351         *     allowed object is
352         *     {@link String }
353         *     
354         */
355        public void setTo(String value) {
356            this.to = value;
357        }
358    
359        /**
360         * Gets the value of the version property.
361         * 
362         * @return
363         *     possible object is
364         *     {@link BigDecimal }
365         *     
366         */
367        public BigDecimal getVersion() {
368            return version;
369        }
370    
371        /**
372         * Sets the value of the version property.
373         * 
374         * @param value
375         *     allowed object is
376         *     {@link BigDecimal }
377         *     
378         */
379        public void setVersion(BigDecimal value) {
380            this.version = value;
381        }
382    
383        /**
384         * Gets the value of the lang property.
385         * 
386         * @return
387         *     possible object is
388         *     {@link String }
389         *     
390         */
391        public String getLang() {
392            return lang;
393        }
394    
395        /**
396         * Sets the value of the lang property.
397         * 
398         * @param value
399         *     allowed object is
400         *     {@link String }
401         *     
402         */
403        public void setLang(String value) {
404            this.lang = value;
405        }
406    
407    }