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:45:36 AM CDT 
006//
007
008
009package org.nmdp.ngs.hml.jaxb;
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.XmlType;
018
019
020/**
021 * 
022 *         Describes an SBT (sequence-based typing) that was performed using a
023 *         Sanger technique.
024 * 
025 *         Children:
026 *         ---------
027 *         - amplification     (required, qty: 1)
028 *         - sub-amplification (not required, qty: 0 or more)
029 *         - gssp              (not required, qty: 0 or more)
030 * 
031 *         Also allows an optional "property" element that may have nested/custom 
032 *         use data related to this typing-method.
033 * 
034 *         Attributes:
035 *         -----------
036 *         - locus:   The locus for which the SBT was performed. (optional)
037 *         - test-id: Test ID as registered with the test-id-source. 
038 *         - test-id-source: A formal or formal test registry location. For 
039 *                    example, this could be the NCBI GTR (specified as "GTR"), 
040 *                    NMDP for tests registered directly with NMDP (specified as 
041 *                    "NMDP), etc. (required if test-id is used)
042 * 
043 *           NMDP allows the following test-id-source values:
044 *           (Note that this may change in future versions) 
045 *             * gtr:          ID of kit registered with the NCBI Genetic  
046 *                             Testing Registry. (Preferred)
047 *             * nmdp-refid:   ID of kit registered with NMDP. The cardinal 
048 *                             sequence numbers of the registered probes in the 
049 *                             kit will determine the score order.
050 *             * probe-name:   Fully qualified probe name. If this attribute is 
051 *                             used, the scores attribute must contain exactly 
052 *                             one score. (ex: "L0999.K1.V1.A9F-S11")
053 *     
054 * 
055 * <p>Java class for sbt-sanger complex type.
056 * 
057 * <p>The following schema fragment specifies the expected content contained within this class.
058 * 
059 * <pre>
060 * &lt;complexType name="sbt-sanger">
061 *   &lt;complexContent>
062 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
063 *       &lt;sequence>
064 *         &lt;element name="property" type="{http://schemas.nmdp.org/spec/hml/1.0.1}property" maxOccurs="unbounded" minOccurs="0"/>
065 *         &lt;element name="amplification" type="{http://schemas.nmdp.org/spec/hml/1.0.1}amplification"/>
066 *         &lt;element name="sub-amplification" type="{http://schemas.nmdp.org/spec/hml/1.0.1}sub-amplification" maxOccurs="unbounded" minOccurs="0"/>
067 *         &lt;element name="gssp" type="{http://schemas.nmdp.org/spec/hml/1.0.1}gssp" maxOccurs="unbounded" minOccurs="0"/>
068 *       &lt;/sequence>
069 *       &lt;attribute name="locus">
070 *         &lt;simpleType>
071 *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
072 *             &lt;minLength value="1"/>
073 *           &lt;/restriction>
074 *         &lt;/simpleType>
075 *       &lt;/attribute>
076 *       &lt;attribute name="test-id">
077 *         &lt;simpleType>
078 *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
079 *             &lt;minLength value="1"/>
080 *           &lt;/restriction>
081 *         &lt;/simpleType>
082 *       &lt;/attribute>
083 *       &lt;attribute name="test-id-source">
084 *         &lt;simpleType>
085 *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
086 *             &lt;minLength value="1"/>
087 *           &lt;/restriction>
088 *         &lt;/simpleType>
089 *       &lt;/attribute>
090 *     &lt;/restriction>
091 *   &lt;/complexContent>
092 * &lt;/complexType>
093 * </pre>
094 * 
095 * 
096 */
097@XmlAccessorType(XmlAccessType.FIELD)
098@XmlType(name = "sbt-sanger", propOrder = {
099    "property",
100    "amplification",
101    "subAmplification",
102    "gssp"
103})
104public class SbtSanger {
105
106    protected List<Property> property;
107    @XmlElement(required = true)
108    protected Amplification amplification;
109    @XmlElement(name = "sub-amplification")
110    protected List<SubAmplification> subAmplification;
111    protected List<Gssp> gssp;
112    @XmlAttribute(name = "locus")
113    protected String locus;
114    @XmlAttribute(name = "test-id")
115    protected String testId;
116    @XmlAttribute(name = "test-id-source")
117    protected String testIdSource;
118
119    /**
120     * Gets the value of the property property.
121     * 
122     * <p>
123     * This accessor method returns a reference to the live list,
124     * not a snapshot. Therefore any modification you make to the
125     * returned list will be present inside the JAXB object.
126     * This is why there is not a <CODE>set</CODE> method for the property property.
127     * 
128     * <p>
129     * For example, to add a new item, do as follows:
130     * <pre>
131     *    getProperty().add(newItem);
132     * </pre>
133     * 
134     * 
135     * <p>
136     * Objects of the following type(s) are allowed in the list
137     * {@link Property }
138     * 
139     * 
140     */
141    public List<Property> getProperty() {
142        if (property == null) {
143            property = new ArrayList<Property>();
144        }
145        return this.property;
146    }
147
148    /**
149     * Gets the value of the amplification property.
150     * 
151     * @return
152     *     possible object is
153     *     {@link Amplification }
154     *     
155     */
156    public Amplification getAmplification() {
157        return amplification;
158    }
159
160    /**
161     * Sets the value of the amplification property.
162     * 
163     * @param value
164     *     allowed object is
165     *     {@link Amplification }
166     *     
167     */
168    public void setAmplification(Amplification value) {
169        this.amplification = value;
170    }
171
172    /**
173     * Gets the value of the subAmplification property.
174     * 
175     * <p>
176     * This accessor method returns a reference to the live list,
177     * not a snapshot. Therefore any modification you make to the
178     * returned list will be present inside the JAXB object.
179     * This is why there is not a <CODE>set</CODE> method for the subAmplification property.
180     * 
181     * <p>
182     * For example, to add a new item, do as follows:
183     * <pre>
184     *    getSubAmplification().add(newItem);
185     * </pre>
186     * 
187     * 
188     * <p>
189     * Objects of the following type(s) are allowed in the list
190     * {@link SubAmplification }
191     * 
192     * 
193     */
194    public List<SubAmplification> getSubAmplification() {
195        if (subAmplification == null) {
196            subAmplification = new ArrayList<SubAmplification>();
197        }
198        return this.subAmplification;
199    }
200
201    /**
202     * Gets the value of the gssp property.
203     * 
204     * <p>
205     * This accessor method returns a reference to the live list,
206     * not a snapshot. Therefore any modification you make to the
207     * returned list will be present inside the JAXB object.
208     * This is why there is not a <CODE>set</CODE> method for the gssp property.
209     * 
210     * <p>
211     * For example, to add a new item, do as follows:
212     * <pre>
213     *    getGssp().add(newItem);
214     * </pre>
215     * 
216     * 
217     * <p>
218     * Objects of the following type(s) are allowed in the list
219     * {@link Gssp }
220     * 
221     * 
222     */
223    public List<Gssp> getGssp() {
224        if (gssp == null) {
225            gssp = new ArrayList<Gssp>();
226        }
227        return this.gssp;
228    }
229
230    /**
231     * Gets the value of the locus property.
232     * 
233     * @return
234     *     possible object is
235     *     {@link String }
236     *     
237     */
238    public String getLocus() {
239        return locus;
240    }
241
242    /**
243     * Sets the value of the locus property.
244     * 
245     * @param value
246     *     allowed object is
247     *     {@link String }
248     *     
249     */
250    public void setLocus(String value) {
251        this.locus = value;
252    }
253
254    /**
255     * Gets the value of the testId property.
256     * 
257     * @return
258     *     possible object is
259     *     {@link String }
260     *     
261     */
262    public String getTestId() {
263        return testId;
264    }
265
266    /**
267     * Sets the value of the testId property.
268     * 
269     * @param value
270     *     allowed object is
271     *     {@link String }
272     *     
273     */
274    public void setTestId(String value) {
275        this.testId = value;
276    }
277
278    /**
279     * Gets the value of the testIdSource property.
280     * 
281     * @return
282     *     possible object is
283     *     {@link String }
284     *     
285     */
286    public String getTestIdSource() {
287        return testIdSource;
288    }
289
290    /**
291     * Sets the value of the testIdSource property.
292     * 
293     * @param value
294     *     allowed object is
295     *     {@link String }
296     *     
297     */
298    public void setTestIdSource(String value) {
299        this.testIdSource = value;
300    }
301
302}