JAL-4366 avoid corrupting map when no complete mapping available for chain to sequence
[jalview.git] / src / jalview / xml / binding / jalview / SequenceSet.java
index f08b225..c45fe81 100644 (file)
@@ -1,8 +1,8 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// 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: 2023.05.13 at 06:58:41 PM BST 
+// Generated on: 2023.11.01 at 07:03:09 PM GMT 
 //
 
 package jalview.xml.binding.jalview;
@@ -17,38 +17,35 @@ import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
 /**
- * <p>
- * Java class for anonymous complex type.
+ * &lt;p&gt;Java class for anonymous complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * &lt;p&gt;The following schema fragment specifies the expected content
+ * contained within this class.
  * 
- * <pre>
- * &lt;complexType>
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Sequence" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Annotation" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element name="sequenceSetProperties" maxOccurs="unbounded" minOccurs="0">
- *           &lt;complexType>
- *             &lt;complexContent>
- *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *                 &lt;attribute name="key" type="{http://www.w3.org/2001/XMLSchema}string" />
- *                 &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" />
- *               &lt;/restriction>
- *             &lt;/complexContent>
- *           &lt;/complexType>
- *         &lt;/element>
- *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}AlcodonFrame" maxOccurs="unbounded" minOccurs="0"/>
- *       &lt;/sequence>
- *       &lt;attribute name="gapChar" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- *       &lt;attribute name="datasetId" type="{http://www.w3.org/2001/XMLSchema}string" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
+ * &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}Sequence" maxOccurs="unbounded"
+ * minOccurs="0"/&amp;gt; &amp;lt;element
+ * ref="{www.vamsas.ac.uk/jalview/version2}Annotation" maxOccurs="unbounded"
+ * minOccurs="0"/&amp;gt; &amp;lt;element name="sequenceSetProperties"
+ * 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;attribute
+ * name="key" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ * &amp;lt;attribute name="value"
+ * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
+ * ref="{www.vamsas.ac.uk/jalview/version2}AlcodonFrame" maxOccurs="unbounded"
+ * minOccurs="0"/&amp;gt; &amp;lt;element name="Matrix"
+ * type="{www.vamsas.ac.uk/jalview/version2}MatrixType" maxOccurs="unbounded"
+ * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;attribute
+ * name="gapChar" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
+ * /&amp;gt; &amp;lt;attribute name="datasetId"
+ * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+ * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
+ * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
  * 
  * 
  */
@@ -56,7 +53,8 @@ import javax.xml.bind.annotation.XmlType;
 @XmlType(
   name = "",
   propOrder =
-  { "sequence", "annotation", "sequenceSetProperties", "alcodonFrame" })
+  { "sequence", "annotation", "sequenceSetProperties", "alcodonFrame",
+      "matrix" })
 @XmlRootElement(name = "SequenceSet")
 public class SequenceSet
 {
@@ -72,6 +70,9 @@ public class SequenceSet
   @XmlElement(name = "AlcodonFrame")
   protected List<AlcodonFrame> alcodonFrame;
 
+  @XmlElement(name = "Matrix")
+  protected List<MatrixType> matrix;
+
   @XmlAttribute(name = "gapChar", required = true)
   protected String gapChar;
 
@@ -81,22 +82,17 @@ public class SequenceSet
   /**
    * Gets the value of the sequence property.
    * 
-   * <p>
-   * 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 <CODE>set</CODE> method
-   * for the sequence property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
+   * &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 sequence property.
    * 
-   * <pre>
-   * getSequence().add(newItem);
-   * </pre>
+   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
+   * getSequence().add(newItem); &lt;/pre&gt;
    * 
    * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link Sequence }
+   * &lt;p&gt; Objects of the following type(s) are allowed in the list
+   * {@link Sequence }
    * 
    * 
    */
@@ -112,23 +108,17 @@ public class SequenceSet
   /**
    * Gets the value of the annotation property.
    * 
-   * <p>
-   * 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 <CODE>set</CODE> method
-   * for the annotation property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
+   * &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 annotation property.
    * 
-   * <pre>
-   * getAnnotation().add(newItem);
-   * </pre>
+   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
+   * getAnnotation().add(newItem); &lt;/pre&gt;
    * 
    * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list {@link Annotation
-   * }
+   * &lt;p&gt; Objects of the following type(s) are allowed in the list
+   * {@link Annotation }
    * 
    * 
    */
@@ -144,22 +134,16 @@ public class SequenceSet
   /**
    * Gets the value of the sequenceSetProperties property.
    * 
-   * <p>
-   * 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 <CODE>set</CODE> method
-   * for the sequenceSetProperties 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 sequenceSetProperties property.
    * 
-   * <p>
-   * For example, to add a new item, do as follows:
+   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
+   * getSequenceSetProperties().add(newItem); &lt;/pre&gt;
    * 
-   * <pre>
-   * getSequenceSetProperties().add(newItem);
-   * </pre>
    * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
+   * &lt;p&gt; Objects of the following type(s) are allowed in the list
    * {@link SequenceSet.SequenceSetProperties }
    * 
    * 
@@ -176,22 +160,16 @@ public class SequenceSet
   /**
    * Gets the value of the alcodonFrame property.
    * 
-   * <p>
-   * 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 <CODE>set</CODE> method
-   * for the alcodonFrame property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
+   * &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 alcodonFrame property.
    * 
-   * <pre>
-   * getAlcodonFrame().add(newItem);
-   * </pre>
+   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
+   * getAlcodonFrame().add(newItem); &lt;/pre&gt;
    * 
    * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
+   * &lt;p&gt; Objects of the following type(s) are allowed in the list
    * {@link AlcodonFrame }
    * 
    * 
@@ -206,6 +184,32 @@ public class SequenceSet
   }
 
   /**
+   * Gets the value of the matrix 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 matrix property.
+   * 
+   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
+   * getMatrix().add(newItem); &lt;/pre&gt;
+   * 
+   * 
+   * &lt;p&gt; Objects of the following type(s) are allowed in the list
+   * {@link MatrixType }
+   * 
+   * 
+   */
+  public List<MatrixType> getMatrix()
+  {
+    if (matrix == null)
+    {
+      matrix = new ArrayList<MatrixType>();
+    }
+    return this.matrix;
+  }
+
+  /**
    * Gets the value of the gapChar property.
    * 
    * @return possible object is {@link String }
@@ -252,23 +256,19 @@ public class SequenceSet
   }
 
   /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;attribute name="key" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *       &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" />
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
+   * &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;attribute
+   * name="key" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+   * &amp;lt;attribute name="value"
+   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
+   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
+   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
    * 
    * 
    */