001    
002    package org.oasis_open.docs.wsn.br_2;
003    
004    import java.util.ArrayList;
005    import java.util.List;
006    import javax.xml.bind.annotation.XmlAccessType;
007    import javax.xml.bind.annotation.XmlAccessorType;
008    import javax.xml.bind.annotation.XmlAnyElement;
009    import javax.xml.bind.annotation.XmlElement;
010    import javax.xml.bind.annotation.XmlRootElement;
011    import javax.xml.bind.annotation.XmlSchemaType;
012    import javax.xml.bind.annotation.XmlType;
013    import javax.xml.datatype.XMLGregorianCalendar;
014    import javax.xml.ws.wsaddressing.W3CEndpointReference;
015    import org.oasis_open.docs.wsn.b_2.TopicExpressionType;
016    import org.w3c.dom.Element;
017    
018    
019    /**
020     * <p>Java class for anonymous complex type.
021     * 
022     * <p>The following schema fragment specifies the expected content contained within this class.
023     * 
024     * <pre>
025     * &lt;complexType>
026     *   &lt;complexContent>
027     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
028     *       &lt;sequence>
029     *         &lt;element name="PublisherReference" type="{http://www.w3.org/2005/08/addressing}EndpointReferenceType" minOccurs="0"/>
030     *         &lt;element name="Topic" type="{http://docs.oasis-open.org/wsn/b-2}TopicExpressionType" maxOccurs="unbounded" minOccurs="0"/>
031     *         &lt;element name="Demand" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
032     *         &lt;element name="InitialTerminationTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
033     *         &lt;any/>
034     *       &lt;/sequence>
035     *     &lt;/restriction>
036     *   &lt;/complexContent>
037     * &lt;/complexType>
038     * </pre>
039     * 
040     * 
041     */
042    @XmlAccessorType(XmlAccessType.FIELD)
043    @XmlType(name = "", propOrder = {
044        "publisherReference",
045        "topic",
046        "demand",
047        "initialTerminationTime",
048        "any"
049    })
050    @XmlRootElement(name = "RegisterPublisher")
051    public class RegisterPublisher {
052    
053        @XmlElement(name = "PublisherReference")
054        protected W3CEndpointReference publisherReference;
055        @XmlElement(name = "Topic")
056        protected List<TopicExpressionType> topic;
057        @XmlElement(name = "Demand", defaultValue = "false")
058        protected Boolean demand;
059        @XmlElement(name = "InitialTerminationTime")
060        @XmlSchemaType(name = "dateTime")
061        protected XMLGregorianCalendar initialTerminationTime;
062        @XmlAnyElement(lax = true)
063        protected List<Object> any;
064    
065        /**
066         * Gets the value of the publisherReference property.
067         * 
068         * @return
069         *     possible object is
070         *     {@link W3CEndpointReference }
071         *     
072         */
073        public W3CEndpointReference getPublisherReference() {
074            return publisherReference;
075        }
076    
077        /**
078         * Sets the value of the publisherReference property.
079         * 
080         * @param value
081         *     allowed object is
082         *     {@link W3CEndpointReference }
083         *     
084         */
085        public void setPublisherReference(W3CEndpointReference value) {
086            this.publisherReference = value;
087        }
088    
089        /**
090         * Gets the value of the topic property.
091         * 
092         * <p>
093         * This accessor method returns a reference to the live list,
094         * not a snapshot. Therefore any modification you make to the
095         * returned list will be present inside the JAXB object.
096         * This is why there is not a <CODE>set</CODE> method for the topic property.
097         * 
098         * <p>
099         * For example, to add a new item, do as follows:
100         * <pre>
101         *    getTopic().add(newItem);
102         * </pre>
103         * 
104         * 
105         * <p>
106         * Objects of the following type(s) are allowed in the list
107         * {@link TopicExpressionType }
108         * 
109         * 
110         */
111        public List<TopicExpressionType> getTopic() {
112            if (topic == null) {
113                topic = new ArrayList<TopicExpressionType>();
114            }
115            return this.topic;
116        }
117    
118        /**
119         * Gets the value of the demand property.
120         * 
121         * @return
122         *     possible object is
123         *     {@link Boolean }
124         *     
125         */
126        public Boolean isDemand() {
127            return demand;
128        }
129    
130        /**
131         * Sets the value of the demand property.
132         * 
133         * @param value
134         *     allowed object is
135         *     {@link Boolean }
136         *     
137         */
138        public void setDemand(Boolean value) {
139            this.demand = value;
140        }
141    
142        /**
143         * Gets the value of the initialTerminationTime property.
144         * 
145         * @return
146         *     possible object is
147         *     {@link XMLGregorianCalendar }
148         *     
149         */
150        public XMLGregorianCalendar getInitialTerminationTime() {
151            return initialTerminationTime;
152        }
153    
154        /**
155         * Sets the value of the initialTerminationTime property.
156         * 
157         * @param value
158         *     allowed object is
159         *     {@link XMLGregorianCalendar }
160         *     
161         */
162        public void setInitialTerminationTime(XMLGregorianCalendar value) {
163            this.initialTerminationTime = value;
164        }
165    
166        /**
167         * Gets the value of the any property.
168         * 
169         * <p>
170         * This accessor method returns a reference to the live list,
171         * not a snapshot. Therefore any modification you make to the
172         * returned list will be present inside the JAXB object.
173         * This is why there is not a <CODE>set</CODE> method for the any property.
174         * 
175         * <p>
176         * For example, to add a new item, do as follows:
177         * <pre>
178         *    getAny().add(newItem);
179         * </pre>
180         * 
181         * 
182         * <p>
183         * Objects of the following type(s) are allowed in the list
184         * {@link Element }
185         * {@link Object }
186         * 
187         * 
188         */
189        public List<Object> getAny() {
190            if (any == null) {
191                any = new ArrayList<Object>();
192            }
193            return this.any;
194        }
195    
196    }