1 /**
2 * JSpiff
3 * -----------------
4 * Copyright (c) 2005-2006 Emil A. Lefkof III
5 *
6 * I always give it my best shot to make a program useful and solid, but
7 * remeber that there is absolutely no warranty for using this program as
8 * stated in the following terms:
9 *
10 * Licensed under the Apache License, Version 2.0 (the "License");
11 * you may not use this file except in compliance with the License.
12 * You may obtain a copy of the License at
13 *
14 * http://www.apache.org/licenses/LICENSE-2.0
15 *
16 * Unless required by applicable law or agreed to in writing, software
17 * distributed under the License is distributed on an "AS IS" BASIS,
18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 * See the License for the specific language governing permissions and
20 * limitations under the License.
21 */
22
23 package com.melloware.jspiff.jaxb;
24
25 import java.math.BigInteger;
26 import java.util.ArrayList;
27 import java.util.List;
28 import javax.xml.bind.annotation.XmlAccessType;
29 import javax.xml.bind.annotation.XmlAccessorType;
30 import javax.xml.bind.annotation.XmlType;
31
32
33 /**
34 * <p>Java class for TrackType complex type.
35 *
36 * <p>The following schema fragment specifies the expected content contained within this class.
37 *
38 * <pre>
39 * <complexType name="TrackType">
40 * <complexContent>
41 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
42 * <sequence>
43 * <element name="location" type="{http://www.w3.org/2001/XMLSchema}anyURI" maxOccurs="unbounded" minOccurs="0"/>
44 * <element name="identifier" type="{http://www.w3.org/2001/XMLSchema}anyURI" maxOccurs="unbounded" minOccurs="0"/>
45 * <element name="title" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
46 * <element name="creator" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
47 * <element name="annotation" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
48 * <element name="info" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/>
49 * <element name="image" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/>
50 * <element name="album" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
51 * <element name="trackNum" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
52 * <element name="duration" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
53 * <element name="link" type="{http://xspf.org/ns/0/}LinkType" maxOccurs="unbounded" minOccurs="0"/>
54 * <element name="meta" type="{http://xspf.org/ns/0/}MetaType" maxOccurs="unbounded" minOccurs="0"/>
55 * <element name="extension" type="{http://xspf.org/ns/0/}ExtensionType" maxOccurs="unbounded" minOccurs="0"/>
56 * </sequence>
57 * </restriction>
58 * </complexContent>
59 * </complexType>
60 * </pre>
61 *
62 *
63 */
64 @XmlAccessorType(XmlAccessType.FIELD)
65 @XmlType(name = "TrackType", propOrder = {
66 "location",
67 "identifier",
68 "title",
69 "creator",
70 "annotation",
71 "info",
72 "image",
73 "album",
74 "trackNum",
75 "duration",
76 "link",
77 "meta",
78 "extension"
79 })
80 public class TrackType {
81
82 protected List<String> location;
83 protected List<String> identifier;
84 protected String title;
85 protected String creator;
86 protected String annotation;
87 protected String info;
88 protected String image;
89 protected String album;
90 protected BigInteger trackNum;
91 protected BigInteger duration;
92 protected List<LinkType> link;
93 protected List<MetaType> meta;
94 protected List<ExtensionType> extension;
95
96 /**
97 * Gets the value of the location property.
98 *
99 * <p>
100 * This accessor method returns a reference to the live list,
101 * not a snapshot. Therefore any modification you make to the
102 * returned list will be present inside the JAXB object.
103 * This is why there is not a <CODE>set</CODE> method for the location property.
104 *
105 * <p>
106 * For example, to add a new item, do as follows:
107 * <pre>
108 * getLocation().add(newItem);
109 * </pre>
110 *
111 *
112 * <p>
113 * Objects of the following type(s) are allowed in the list
114 * {@link String }
115 *
116 *
117 */
118 public List<String> getLocation() {
119 if (location == null) {
120 location = new ArrayList<String>();
121 }
122 return this.location;
123 }
124
125 /**
126 * Gets the value of the identifier property.
127 *
128 * <p>
129 * This accessor method returns a reference to the live list,
130 * not a snapshot. Therefore any modification you make to the
131 * returned list will be present inside the JAXB object.
132 * This is why there is not a <CODE>set</CODE> method for the identifier property.
133 *
134 * <p>
135 * For example, to add a new item, do as follows:
136 * <pre>
137 * getIdentifier().add(newItem);
138 * </pre>
139 *
140 *
141 * <p>
142 * Objects of the following type(s) are allowed in the list
143 * {@link String }
144 *
145 *
146 */
147 public List<String> getIdentifier() {
148 if (identifier == null) {
149 identifier = new ArrayList<String>();
150 }
151 return this.identifier;
152 }
153
154 /**
155 * Gets the value of the title property.
156 *
157 * @return
158 * possible object is
159 * {@link String }
160 *
161 */
162 public String getTitle() {
163 return title;
164 }
165
166 /**
167 * Sets the value of the title property.
168 *
169 * @param value
170 * allowed object is
171 * {@link String }
172 *
173 */
174 public void setTitle(String value) {
175 this.title = value;
176 }
177
178 /**
179 * Gets the value of the creator property.
180 *
181 * @return
182 * possible object is
183 * {@link String }
184 *
185 */
186 public String getCreator() {
187 return creator;
188 }
189
190 /**
191 * Sets the value of the creator property.
192 *
193 * @param value
194 * allowed object is
195 * {@link String }
196 *
197 */
198 public void setCreator(String value) {
199 this.creator = value;
200 }
201
202 /**
203 * Gets the value of the annotation property.
204 *
205 * @return
206 * possible object is
207 * {@link String }
208 *
209 */
210 public String getAnnotation() {
211 return annotation;
212 }
213
214 /**
215 * Sets the value of the annotation property.
216 *
217 * @param value
218 * allowed object is
219 * {@link String }
220 *
221 */
222 public void setAnnotation(String value) {
223 this.annotation = value;
224 }
225
226 /**
227 * Gets the value of the info property.
228 *
229 * @return
230 * possible object is
231 * {@link String }
232 *
233 */
234 public String getInfo() {
235 return info;
236 }
237
238 /**
239 * Sets the value of the info property.
240 *
241 * @param value
242 * allowed object is
243 * {@link String }
244 *
245 */
246 public void setInfo(String value) {
247 this.info = value;
248 }
249
250 /**
251 * Gets the value of the image property.
252 *
253 * @return
254 * possible object is
255 * {@link String }
256 *
257 */
258 public String getImage() {
259 return image;
260 }
261
262 /**
263 * Sets the value of the image property.
264 *
265 * @param value
266 * allowed object is
267 * {@link String }
268 *
269 */
270 public void setImage(String value) {
271 this.image = value;
272 }
273
274 /**
275 * Gets the value of the album property.
276 *
277 * @return
278 * possible object is
279 * {@link String }
280 *
281 */
282 public String getAlbum() {
283 return album;
284 }
285
286 /**
287 * Sets the value of the album property.
288 *
289 * @param value
290 * allowed object is
291 * {@link String }
292 *
293 */
294 public void setAlbum(String value) {
295 this.album = value;
296 }
297
298 /**
299 * Gets the value of the trackNum property.
300 *
301 * @return
302 * possible object is
303 * {@link BigInteger }
304 *
305 */
306 public BigInteger getTrackNum() {
307 return trackNum;
308 }
309
310 /**
311 * Sets the value of the trackNum property.
312 *
313 * @param value
314 * allowed object is
315 * {@link BigInteger }
316 *
317 */
318 public void setTrackNum(BigInteger value) {
319 this.trackNum = value;
320 }
321
322 /**
323 * Gets the value of the duration property.
324 *
325 * @return
326 * possible object is
327 * {@link BigInteger }
328 *
329 */
330 public BigInteger getDuration() {
331 return duration;
332 }
333
334 /**
335 * Sets the value of the duration property.
336 *
337 * @param value
338 * allowed object is
339 * {@link BigInteger }
340 *
341 */
342 public void setDuration(BigInteger value) {
343 this.duration = value;
344 }
345
346 /**
347 * Gets the value of the link property.
348 *
349 * <p>
350 * This accessor method returns a reference to the live list,
351 * not a snapshot. Therefore any modification you make to the
352 * returned list will be present inside the JAXB object.
353 * This is why there is not a <CODE>set</CODE> method for the link property.
354 *
355 * <p>
356 * For example, to add a new item, do as follows:
357 * <pre>
358 * getLink().add(newItem);
359 * </pre>
360 *
361 *
362 * <p>
363 * Objects of the following type(s) are allowed in the list
364 * {@link LinkType }
365 *
366 *
367 */
368 public List<LinkType> getLink() {
369 if (link == null) {
370 link = new ArrayList<LinkType>();
371 }
372 return this.link;
373 }
374
375 /**
376 * Gets the value of the meta property.
377 *
378 * <p>
379 * This accessor method returns a reference to the live list,
380 * not a snapshot. Therefore any modification you make to the
381 * returned list will be present inside the JAXB object.
382 * This is why there is not a <CODE>set</CODE> method for the meta property.
383 *
384 * <p>
385 * For example, to add a new item, do as follows:
386 * <pre>
387 * getMeta().add(newItem);
388 * </pre>
389 *
390 *
391 * <p>
392 * Objects of the following type(s) are allowed in the list
393 * {@link MetaType }
394 *
395 *
396 */
397 public List<MetaType> getMeta() {
398 if (meta == null) {
399 meta = new ArrayList<MetaType>();
400 }
401 return this.meta;
402 }
403
404 /**
405 * Gets the value of the extension property.
406 *
407 * <p>
408 * This accessor method returns a reference to the live list,
409 * not a snapshot. Therefore any modification you make to the
410 * returned list will be present inside the JAXB object.
411 * This is why there is not a <CODE>set</CODE> method for the extension property.
412 *
413 * <p>
414 * For example, to add a new item, do as follows:
415 * <pre>
416 * getExtension().add(newItem);
417 * </pre>
418 *
419 *
420 * <p>
421 * Objects of the following type(s) are allowed in the list
422 * {@link ExtensionType }
423 *
424 *
425 */
426 public List<ExtensionType> getExtension() {
427 if (extension == null) {
428 extension = new ArrayList<ExtensionType>();
429 }
430 return this.extension;
431 }
432
433 }