//
// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
// See https://eclipse-ee4j.github.io/jaxb-ri 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2021.08.30 at 11:05:22 AM BST 
//

package jalview.xml.binding.jalview;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

/**
 * &lt;p&gt;Java class for anonymous complex type.
 * 
 * &lt;p&gt;The following schema fragment specifies the expected content
 * contained within this class.
 * 
 * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 * &amp;lt;extension
 * base="{www.vamsas.ac.uk/jalview/version2}SequenceType"&amp;gt;
 * &amp;lt;sequence&amp;gt; &amp;lt;element name="DBRef" maxOccurs="unbounded"
 * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 * &amp;lt;sequence&amp;gt; &amp;lt;element
 * ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/&amp;gt;
 * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="source"
 * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 * name="version" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 * &amp;lt;attribute name="accessionId"
 * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 * name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false"
 * /&amp;gt; &amp;lt;attribute name="canonical"
 * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="dsseqid"
 * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 * name="biotype" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 * &amp;lt;/extension&amp;gt; &amp;lt;/complexContent&amp;gt;
 * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { "dbRef" })
@XmlRootElement(name = "Sequence")
public class Sequence extends SequenceType
{

  @XmlElement(name = "DBRef")
  protected List<Sequence.DBRef> dbRef;

  @XmlAttribute(name = "dsseqid")
  protected String dsseqid;

  @XmlAttribute(name = "biotype")
  protected String biotype;

  /**
   * Gets the value of the dbRef property.
   * 
   * &lt;p&gt; This accessor method returns a reference to the live list, not a
   * snapshot. Therefore any modification you make to the returned list will be
   * present inside the JAXB object. This is why there is not a
   * &lt;CODE&gt;set&lt;/CODE&gt; method for the dbRef property.
   * 
   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
   * getDBRef().add(newItem); &lt;/pre&gt;
   * 
   * 
   * &lt;p&gt; Objects of the following type(s) are allowed in the list
   * {@link Sequence.DBRef }
   * 
   * 
   */
  public List<Sequence.DBRef> getDBRef()
  {
    if (dbRef == null)
    {
      dbRef = new ArrayList<Sequence.DBRef>();
    }
    return this.dbRef;
  }

  /**
   * Gets the value of the dsseqid property.
   * 
   * @return possible object is {@link String }
   * 
   */
  public String getDsseqid()
  {
    return dsseqid;
  }

  /**
   * Sets the value of the dsseqid property.
   * 
   * @param value
   *          allowed object is {@link String }
   * 
   */
  public void setDsseqid(String value)
  {
    this.dsseqid = value;
  }

  /**
   * Gets the value of the biotype property.
   * 
   * @return possible object is {@link String }
   * 
   */
  public String getBiotype()
  {
    return biotype;
  }

  /**
   * Sets the value of the biotype property.
   * 
   * @param value
   *          allowed object is {@link String }
   * 
   */
  public void setBiotype(String value)
  {
    this.biotype = value;
  }

  /**
   * &lt;p&gt;Java class for anonymous complex type.
   * 
   * &lt;p&gt;The following schema fragment specifies the expected content
   * contained within this class.
   * 
   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
   * &amp;lt;restriction
   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
   * &amp;lt;sequence&amp;gt; &amp;lt;element
   * ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/&amp;gt;
   * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="source"
   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
   * name="version" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
   * &amp;lt;attribute name="accessionId"
   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
   * name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean"
   * default="false" /&amp;gt; &amp;lt;attribute name="canonical"
   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
  @XmlType(name = "", propOrder = { "mapping" })
  public static class DBRef
  {

    @XmlElement(name = "Mapping")
    protected Mapping mapping;

    @XmlAttribute(name = "source")
    protected String source;

    @XmlAttribute(name = "version")
    protected String version;

    @XmlAttribute(name = "accessionId")
    protected String accessionId;

    @XmlAttribute(name = "locus")
    protected Boolean locus;

    @XmlAttribute(name = "canonical")
    protected Boolean canonical;

    /**
     * Gets the value of the mapping property.
     * 
     * @return possible object is {@link Mapping }
     * 
     */
    public Mapping getMapping()
    {
      return mapping;
    }

    /**
     * Sets the value of the mapping property.
     * 
     * @param value
     *          allowed object is {@link Mapping }
     * 
     */
    public void setMapping(Mapping value)
    {
      this.mapping = value;
    }

    /**
     * Gets the value of the source property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getSource()
    {
      return source;
    }

    /**
     * Sets the value of the source property.
     * 
     * @param value
     *          allowed object is {@link String }
     * 
     */
    public void setSource(String value)
    {
      this.source = value;
    }

    /**
     * Gets the value of the version property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getVersion()
    {
      return version;
    }

    /**
     * Sets the value of the version property.
     * 
     * @param value
     *          allowed object is {@link String }
     * 
     */
    public void setVersion(String value)
    {
      this.version = value;
    }

    /**
     * Gets the value of the accessionId property.
     * 
     * @return possible object is {@link String }
     * 
     */
    public String getAccessionId()
    {
      return accessionId;
    }

    /**
     * Sets the value of the accessionId property.
     * 
     * @param value
     *          allowed object is {@link String }
     * 
     */
    public void setAccessionId(String value)
    {
      this.accessionId = value;
    }

    /**
     * Gets the value of the locus property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isLocus()
    {
      if (locus == null)
      {
        return false;
      }
      else
      {
        return locus;
      }
    }

    /**
     * Sets the value of the locus property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setLocus(Boolean value)
    {
      this.locus = value;
    }

    /**
     * Gets the value of the canonical property.
     * 
     * @return possible object is {@link Boolean }
     * 
     */
    public boolean isCanonical()
    {
      if (canonical == null)
      {
        return false;
      }
      else
      {
        return canonical;
      }
    }

    /**
     * Sets the value of the canonical property.
     * 
     * @param value
     *          allowed object is {@link Boolean }
     * 
     */
    public void setCanonical(Boolean value)
    {
      this.canonical = value;
    }

  }

}
