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