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