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