001//
002// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.10-b140310.1920 
003// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
004// Any modifications to this file will be lost upon recompilation of the source schema. 
005// Generated on: 2015.06.22 at 10:48:06 AM CDT 
006//
007
008
009package org.nmdp.ngs.sra.jaxb.analysis;
010
011import java.util.ArrayList;
012import java.util.List;
013import javax.xml.bind.annotation.XmlAccessType;
014import javax.xml.bind.annotation.XmlAccessorType;
015import javax.xml.bind.annotation.XmlAttribute;
016import javax.xml.bind.annotation.XmlElement;
017import javax.xml.bind.annotation.XmlSchemaType;
018import javax.xml.bind.annotation.XmlType;
019import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
020import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
021
022
023/**
024 * Reference assembly details.
025 * 
026 * <p>Java class for ReferenceAssemblyType complex type.
027 * 
028 * <p>The following schema fragment specifies the expected content contained within this class.
029 * 
030 * <pre>
031 * &lt;complexType name="ReferenceAssemblyType">
032 *   &lt;complexContent>
033 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
034 *       &lt;choice>
035 *         &lt;element name="STANDARD">
036 *           &lt;complexType>
037 *             &lt;complexContent>
038 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
039 *                 &lt;attribute name="refname" type="{http://www.w3.org/2001/XMLSchema}string" />
040 *                 &lt;attribute name="accession" type="{http://www.w3.org/2001/XMLSchema}token" />
041 *               &lt;/restriction>
042 *             &lt;/complexContent>
043 *           &lt;/complexType>
044 *         &lt;/element>
045 *         &lt;element name="CUSTOM">
046 *           &lt;complexType>
047 *             &lt;complexContent>
048 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
049 *                 &lt;sequence>
050 *                   &lt;element name="DESCRIPTION" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
051 *                   &lt;element name="URL_LINK" maxOccurs="unbounded">
052 *                     &lt;complexType>
053 *                       &lt;complexContent>
054 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
055 *                           &lt;all>
056 *                             &lt;element name="LABEL" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
057 *                             &lt;element name="URL" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
058 *                           &lt;/all>
059 *                         &lt;/restriction>
060 *                       &lt;/complexContent>
061 *                     &lt;/complexType>
062 *                   &lt;/element>
063 *                 &lt;/sequence>
064 *               &lt;/restriction>
065 *             &lt;/complexContent>
066 *           &lt;/complexType>
067 *         &lt;/element>
068 *       &lt;/choice>
069 *     &lt;/restriction>
070 *   &lt;/complexContent>
071 * &lt;/complexType>
072 * </pre>
073 * 
074 * 
075 */
076@XmlAccessorType(XmlAccessType.FIELD)
077@XmlType(name = "ReferenceAssemblyType", propOrder = {
078    "custom",
079    "standard"
080})
081public class ReferenceAssemblyType {
082
083    @XmlElement(name = "CUSTOM")
084    protected ReferenceAssemblyType.Custom custom;
085    @XmlElement(name = "STANDARD")
086    protected ReferenceAssemblyType.Standard standard;
087
088    /**
089     * Gets the value of the custom property.
090     * 
091     * @return
092     *     possible object is
093     *     {@link ReferenceAssemblyType.Custom }
094     *     
095     */
096    public ReferenceAssemblyType.Custom getCustom() {
097        return custom;
098    }
099
100    /**
101     * Sets the value of the custom property.
102     * 
103     * @param value
104     *     allowed object is
105     *     {@link ReferenceAssemblyType.Custom }
106     *     
107     */
108    public void setCustom(ReferenceAssemblyType.Custom value) {
109        this.custom = value;
110    }
111
112    /**
113     * Gets the value of the standard property.
114     * 
115     * @return
116     *     possible object is
117     *     {@link ReferenceAssemblyType.Standard }
118     *     
119     */
120    public ReferenceAssemblyType.Standard getStandard() {
121        return standard;
122    }
123
124    /**
125     * Sets the value of the standard property.
126     * 
127     * @param value
128     *     allowed object is
129     *     {@link ReferenceAssemblyType.Standard }
130     *     
131     */
132    public void setStandard(ReferenceAssemblyType.Standard value) {
133        this.standard = value;
134    }
135
136
137    /**
138     * <p>Java class for anonymous complex type.
139     * 
140     * <p>The following schema fragment specifies the expected content contained within this class.
141     * 
142     * <pre>
143     * &lt;complexType>
144     *   &lt;complexContent>
145     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
146     *       &lt;sequence>
147     *         &lt;element name="DESCRIPTION" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
148     *         &lt;element name="URL_LINK" maxOccurs="unbounded">
149     *           &lt;complexType>
150     *             &lt;complexContent>
151     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
152     *                 &lt;all>
153     *                   &lt;element name="LABEL" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
154     *                   &lt;element name="URL" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
155     *                 &lt;/all>
156     *               &lt;/restriction>
157     *             &lt;/complexContent>
158     *           &lt;/complexType>
159     *         &lt;/element>
160     *       &lt;/sequence>
161     *     &lt;/restriction>
162     *   &lt;/complexContent>
163     * &lt;/complexType>
164     * </pre>
165     * 
166     * 
167     */
168    @XmlAccessorType(XmlAccessType.FIELD)
169    @XmlType(name = "", propOrder = {
170        "description",
171        "urlLinks"
172    })
173    public static class Custom {
174
175        @XmlElement(name = "DESCRIPTION")
176        protected String description;
177        @XmlElement(name = "URL_LINK", required = true)
178        protected List<ReferenceAssemblyType.Custom.UrlLink> urlLinks;
179
180        /**
181         * Gets the value of the description property.
182         * 
183         * @return
184         *     possible object is
185         *     {@link String }
186         *     
187         */
188        public String getDescription() {
189            return description;
190        }
191
192        /**
193         * Sets the value of the description property.
194         * 
195         * @param value
196         *     allowed object is
197         *     {@link String }
198         *     
199         */
200        public void setDescription(String value) {
201            this.description = value;
202        }
203
204        /**
205         * Gets the value of the urlLinks property.
206         * 
207         * <p>
208         * This accessor method returns a reference to the live list,
209         * not a snapshot. Therefore any modification you make to the
210         * returned list will be present inside the JAXB object.
211         * This is why there is not a <CODE>set</CODE> method for the urlLinks property.
212         * 
213         * <p>
214         * For example, to add a new item, do as follows:
215         * <pre>
216         *    getUrlLinks().add(newItem);
217         * </pre>
218         * 
219         * 
220         * <p>
221         * Objects of the following type(s) are allowed in the list
222         * {@link ReferenceAssemblyType.Custom.UrlLink }
223         * 
224         * 
225         */
226        public List<ReferenceAssemblyType.Custom.UrlLink> getUrlLinks() {
227            if (urlLinks == null) {
228                urlLinks = new ArrayList<ReferenceAssemblyType.Custom.UrlLink>();
229            }
230            return this.urlLinks;
231        }
232
233
234        /**
235         * <p>Java class for anonymous complex type.
236         * 
237         * <p>The following schema fragment specifies the expected content contained within this class.
238         * 
239         * <pre>
240         * &lt;complexType>
241         *   &lt;complexContent>
242         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
243         *       &lt;all>
244         *         &lt;element name="LABEL" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
245         *         &lt;element name="URL" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
246         *       &lt;/all>
247         *     &lt;/restriction>
248         *   &lt;/complexContent>
249         * &lt;/complexType>
250         * </pre>
251         * 
252         * 
253         */
254        @XmlAccessorType(XmlAccessType.FIELD)
255        @XmlType(name = "", propOrder = {
256
257        })
258        public static class UrlLink {
259
260            @XmlElement(name = "LABEL")
261            protected String label;
262            @XmlElement(name = "URL", required = true)
263            @XmlSchemaType(name = "anyURI")
264            protected String url;
265
266            /**
267             * Gets the value of the label property.
268             * 
269             * @return
270             *     possible object is
271             *     {@link String }
272             *     
273             */
274            public String getLabel() {
275                return label;
276            }
277
278            /**
279             * Sets the value of the label property.
280             * 
281             * @param value
282             *     allowed object is
283             *     {@link String }
284             *     
285             */
286            public void setLabel(String value) {
287                this.label = value;
288            }
289
290            /**
291             * Gets the value of the url property.
292             * 
293             * @return
294             *     possible object is
295             *     {@link String }
296             *     
297             */
298            public String getUrl() {
299                return url;
300            }
301
302            /**
303             * Sets the value of the url property.
304             * 
305             * @param value
306             *     allowed object is
307             *     {@link String }
308             *     
309             */
310            public void setUrl(String value) {
311                this.url = value;
312            }
313
314        }
315
316    }
317
318
319    /**
320     * <p>Java class for anonymous complex type.
321     * 
322     * <p>The following schema fragment specifies the expected content contained within this class.
323     * 
324     * <pre>
325     * &lt;complexType>
326     *   &lt;complexContent>
327     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
328     *       &lt;attribute name="refname" type="{http://www.w3.org/2001/XMLSchema}string" />
329     *       &lt;attribute name="accession" type="{http://www.w3.org/2001/XMLSchema}token" />
330     *     &lt;/restriction>
331     *   &lt;/complexContent>
332     * &lt;/complexType>
333     * </pre>
334     * 
335     * 
336     */
337    @XmlAccessorType(XmlAccessType.FIELD)
338    @XmlType(name = "")
339    public static class Standard {
340
341        @XmlAttribute(name = "refname")
342        protected String refname;
343        @XmlAttribute(name = "accession")
344        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
345        @XmlSchemaType(name = "token")
346        protected String accession;
347
348        /**
349         * Gets the value of the refname property.
350         * 
351         * @return
352         *     possible object is
353         *     {@link String }
354         *     
355         */
356        public String getRefname() {
357            return refname;
358        }
359
360        /**
361         * Sets the value of the refname property.
362         * 
363         * @param value
364         *     allowed object is
365         *     {@link String }
366         *     
367         */
368        public void setRefname(String value) {
369            this.refname = value;
370        }
371
372        /**
373         * Gets the value of the accession property.
374         * 
375         * @return
376         *     possible object is
377         *     {@link String }
378         *     
379         */
380        public String getAccession() {
381            return accession;
382        }
383
384        /**
385         * Sets the value of the accession property.
386         * 
387         * @param value
388         *     allowed object is
389         *     {@link String }
390         *     
391         */
392        public void setAccession(String value) {
393            this.accession = value;
394        }
395
396    }
397
398}