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