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