001    
002    package org.oasis_open.docs.wsn.b_2;
003    
004    import java.util.ArrayList;
005    import java.util.List;
006    import javax.xml.bind.JAXBElement;
007    import javax.xml.bind.annotation.XmlAccessType;
008    import javax.xml.bind.annotation.XmlAccessorType;
009    import javax.xml.bind.annotation.XmlAnyElement;
010    import javax.xml.bind.annotation.XmlElement;
011    import javax.xml.bind.annotation.XmlElementRef;
012    import javax.xml.bind.annotation.XmlRootElement;
013    import javax.xml.bind.annotation.XmlType;
014    import javax.xml.ws.wsaddressing.W3CEndpointReference;
015    import org.w3c.dom.Element;
016    
017    
018    /**
019     * <p>Java class for anonymous complex type.
020     * 
021     * <p>The following schema fragment specifies the expected content contained within this class.
022     * 
023     * <pre>
024     * &lt;complexType>
025     *   &lt;complexContent>
026     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
027     *       &lt;sequence>
028     *         &lt;element name="ConsumerReference" type="{http://www.w3.org/2005/08/addressing}EndpointReferenceType"/>
029     *         &lt;element name="Filter" type="{http://docs.oasis-open.org/wsn/b-2}FilterType" minOccurs="0"/>
030     *         &lt;element name="InitialTerminationTime" type="{http://docs.oasis-open.org/wsn/b-2}AbsoluteOrRelativeTimeType" minOccurs="0"/>
031     *         &lt;element name="SubscriptionPolicy" minOccurs="0">
032     *           &lt;complexType>
033     *             &lt;complexContent>
034     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
035     *                 &lt;sequence>
036     *                   &lt;any/>
037     *                 &lt;/sequence>
038     *               &lt;/restriction>
039     *             &lt;/complexContent>
040     *           &lt;/complexType>
041     *         &lt;/element>
042     *         &lt;any/>
043     *       &lt;/sequence>
044     *     &lt;/restriction>
045     *   &lt;/complexContent>
046     * &lt;/complexType>
047     * </pre>
048     * 
049     * 
050     */
051    @XmlAccessorType(XmlAccessType.FIELD)
052    @XmlType(name = "", propOrder = {
053        "consumerReference",
054        "filter",
055        "initialTerminationTime",
056        "subscriptionPolicy",
057        "any"
058    })
059    @XmlRootElement(name = "Subscribe")
060    public class Subscribe {
061    
062        @XmlElement(name = "ConsumerReference", required = true)
063        protected W3CEndpointReference consumerReference;
064        @XmlElement(name = "Filter")
065        protected FilterType filter;
066        @XmlElementRef(name = "InitialTerminationTime", namespace = "http://docs.oasis-open.org/wsn/b-2", type = JAXBElement.class)
067        protected JAXBElement<String> initialTerminationTime;
068        @XmlElement(name = "SubscriptionPolicy")
069        protected Subscribe.SubscriptionPolicy subscriptionPolicy;
070        @XmlAnyElement(lax = true)
071        protected List<Object> any;
072    
073        /**
074         * Gets the value of the consumerReference property.
075         * 
076         * @return
077         *     possible object is
078         *     {@link W3CEndpointReference }
079         *     
080         */
081        public W3CEndpointReference getConsumerReference() {
082            return consumerReference;
083        }
084    
085        /**
086         * Sets the value of the consumerReference property.
087         * 
088         * @param value
089         *     allowed object is
090         *     {@link W3CEndpointReference }
091         *     
092         */
093        public void setConsumerReference(W3CEndpointReference value) {
094            this.consumerReference = value;
095        }
096    
097        /**
098         * Gets the value of the filter property.
099         * 
100         * @return
101         *     possible object is
102         *     {@link FilterType }
103         *     
104         */
105        public FilterType getFilter() {
106            return filter;
107        }
108    
109        /**
110         * Sets the value of the filter property.
111         * 
112         * @param value
113         *     allowed object is
114         *     {@link FilterType }
115         *     
116         */
117        public void setFilter(FilterType value) {
118            this.filter = value;
119        }
120    
121        /**
122         * Gets the value of the initialTerminationTime property.
123         * 
124         * @return
125         *     possible object is
126         *     {@link JAXBElement }{@code <}{@link String }{@code >}
127         *     
128         */
129        public JAXBElement<String> getInitialTerminationTime() {
130            return initialTerminationTime;
131        }
132    
133        /**
134         * Sets the value of the initialTerminationTime property.
135         * 
136         * @param value
137         *     allowed object is
138         *     {@link JAXBElement }{@code <}{@link String }{@code >}
139         *     
140         */
141        public void setInitialTerminationTime(JAXBElement<String> value) {
142            this.initialTerminationTime = ((JAXBElement<String> ) value);
143        }
144    
145        /**
146         * Gets the value of the subscriptionPolicy property.
147         * 
148         * @return
149         *     possible object is
150         *     {@link Subscribe.SubscriptionPolicy }
151         *     
152         */
153        public Subscribe.SubscriptionPolicy getSubscriptionPolicy() {
154            return subscriptionPolicy;
155        }
156    
157        /**
158         * Sets the value of the subscriptionPolicy property.
159         * 
160         * @param value
161         *     allowed object is
162         *     {@link Subscribe.SubscriptionPolicy }
163         *     
164         */
165        public void setSubscriptionPolicy(Subscribe.SubscriptionPolicy value) {
166            this.subscriptionPolicy = value;
167        }
168    
169        /**
170         * Gets the value of the any property.
171         * 
172         * <p>
173         * This accessor method returns a reference to the live list,
174         * not a snapshot. Therefore any modification you make to the
175         * returned list will be present inside the JAXB object.
176         * This is why there is not a <CODE>set</CODE> method for the any property.
177         * 
178         * <p>
179         * For example, to add a new item, do as follows:
180         * <pre>
181         *    getAny().add(newItem);
182         * </pre>
183         * 
184         * 
185         * <p>
186         * Objects of the following type(s) are allowed in the list
187         * {@link Element }
188         * {@link Object }
189         * 
190         * 
191         */
192        public List<Object> getAny() {
193            if (any == null) {
194                any = new ArrayList<Object>();
195            }
196            return this.any;
197        }
198    
199    
200        /**
201         * <p>Java class for anonymous complex type.
202         * 
203         * <p>The following schema fragment specifies the expected content contained within this class.
204         * 
205         * <pre>
206         * &lt;complexType>
207         *   &lt;complexContent>
208         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
209         *       &lt;sequence>
210         *         &lt;any/>
211         *       &lt;/sequence>
212         *     &lt;/restriction>
213         *   &lt;/complexContent>
214         * &lt;/complexType>
215         * </pre>
216         * 
217         * 
218         */
219        @XmlAccessorType(XmlAccessType.FIELD)
220        @XmlType(name = "", propOrder = {
221            "any"
222        })
223        public static class SubscriptionPolicy {
224    
225            @XmlAnyElement(lax = true)
226            protected List<Object> any;
227    
228            /**
229             * Gets the value of the any property.
230             * 
231             * <p>
232             * This accessor method returns a reference to the live list,
233             * not a snapshot. Therefore any modification you make to the
234             * returned list will be present inside the JAXB object.
235             * This is why there is not a <CODE>set</CODE> method for the any property.
236             * 
237             * <p>
238             * For example, to add a new item, do as follows:
239             * <pre>
240             *    getAny().add(newItem);
241             * </pre>
242             * 
243             * 
244             * <p>
245             * Objects of the following type(s) are allowed in the list
246             * {@link Element }
247             * {@link Object }
248             * 
249             * 
250             */
251            public List<Object> getAny() {
252                if (any == null) {
253                    any = new ArrayList<Object>();
254                }
255                return this.any;
256            }
257    
258        }
259    
260    }