JAL-1620 version bump and release notes
[jalview.git] / src / jalview / schemabinding / version2 / JGroup.java
old mode 100755 (executable)
new mode 100644 (file)
index 8c11375..523115f
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)\r
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
- * \r
- * This file is part of Jalview.\r
- * \r
- * Jalview is free software: you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License \r
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
- * \r
- * Jalview is distributed in the hope that it will be useful, but \r
- * WITHOUT ANY WARRANTY; without even the implied warranty \r
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
- * PURPOSE.  See the GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-package jalview.schemabinding.version2;\r
-\r
-//---------------------------------/\r
-//- Imported classes and packages -/\r
-//---------------------------------/\r
-\r
-import org.exolab.castor.xml.Marshaller;\r
-import org.exolab.castor.xml.Unmarshaller;\r
-\r
-/**\r
- * Class JGroup.\r
- * \r
- * @version $Revision$ $Date$\r
- */\r
-public class JGroup implements java.io.Serializable\r
-{\r
-\r
-  // --------------------------/\r
-  // - Class/Member Variables -/\r
-  // --------------------------/\r
-\r
-  /**\r
-   * Field _start.\r
-   */\r
-  private int _start;\r
-\r
-  /**\r
-   * keeps track of state for field: _start\r
-   */\r
-  private boolean _has_start;\r
-\r
-  /**\r
-   * Field _end.\r
-   */\r
-  private int _end;\r
-\r
-  /**\r
-   * keeps track of state for field: _end\r
-   */\r
-  private boolean _has_end;\r
-\r
-  /**\r
-   * Field _name.\r
-   */\r
-  private java.lang.String _name;\r
-\r
-  /**\r
-   * Field _colour.\r
-   */\r
-  private java.lang.String _colour;\r
-\r
-  /**\r
-   * Field _consThreshold.\r
-   */\r
-  private int _consThreshold;\r
-\r
-  /**\r
-   * keeps track of state for field: _consThreshold\r
-   */\r
-  private boolean _has_consThreshold;\r
-\r
-  /**\r
-   * Field _pidThreshold.\r
-   */\r
-  private int _pidThreshold;\r
-\r
-  /**\r
-   * keeps track of state for field: _pidThreshold\r
-   */\r
-  private boolean _has_pidThreshold;\r
-\r
-  /**\r
-   * Field _outlineColour.\r
-   */\r
-  private int _outlineColour;\r
-\r
-  /**\r
-   * keeps track of state for field: _outlineColour\r
-   */\r
-  private boolean _has_outlineColour;\r
-\r
-  /**\r
-   * Field _displayBoxes.\r
-   */\r
-  private boolean _displayBoxes;\r
-\r
-  /**\r
-   * keeps track of state for field: _displayBoxes\r
-   */\r
-  private boolean _has_displayBoxes;\r
-\r
-  /**\r
-   * Field _displayText.\r
-   */\r
-  private boolean _displayText;\r
-\r
-  /**\r
-   * keeps track of state for field: _displayText\r
-   */\r
-  private boolean _has_displayText;\r
-\r
-  /**\r
-   * Field _colourText.\r
-   */\r
-  private boolean _colourText;\r
-\r
-  /**\r
-   * keeps track of state for field: _colourText\r
-   */\r
-  private boolean _has_colourText;\r
-\r
-  /**\r
-   * Field _textCol1.\r
-   */\r
-  private int _textCol1;\r
-\r
-  /**\r
-   * keeps track of state for field: _textCol1\r
-   */\r
-  private boolean _has_textCol1;\r
-\r
-  /**\r
-   * Field _textCol2.\r
-   */\r
-  private int _textCol2;\r
-\r
-  /**\r
-   * keeps track of state for field: _textCol2\r
-   */\r
-  private boolean _has_textCol2;\r
-\r
-  /**\r
-   * Field _textColThreshold.\r
-   */\r
-  private int _textColThreshold;\r
-\r
-  /**\r
-   * keeps track of state for field: _textColThreshold\r
-   */\r
-  private boolean _has_textColThreshold;\r
-\r
-  /**\r
-   * Field _showUnconserved.\r
-   */\r
-  private boolean _showUnconserved;\r
-\r
-  /**\r
-   * keeps track of state for field: _showUnconserved\r
-   */\r
-  private boolean _has_showUnconserved;\r
-\r
-  /**\r
-   * Field _ignoreGapsinConsensus.\r
-   */\r
-  private boolean _ignoreGapsinConsensus = true;\r
-\r
-  /**\r
-   * keeps track of state for field: _ignoreGapsinConsensus\r
-   */\r
-  private boolean _has_ignoreGapsinConsensus;\r
-\r
-  /**\r
-   * Field _showConsensusHistogram.\r
-   */\r
-  private boolean _showConsensusHistogram = true;\r
-\r
-  /**\r
-   * keeps track of state for field: _showConsensusHistogram\r
-   */\r
-  private boolean _has_showConsensusHistogram;\r
-\r
-  /**\r
-   * Field _showSequenceLogo.\r
-   */\r
-  private boolean _showSequenceLogo = false;\r
-\r
-  /**\r
-   * keeps track of state for field: _showSequenceLogo\r
-   */\r
-  private boolean _has_showSequenceLogo;\r
-\r
-  /**\r
-   * Optional sequence group ID (only needs to be unique for this alignment)\r
-   * \r
-   */\r
-  private java.lang.String _id;\r
-\r
-  /**\r
-   * Field _seqList.\r
-   */\r
-  private java.util.Vector _seqList;\r
-\r
-  // ----------------/\r
-  // - Constructors -/\r
-  // ----------------/\r
-\r
-  public JGroup()\r
-  {\r
-    super();\r
-    this._seqList = new java.util.Vector();\r
-  }\r
-\r
-  // -----------/\r
-  // - Methods -/\r
-  // -----------/\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param vSeq\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void addSeq(final java.lang.String vSeq)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    this._seqList.addElement(vSeq);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param index\r
-   * @param vSeq\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void addSeq(final int index, final java.lang.String vSeq)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    this._seqList.add(index, vSeq);\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteColourText()\r
-  {\r
-    this._has_colourText = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteConsThreshold()\r
-  {\r
-    this._has_consThreshold = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteDisplayBoxes()\r
-  {\r
-    this._has_displayBoxes = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteDisplayText()\r
-  {\r
-    this._has_displayText = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteEnd()\r
-  {\r
-    this._has_end = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteIgnoreGapsinConsensus()\r
-  {\r
-    this._has_ignoreGapsinConsensus = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteOutlineColour()\r
-  {\r
-    this._has_outlineColour = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deletePidThreshold()\r
-  {\r
-    this._has_pidThreshold = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteShowConsensusHistogram()\r
-  {\r
-    this._has_showConsensusHistogram = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteShowSequenceLogo()\r
-  {\r
-    this._has_showSequenceLogo = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteShowUnconserved()\r
-  {\r
-    this._has_showUnconserved = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteStart()\r
-  {\r
-    this._has_start = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteTextCol1()\r
-  {\r
-    this._has_textCol1 = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteTextCol2()\r
-  {\r
-    this._has_textCol2 = false;\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void deleteTextColThreshold()\r
-  {\r
-    this._has_textColThreshold = false;\r
-  }\r
-\r
-  /**\r
-   * Method enumerateSeq.\r
-   * \r
-   * @return an Enumeration over all java.lang.String elements\r
-   */\r
-  public java.util.Enumeration enumerateSeq()\r
-  {\r
-    return this._seqList.elements();\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'colour'.\r
-   * \r
-   * @return the value of field 'Colour'.\r
-   */\r
-  public java.lang.String getColour()\r
-  {\r
-    return this._colour;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'colourText'.\r
-   * \r
-   * @return the value of field 'ColourText'.\r
-   */\r
-  public boolean getColourText()\r
-  {\r
-    return this._colourText;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'consThreshold'.\r
-   * \r
-   * @return the value of field 'ConsThreshold'.\r
-   */\r
-  public int getConsThreshold()\r
-  {\r
-    return this._consThreshold;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'displayBoxes'.\r
-   * \r
-   * @return the value of field 'DisplayBoxes'.\r
-   */\r
-  public boolean getDisplayBoxes()\r
-  {\r
-    return this._displayBoxes;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'displayText'.\r
-   * \r
-   * @return the value of field 'DisplayText'.\r
-   */\r
-  public boolean getDisplayText()\r
-  {\r
-    return this._displayText;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'end'.\r
-   * \r
-   * @return the value of field 'End'.\r
-   */\r
-  public int getEnd()\r
-  {\r
-    return this._end;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'id'. The field 'id' has the following\r
-   * description: Optional sequence group ID (only needs to be unique for this\r
-   * alignment)\r
-   * \r
-   * \r
-   * @return the value of field 'Id'.\r
-   */\r
-  public java.lang.String getId()\r
-  {\r
-    return this._id;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'ignoreGapsinConsensus'.\r
-   * \r
-   * @return the value of field 'IgnoreGapsinConsensus'.\r
-   */\r
-  public boolean getIgnoreGapsinConsensus()\r
-  {\r
-    return this._ignoreGapsinConsensus;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'name'.\r
-   * \r
-   * @return the value of field 'Name'.\r
-   */\r
-  public java.lang.String getName()\r
-  {\r
-    return this._name;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'outlineColour'.\r
-   * \r
-   * @return the value of field 'OutlineColour'.\r
-   */\r
-  public int getOutlineColour()\r
-  {\r
-    return this._outlineColour;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'pidThreshold'.\r
-   * \r
-   * @return the value of field 'PidThreshold'.\r
-   */\r
-  public int getPidThreshold()\r
-  {\r
-    return this._pidThreshold;\r
-  }\r
-\r
-  /**\r
-   * Method getSeq.\r
-   * \r
-   * @param index\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   * @return the value of the java.lang.String at the given index\r
-   */\r
-  public java.lang.String getSeq(final int index)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    // check bounds for index\r
-    if (index < 0 || index >= this._seqList.size())\r
-    {\r
-      throw new IndexOutOfBoundsException("getSeq: Index value '" + index\r
-              + "' not in range [0.." + (this._seqList.size() - 1) + "]");\r
-    }\r
-\r
-    return (java.lang.String) _seqList.get(index);\r
-  }\r
-\r
-  /**\r
-   * Method getSeq.Returns the contents of the collection in an Array.\r
-   * <p>\r
-   * Note: Just in case the collection contents are changing in another thread,\r
-   * we pass a 0-length Array of the correct type into the API call. This way we\r
-   * <i>know</i> that the Array returned is of exactly the correct length.\r
-   * \r
-   * @return this collection as an Array\r
-   */\r
-  public java.lang.String[] getSeq()\r
-  {\r
-    java.lang.String[] array = new java.lang.String[0];\r
-    return (java.lang.String[]) this._seqList.toArray(array);\r
-  }\r
-\r
-  /**\r
-   * Method getSeqCount.\r
-   * \r
-   * @return the size of this collection\r
-   */\r
-  public int getSeqCount()\r
-  {\r
-    return this._seqList.size();\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'showConsensusHistogram'.\r
-   * \r
-   * @return the value of field 'ShowConsensusHistogram'.\r
-   */\r
-  public boolean getShowConsensusHistogram()\r
-  {\r
-    return this._showConsensusHistogram;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'showSequenceLogo'.\r
-   * \r
-   * @return the value of field 'ShowSequenceLogo'.\r
-   */\r
-  public boolean getShowSequenceLogo()\r
-  {\r
-    return this._showSequenceLogo;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'showUnconserved'.\r
-   * \r
-   * @return the value of field 'ShowUnconserved'.\r
-   */\r
-  public boolean getShowUnconserved()\r
-  {\r
-    return this._showUnconserved;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'start'.\r
-   * \r
-   * @return the value of field 'Start'.\r
-   */\r
-  public int getStart()\r
-  {\r
-    return this._start;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'textCol1'.\r
-   * \r
-   * @return the value of field 'TextCol1'.\r
-   */\r
-  public int getTextCol1()\r
-  {\r
-    return this._textCol1;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'textCol2'.\r
-   * \r
-   * @return the value of field 'TextCol2'.\r
-   */\r
-  public int getTextCol2()\r
-  {\r
-    return this._textCol2;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'textColThreshold'.\r
-   * \r
-   * @return the value of field 'TextColThreshold'.\r
-   */\r
-  public int getTextColThreshold()\r
-  {\r
-    return this._textColThreshold;\r
-  }\r
-\r
-  /**\r
-   * Method hasColourText.\r
-   * \r
-   * @return true if at least one ColourText has been added\r
-   */\r
-  public boolean hasColourText()\r
-  {\r
-    return this._has_colourText;\r
-  }\r
-\r
-  /**\r
-   * Method hasConsThreshold.\r
-   * \r
-   * @return true if at least one ConsThreshold has been added\r
-   */\r
-  public boolean hasConsThreshold()\r
-  {\r
-    return this._has_consThreshold;\r
-  }\r
-\r
-  /**\r
-   * Method hasDisplayBoxes.\r
-   * \r
-   * @return true if at least one DisplayBoxes has been added\r
-   */\r
-  public boolean hasDisplayBoxes()\r
-  {\r
-    return this._has_displayBoxes;\r
-  }\r
-\r
-  /**\r
-   * Method hasDisplayText.\r
-   * \r
-   * @return true if at least one DisplayText has been added\r
-   */\r
-  public boolean hasDisplayText()\r
-  {\r
-    return this._has_displayText;\r
-  }\r
-\r
-  /**\r
-   * Method hasEnd.\r
-   * \r
-   * @return true if at least one End has been added\r
-   */\r
-  public boolean hasEnd()\r
-  {\r
-    return this._has_end;\r
-  }\r
-\r
-  /**\r
-   * Method hasIgnoreGapsinConsensus.\r
-   * \r
-   * @return true if at least one IgnoreGapsinConsensus has been added\r
-   */\r
-  public boolean hasIgnoreGapsinConsensus()\r
-  {\r
-    return this._has_ignoreGapsinConsensus;\r
-  }\r
-\r
-  /**\r
-   * Method hasOutlineColour.\r
-   * \r
-   * @return true if at least one OutlineColour has been added\r
-   */\r
-  public boolean hasOutlineColour()\r
-  {\r
-    return this._has_outlineColour;\r
-  }\r
-\r
-  /**\r
-   * Method hasPidThreshold.\r
-   * \r
-   * @return true if at least one PidThreshold has been added\r
-   */\r
-  public boolean hasPidThreshold()\r
-  {\r
-    return this._has_pidThreshold;\r
-  }\r
-\r
-  /**\r
-   * Method hasShowConsensusHistogram.\r
-   * \r
-   * @return true if at least one ShowConsensusHistogram has been added\r
-   */\r
-  public boolean hasShowConsensusHistogram()\r
-  {\r
-    return this._has_showConsensusHistogram;\r
-  }\r
-\r
-  /**\r
-   * Method hasShowSequenceLogo.\r
-   * \r
-   * @return true if at least one ShowSequenceLogo has been added\r
-   */\r
-  public boolean hasShowSequenceLogo()\r
-  {\r
-    return this._has_showSequenceLogo;\r
-  }\r
-\r
-  /**\r
-   * Method hasShowUnconserved.\r
-   * \r
-   * @return true if at least one ShowUnconserved has been added\r
-   */\r
-  public boolean hasShowUnconserved()\r
-  {\r
-    return this._has_showUnconserved;\r
-  }\r
-\r
-  /**\r
-   * Method hasStart.\r
-   * \r
-   * @return true if at least one Start has been added\r
-   */\r
-  public boolean hasStart()\r
-  {\r
-    return this._has_start;\r
-  }\r
-\r
-  /**\r
-   * Method hasTextCol1.\r
-   * \r
-   * @return true if at least one TextCol1 has been added\r
-   */\r
-  public boolean hasTextCol1()\r
-  {\r
-    return this._has_textCol1;\r
-  }\r
-\r
-  /**\r
-   * Method hasTextCol2.\r
-   * \r
-   * @return true if at least one TextCol2 has been added\r
-   */\r
-  public boolean hasTextCol2()\r
-  {\r
-    return this._has_textCol2;\r
-  }\r
-\r
-  /**\r
-   * Method hasTextColThreshold.\r
-   * \r
-   * @return true if at least one TextColThreshold has been added\r
-   */\r
-  public boolean hasTextColThreshold()\r
-  {\r
-    return this._has_textColThreshold;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'colourText'.\r
-   * \r
-   * @return the value of field 'ColourText'.\r
-   */\r
-  public boolean isColourText()\r
-  {\r
-    return this._colourText;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'displayBoxes'.\r
-   * \r
-   * @return the value of field 'DisplayBoxes'.\r
-   */\r
-  public boolean isDisplayBoxes()\r
-  {\r
-    return this._displayBoxes;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'displayText'.\r
-   * \r
-   * @return the value of field 'DisplayText'.\r
-   */\r
-  public boolean isDisplayText()\r
-  {\r
-    return this._displayText;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'ignoreGapsinConsensus'.\r
-   * \r
-   * @return the value of field 'IgnoreGapsinConsensus'.\r
-   */\r
-  public boolean isIgnoreGapsinConsensus()\r
-  {\r
-    return this._ignoreGapsinConsensus;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'showConsensusHistogram'.\r
-   * \r
-   * @return the value of field 'ShowConsensusHistogram'.\r
-   */\r
-  public boolean isShowConsensusHistogram()\r
-  {\r
-    return this._showConsensusHistogram;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'showSequenceLogo'.\r
-   * \r
-   * @return the value of field 'ShowSequenceLogo'.\r
-   */\r
-  public boolean isShowSequenceLogo()\r
-  {\r
-    return this._showSequenceLogo;\r
-  }\r
-\r
-  /**\r
-   * Returns the value of field 'showUnconserved'.\r
-   * \r
-   * @return the value of field 'ShowUnconserved'.\r
-   */\r
-  public boolean isShowUnconserved()\r
-  {\r
-    return this._showUnconserved;\r
-  }\r
-\r
-  /**\r
-   * Method isValid.\r
-   * \r
-   * @return true if this object is valid according to the schema\r
-   */\r
-  public boolean isValid()\r
-  {\r
-    try\r
-    {\r
-      validate();\r
-    } catch (org.exolab.castor.xml.ValidationException vex)\r
-    {\r
-      return false;\r
-    }\r
-    return true;\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param out\r
-   * @throws org.exolab.castor.xml.MarshalException\r
-   *           if object is null or if any SAXException is thrown during\r
-   *           marshaling\r
-   * @throws org.exolab.castor.xml.ValidationException\r
-   *           if this object is an invalid instance according to the schema\r
-   */\r
-  public void marshal(final java.io.Writer out)\r
-          throws org.exolab.castor.xml.MarshalException,\r
-          org.exolab.castor.xml.ValidationException\r
-  {\r
-    Marshaller.marshal(this, out);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param handler\r
-   * @throws java.io.IOException\r
-   *           if an IOException occurs during marshaling\r
-   * @throws org.exolab.castor.xml.ValidationException\r
-   *           if this object is an invalid instance according to the schema\r
-   * @throws org.exolab.castor.xml.MarshalException\r
-   *           if object is null or if any SAXException is thrown during\r
-   *           marshaling\r
-   */\r
-  public void marshal(final org.xml.sax.ContentHandler handler)\r
-          throws java.io.IOException,\r
-          org.exolab.castor.xml.MarshalException,\r
-          org.exolab.castor.xml.ValidationException\r
-  {\r
-    Marshaller.marshal(this, handler);\r
-  }\r
-\r
-  /**\r
-     */\r
-  public void removeAllSeq()\r
-  {\r
-    this._seqList.clear();\r
-  }\r
-\r
-  /**\r
-   * Method removeSeq.\r
-   * \r
-   * @param vSeq\r
-   * @return true if the object was removed from the collection.\r
-   */\r
-  public boolean removeSeq(final java.lang.String vSeq)\r
-  {\r
-    boolean removed = _seqList.remove(vSeq);\r
-    return removed;\r
-  }\r
-\r
-  /**\r
-   * Method removeSeqAt.\r
-   * \r
-   * @param index\r
-   * @return the element removed from the collection\r
-   */\r
-  public java.lang.String removeSeqAt(final int index)\r
-  {\r
-    java.lang.Object obj = this._seqList.remove(index);\r
-    return (java.lang.String) obj;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'colour'.\r
-   * \r
-   * @param colour\r
-   *          the value of field 'colour'.\r
-   */\r
-  public void setColour(final java.lang.String colour)\r
-  {\r
-    this._colour = colour;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'colourText'.\r
-   * \r
-   * @param colourText\r
-   *          the value of field 'colourText'.\r
-   */\r
-  public void setColourText(final boolean colourText)\r
-  {\r
-    this._colourText = colourText;\r
-    this._has_colourText = true;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'consThreshold'.\r
-   * \r
-   * @param consThreshold\r
-   *          the value of field 'consThreshold'.\r
-   */\r
-  public void setConsThreshold(final int consThreshold)\r
-  {\r
-    this._consThreshold = consThreshold;\r
-    this._has_consThreshold = true;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'displayBoxes'.\r
-   * \r
-   * @param displayBoxes\r
-   *          the value of field 'displayBoxes'.\r
-   */\r
-  public void setDisplayBoxes(final boolean displayBoxes)\r
-  {\r
-    this._displayBoxes = displayBoxes;\r
-    this._has_displayBoxes = true;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'displayText'.\r
-   * \r
-   * @param displayText\r
-   *          the value of field 'displayText'.\r
-   */\r
-  public void setDisplayText(final boolean displayText)\r
-  {\r
-    this._displayText = displayText;\r
-    this._has_displayText = true;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'end'.\r
-   * \r
-   * @param end\r
-   *          the value of field 'end'.\r
-   */\r
-  public void setEnd(final int end)\r
-  {\r
-    this._end = end;\r
-    this._has_end = true;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'id'. The field 'id' has the following description:\r
-   * Optional sequence group ID (only needs to be unique for this alignment)\r
-   * \r
-   * \r
-   * @param id\r
-   *          the value of field 'id'.\r
-   */\r
-  public void setId(final java.lang.String id)\r
-  {\r
-    this._id = id;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'ignoreGapsinConsensus'.\r
-   * \r
-   * @param ignoreGapsinConsensus\r
-   *          the value of field 'ignoreGapsinConsensus'.\r
-   */\r
-  public void setIgnoreGapsinConsensus(final boolean ignoreGapsinConsensus)\r
-  {\r
-    this._ignoreGapsinConsensus = ignoreGapsinConsensus;\r
-    this._has_ignoreGapsinConsensus = true;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'name'.\r
-   * \r
-   * @param name\r
-   *          the value of field 'name'.\r
-   */\r
-  public void setName(final java.lang.String name)\r
-  {\r
-    this._name = name;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'outlineColour'.\r
-   * \r
-   * @param outlineColour\r
-   *          the value of field 'outlineColour'.\r
-   */\r
-  public void setOutlineColour(final int outlineColour)\r
-  {\r
-    this._outlineColour = outlineColour;\r
-    this._has_outlineColour = true;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'pidThreshold'.\r
-   * \r
-   * @param pidThreshold\r
-   *          the value of field 'pidThreshold'.\r
-   */\r
-  public void setPidThreshold(final int pidThreshold)\r
-  {\r
-    this._pidThreshold = pidThreshold;\r
-    this._has_pidThreshold = true;\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param index\r
-   * @param vSeq\r
-   * @throws java.lang.IndexOutOfBoundsException\r
-   *           if the index given is outside the bounds of the collection\r
-   */\r
-  public void setSeq(final int index, final java.lang.String vSeq)\r
-          throws java.lang.IndexOutOfBoundsException\r
-  {\r
-    // check bounds for index\r
-    if (index < 0 || index >= this._seqList.size())\r
-    {\r
-      throw new IndexOutOfBoundsException("setSeq: Index value '" + index\r
-              + "' not in range [0.." + (this._seqList.size() - 1) + "]");\r
-    }\r
-\r
-    this._seqList.set(index, vSeq);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @param vSeqArray\r
-   */\r
-  public void setSeq(final java.lang.String[] vSeqArray)\r
-  {\r
-    // -- copy array\r
-    _seqList.clear();\r
-\r
-    for (int i = 0; i < vSeqArray.length; i++)\r
-    {\r
-      this._seqList.add(vSeqArray[i]);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'showConsensusHistogram'.\r
-   * \r
-   * @param showConsensusHistogram\r
-   *          the value of field 'showConsensusHistogram'.\r
-   */\r
-  public void setShowConsensusHistogram(final boolean showConsensusHistogram)\r
-  {\r
-    this._showConsensusHistogram = showConsensusHistogram;\r
-    this._has_showConsensusHistogram = true;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'showSequenceLogo'.\r
-   * \r
-   * @param showSequenceLogo\r
-   *          the value of field 'showSequenceLogo'\r
-   */\r
-  public void setShowSequenceLogo(final boolean showSequenceLogo)\r
-  {\r
-    this._showSequenceLogo = showSequenceLogo;\r
-    this._has_showSequenceLogo = true;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'showUnconserved'.\r
-   * \r
-   * @param showUnconserved\r
-   *          the value of field 'showUnconserved'.\r
-   */\r
-  public void setShowUnconserved(final boolean showUnconserved)\r
-  {\r
-    this._showUnconserved = showUnconserved;\r
-    this._has_showUnconserved = true;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'start'.\r
-   * \r
-   * @param start\r
-   *          the value of field 'start'.\r
-   */\r
-  public void setStart(final int start)\r
-  {\r
-    this._start = start;\r
-    this._has_start = true;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'textCol1'.\r
-   * \r
-   * @param textCol1\r
-   *          the value of field 'textCol1'.\r
-   */\r
-  public void setTextCol1(final int textCol1)\r
-  {\r
-    this._textCol1 = textCol1;\r
-    this._has_textCol1 = true;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'textCol2'.\r
-   * \r
-   * @param textCol2\r
-   *          the value of field 'textCol2'.\r
-   */\r
-  public void setTextCol2(final int textCol2)\r
-  {\r
-    this._textCol2 = textCol2;\r
-    this._has_textCol2 = true;\r
-  }\r
-\r
-  /**\r
-   * Sets the value of field 'textColThreshold'.\r
-   * \r
-   * @param textColThreshold\r
-   *          the value of field 'textColThreshold'\r
-   */\r
-  public void setTextColThreshold(final int textColThreshold)\r
-  {\r
-    this._textColThreshold = textColThreshold;\r
-    this._has_textColThreshold = true;\r
-  }\r
-\r
-  /**\r
-   * Method unmarshal.\r
-   * \r
-   * @param reader\r
-   * @throws org.exolab.castor.xml.MarshalException\r
-   *           if object is null or if any SAXException is thrown during\r
-   *           marshaling\r
-   * @throws org.exolab.castor.xml.ValidationException\r
-   *           if this object is an invalid instance according to the schema\r
-   * @return the unmarshaled jalview.schemabinding.version2.JGroup\r
-   */\r
-  public static jalview.schemabinding.version2.JGroup unmarshal(\r
-          final java.io.Reader reader)\r
-          throws org.exolab.castor.xml.MarshalException,\r
-          org.exolab.castor.xml.ValidationException\r
-  {\r
-    return (jalview.schemabinding.version2.JGroup) Unmarshaller.unmarshal(\r
-            jalview.schemabinding.version2.JGroup.class, reader);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * \r
-   * @throws org.exolab.castor.xml.ValidationException\r
-   *           if this object is an invalid instance according to the schema\r
-   */\r
-  public void validate() throws org.exolab.castor.xml.ValidationException\r
-  {\r
-    org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();\r
-    validator.validate(this);\r
-  }\r
-\r
-}\r
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1)
+ * Copyright (C) 2014 The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+package jalview.schemabinding.version2;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import jalview.util.MessageManager;
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class JGroup.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class JGroup implements java.io.Serializable
+{
+
+  // --------------------------/
+  // - Class/Member Variables -/
+  // --------------------------/
+
+  /**
+   * Field _start.
+   */
+  private int _start;
+
+  /**
+   * keeps track of state for field: _start
+   */
+  private boolean _has_start;
+
+  /**
+   * Field _end.
+   */
+  private int _end;
+
+  /**
+   * keeps track of state for field: _end
+   */
+  private boolean _has_end;
+
+  /**
+   * Field _name.
+   */
+  private java.lang.String _name;
+
+  /**
+   * Field _colour.
+   */
+  private java.lang.String _colour;
+
+  /**
+   * Field _consThreshold.
+   */
+  private int _consThreshold;
+
+  /**
+   * keeps track of state for field: _consThreshold
+   */
+  private boolean _has_consThreshold;
+
+  /**
+   * Field _pidThreshold.
+   */
+  private int _pidThreshold;
+
+  /**
+   * keeps track of state for field: _pidThreshold
+   */
+  private boolean _has_pidThreshold;
+
+  /**
+   * Field _outlineColour.
+   */
+  private int _outlineColour;
+
+  /**
+   * keeps track of state for field: _outlineColour
+   */
+  private boolean _has_outlineColour;
+
+  /**
+   * Field _displayBoxes.
+   */
+  private boolean _displayBoxes;
+
+  /**
+   * keeps track of state for field: _displayBoxes
+   */
+  private boolean _has_displayBoxes;
+
+  /**
+   * Field _displayText.
+   */
+  private boolean _displayText;
+
+  /**
+   * keeps track of state for field: _displayText
+   */
+  private boolean _has_displayText;
+
+  /**
+   * Field _colourText.
+   */
+  private boolean _colourText;
+
+  /**
+   * keeps track of state for field: _colourText
+   */
+  private boolean _has_colourText;
+
+  /**
+   * Field _textCol1.
+   */
+  private int _textCol1;
+
+  /**
+   * keeps track of state for field: _textCol1
+   */
+  private boolean _has_textCol1;
+
+  /**
+   * Field _textCol2.
+   */
+  private int _textCol2;
+
+  /**
+   * keeps track of state for field: _textCol2
+   */
+  private boolean _has_textCol2;
+
+  /**
+   * Field _textColThreshold.
+   */
+  private int _textColThreshold;
+
+  /**
+   * keeps track of state for field: _textColThreshold
+   */
+  private boolean _has_textColThreshold;
+
+  /**
+   * Field _showUnconserved.
+   */
+  private boolean _showUnconserved;
+
+  /**
+   * keeps track of state for field: _showUnconserved
+   */
+  private boolean _has_showUnconserved;
+
+  /**
+   * Field _ignoreGapsinConsensus.
+   */
+  private boolean _ignoreGapsinConsensus = true;
+
+  /**
+   * keeps track of state for field: _ignoreGapsinConsensus
+   */
+  private boolean _has_ignoreGapsinConsensus;
+
+  /**
+   * Field _showConsensusHistogram.
+   */
+  private boolean _showConsensusHistogram = true;
+
+  /**
+   * keeps track of state for field: _showConsensusHistogram
+   */
+  private boolean _has_showConsensusHistogram;
+
+  /**
+   * Field _showSequenceLogo.
+   */
+  private boolean _showSequenceLogo = false;
+
+  /**
+   * keeps track of state for field: _showSequenceLogo
+   */
+  private boolean _has_showSequenceLogo;
+
+  /**
+   * Field _normaliseSequenceLogo.
+   */
+  private boolean _normaliseSequenceLogo = false;
+
+  /**
+   * keeps track of state for field: _normaliseSequenceLogo
+   */
+  private boolean _has_normaliseSequenceLogo;
+
+  /**
+   * Optional sequence group ID (only needs to be unique for this alignment)
+   * 
+   */
+  private java.lang.String _id;
+
+  /**
+   * Field _seqList.
+   */
+  private java.util.Vector _seqList;
+
+  /**
+   * Field _annotationColours.
+   */
+  private jalview.schemabinding.version2.AnnotationColours _annotationColours;
+
+  // ----------------/
+  // - Constructors -/
+  // ----------------/
+
+  public JGroup()
+  {
+    super();
+    this._seqList = new java.util.Vector();
+  }
+
+  // -----------/
+  // - Methods -/
+  // -----------/
+
+  /**
+   * 
+   * 
+   * @param vSeq
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void addSeq(final java.lang.String vSeq)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    this._seqList.addElement(vSeq);
+  }
+
+  /**
+   * 
+   * 
+   * @param index
+   * @param vSeq
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void addSeq(final int index, final java.lang.String vSeq)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    this._seqList.add(index, vSeq);
+  }
+
+  /**
+     */
+  public void deleteColourText()
+  {
+    this._has_colourText = false;
+  }
+
+  /**
+     */
+  public void deleteConsThreshold()
+  {
+    this._has_consThreshold = false;
+  }
+
+  /**
+     */
+  public void deleteDisplayBoxes()
+  {
+    this._has_displayBoxes = false;
+  }
+
+  /**
+     */
+  public void deleteDisplayText()
+  {
+    this._has_displayText = false;
+  }
+
+  /**
+     */
+  public void deleteEnd()
+  {
+    this._has_end = false;
+  }
+
+  /**
+     */
+  public void deleteIgnoreGapsinConsensus()
+  {
+    this._has_ignoreGapsinConsensus = false;
+  }
+
+  /**
+     */
+  public void deleteNormaliseSequenceLogo()
+  {
+    this._has_normaliseSequenceLogo = false;
+  }
+
+  /**
+     */
+  public void deleteOutlineColour()
+  {
+    this._has_outlineColour = false;
+  }
+
+  /**
+     */
+  public void deletePidThreshold()
+  {
+    this._has_pidThreshold = false;
+  }
+
+  /**
+     */
+  public void deleteShowConsensusHistogram()
+  {
+    this._has_showConsensusHistogram = false;
+  }
+
+  /**
+     */
+  public void deleteShowSequenceLogo()
+  {
+    this._has_showSequenceLogo = false;
+  }
+
+  /**
+     */
+  public void deleteShowUnconserved()
+  {
+    this._has_showUnconserved = false;
+  }
+
+  /**
+     */
+  public void deleteStart()
+  {
+    this._has_start = false;
+  }
+
+  /**
+     */
+  public void deleteTextCol1()
+  {
+    this._has_textCol1 = false;
+  }
+
+  /**
+     */
+  public void deleteTextCol2()
+  {
+    this._has_textCol2 = false;
+  }
+
+  /**
+     */
+  public void deleteTextColThreshold()
+  {
+    this._has_textColThreshold = false;
+  }
+
+  /**
+   * Method enumerateSeq.
+   * 
+   * @return an Enumeration over all java.lang.String elements
+   */
+  public java.util.Enumeration enumerateSeq()
+  {
+    return this._seqList.elements();
+  }
+
+  /**
+   * Returns the value of field 'annotationColours'.
+   * 
+   * @return the value of field 'AnnotationColours'.
+   */
+  public jalview.schemabinding.version2.AnnotationColours getAnnotationColours()
+  {
+    return this._annotationColours;
+  }
+
+  /**
+   * Returns the value of field 'colour'.
+   * 
+   * @return the value of field 'Colour'.
+   */
+  public java.lang.String getColour()
+  {
+    return this._colour;
+  }
+
+  /**
+   * Returns the value of field 'colourText'.
+   * 
+   * @return the value of field 'ColourText'.
+   */
+  public boolean getColourText()
+  {
+    return this._colourText;
+  }
+
+  /**
+   * Returns the value of field 'consThreshold'.
+   * 
+   * @return the value of field 'ConsThreshold'.
+   */
+  public int getConsThreshold()
+  {
+    return this._consThreshold;
+  }
+
+  /**
+   * Returns the value of field 'displayBoxes'.
+   * 
+   * @return the value of field 'DisplayBoxes'.
+   */
+  public boolean getDisplayBoxes()
+  {
+    return this._displayBoxes;
+  }
+
+  /**
+   * Returns the value of field 'displayText'.
+   * 
+   * @return the value of field 'DisplayText'.
+   */
+  public boolean getDisplayText()
+  {
+    return this._displayText;
+  }
+
+  /**
+   * Returns the value of field 'end'.
+   * 
+   * @return the value of field 'End'.
+   */
+  public int getEnd()
+  {
+    return this._end;
+  }
+
+  /**
+   * Returns the value of field 'id'. The field 'id' has the following
+   * description: Optional sequence group ID (only needs to be unique for this
+   * alignment)
+   * 
+   * 
+   * @return the value of field 'Id'.
+   */
+  public java.lang.String getId()
+  {
+    return this._id;
+  }
+
+  /**
+   * Returns the value of field 'ignoreGapsinConsensus'.
+   * 
+   * @return the value of field 'IgnoreGapsinConsensus'.
+   */
+  public boolean getIgnoreGapsinConsensus()
+  {
+    return this._ignoreGapsinConsensus;
+  }
+
+  /**
+   * Returns the value of field 'name'.
+   * 
+   * @return the value of field 'Name'.
+   */
+  public java.lang.String getName()
+  {
+    return this._name;
+  }
+
+  /**
+   * Returns the value of field 'normaliseSequenceLogo'.
+   * 
+   * @return the value of field 'NormaliseSequenceLogo'.
+   */
+  public boolean getNormaliseSequenceLogo()
+  {
+    return this._normaliseSequenceLogo;
+  }
+
+  /**
+   * Returns the value of field 'outlineColour'.
+   * 
+   * @return the value of field 'OutlineColour'.
+   */
+  public int getOutlineColour()
+  {
+    return this._outlineColour;
+  }
+
+  /**
+   * Returns the value of field 'pidThreshold'.
+   * 
+   * @return the value of field 'PidThreshold'.
+   */
+  public int getPidThreshold()
+  {
+    return this._pidThreshold;
+  }
+
+  /**
+   * Method getSeq.
+   * 
+   * @param index
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   * @return the value of the java.lang.String at the given index
+   */
+  public java.lang.String getSeq(final int index)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    // check bounds for index
+    if (index < 0 || index >= this._seqList.size())
+    {
+        throw new IndexOutOfBoundsException(MessageManager.formatMessage("exception.index_value_not_in_range", new String[]{
+                         "getSeq",
+                         Integer.valueOf(index).toString(),
+                         Integer.valueOf((this._seqList.size() - 1)).toString()
+          })); 
+    }
+
+    return (java.lang.String) _seqList.get(index);
+  }
+
+  /**
+   * Method getSeq.Returns the contents of the collection in an Array.
+   * <p>
+   * Note: Just in case the collection contents are changing in another thread,
+   * we pass a 0-length Array of the correct type into the API call. This way we
+   * <i>know</i> that the Array returned is of exactly the correct length.
+   * 
+   * @return this collection as an Array
+   */
+  public java.lang.String[] getSeq()
+  {
+    java.lang.String[] array = new java.lang.String[0];
+    return (java.lang.String[]) this._seqList.toArray(array);
+  }
+
+  /**
+   * Method getSeqCount.
+   * 
+   * @return the size of this collection
+   */
+  public int getSeqCount()
+  {
+    return this._seqList.size();
+  }
+
+  /**
+   * Returns the value of field 'showConsensusHistogram'.
+   * 
+   * @return the value of field 'ShowConsensusHistogram'.
+   */
+  public boolean getShowConsensusHistogram()
+  {
+    return this._showConsensusHistogram;
+  }
+
+  /**
+   * Returns the value of field 'showSequenceLogo'.
+   * 
+   * @return the value of field 'ShowSequenceLogo'.
+   */
+  public boolean getShowSequenceLogo()
+  {
+    return this._showSequenceLogo;
+  }
+
+  /**
+   * Returns the value of field 'showUnconserved'.
+   * 
+   * @return the value of field 'ShowUnconserved'.
+   */
+  public boolean getShowUnconserved()
+  {
+    return this._showUnconserved;
+  }
+
+  /**
+   * Returns the value of field 'start'.
+   * 
+   * @return the value of field 'Start'.
+   */
+  public int getStart()
+  {
+    return this._start;
+  }
+
+  /**
+   * Returns the value of field 'textCol1'.
+   * 
+   * @return the value of field 'TextCol1'.
+   */
+  public int getTextCol1()
+  {
+    return this._textCol1;
+  }
+
+  /**
+   * Returns the value of field 'textCol2'.
+   * 
+   * @return the value of field 'TextCol2'.
+   */
+  public int getTextCol2()
+  {
+    return this._textCol2;
+  }
+
+  /**
+   * Returns the value of field 'textColThreshold'.
+   * 
+   * @return the value of field 'TextColThreshold'.
+   */
+  public int getTextColThreshold()
+  {
+    return this._textColThreshold;
+  }
+
+  /**
+   * Method hasColourText.
+   * 
+   * @return true if at least one ColourText has been added
+   */
+  public boolean hasColourText()
+  {
+    return this._has_colourText;
+  }
+
+  /**
+   * Method hasConsThreshold.
+   * 
+   * @return true if at least one ConsThreshold has been added
+   */
+  public boolean hasConsThreshold()
+  {
+    return this._has_consThreshold;
+  }
+
+  /**
+   * Method hasDisplayBoxes.
+   * 
+   * @return true if at least one DisplayBoxes has been added
+   */
+  public boolean hasDisplayBoxes()
+  {
+    return this._has_displayBoxes;
+  }
+
+  /**
+   * Method hasDisplayText.
+   * 
+   * @return true if at least one DisplayText has been added
+   */
+  public boolean hasDisplayText()
+  {
+    return this._has_displayText;
+  }
+
+  /**
+   * Method hasEnd.
+   * 
+   * @return true if at least one End has been added
+   */
+  public boolean hasEnd()
+  {
+    return this._has_end;
+  }
+
+  /**
+   * Method hasIgnoreGapsinConsensus.
+   * 
+   * @return true if at least one IgnoreGapsinConsensus has been added
+   */
+  public boolean hasIgnoreGapsinConsensus()
+  {
+    return this._has_ignoreGapsinConsensus;
+  }
+
+  /**
+   * Method hasNormaliseSequenceLogo.
+   * 
+   * @return true if at least one NormaliseSequenceLogo has been added
+   */
+  public boolean hasNormaliseSequenceLogo()
+  {
+    return this._has_normaliseSequenceLogo;
+  }
+
+  /**
+   * Method hasOutlineColour.
+   * 
+   * @return true if at least one OutlineColour has been added
+   */
+  public boolean hasOutlineColour()
+  {
+    return this._has_outlineColour;
+  }
+
+  /**
+   * Method hasPidThreshold.
+   * 
+   * @return true if at least one PidThreshold has been added
+   */
+  public boolean hasPidThreshold()
+  {
+    return this._has_pidThreshold;
+  }
+
+  /**
+   * Method hasShowConsensusHistogram.
+   * 
+   * @return true if at least one ShowConsensusHistogram has been added
+   */
+  public boolean hasShowConsensusHistogram()
+  {
+    return this._has_showConsensusHistogram;
+  }
+
+  /**
+   * Method hasShowSequenceLogo.
+   * 
+   * @return true if at least one ShowSequenceLogo has been added
+   */
+  public boolean hasShowSequenceLogo()
+  {
+    return this._has_showSequenceLogo;
+  }
+
+  /**
+   * Method hasShowUnconserved.
+   * 
+   * @return true if at least one ShowUnconserved has been added
+   */
+  public boolean hasShowUnconserved()
+  {
+    return this._has_showUnconserved;
+  }
+
+  /**
+   * Method hasStart.
+   * 
+   * @return true if at least one Start has been added
+   */
+  public boolean hasStart()
+  {
+    return this._has_start;
+  }
+
+  /**
+   * Method hasTextCol1.
+   * 
+   * @return true if at least one TextCol1 has been added
+   */
+  public boolean hasTextCol1()
+  {
+    return this._has_textCol1;
+  }
+
+  /**
+   * Method hasTextCol2.
+   * 
+   * @return true if at least one TextCol2 has been added
+   */
+  public boolean hasTextCol2()
+  {
+    return this._has_textCol2;
+  }
+
+  /**
+   * Method hasTextColThreshold.
+   * 
+   * @return true if at least one TextColThreshold has been added
+   */
+  public boolean hasTextColThreshold()
+  {
+    return this._has_textColThreshold;
+  }
+
+  /**
+   * Returns the value of field 'colourText'.
+   * 
+   * @return the value of field 'ColourText'.
+   */
+  public boolean isColourText()
+  {
+    return this._colourText;
+  }
+
+  /**
+   * Returns the value of field 'displayBoxes'.
+   * 
+   * @return the value of field 'DisplayBoxes'.
+   */
+  public boolean isDisplayBoxes()
+  {
+    return this._displayBoxes;
+  }
+
+  /**
+   * Returns the value of field 'displayText'.
+   * 
+   * @return the value of field 'DisplayText'.
+   */
+  public boolean isDisplayText()
+  {
+    return this._displayText;
+  }
+
+  /**
+   * Returns the value of field 'ignoreGapsinConsensus'.
+   * 
+   * @return the value of field 'IgnoreGapsinConsensus'.
+   */
+  public boolean isIgnoreGapsinConsensus()
+  {
+    return this._ignoreGapsinConsensus;
+  }
+
+  /**
+   * Returns the value of field 'normaliseSequenceLogo'.
+   * 
+   * @return the value of field 'NormaliseSequenceLogo'.
+   */
+  public boolean isNormaliseSequenceLogo()
+  {
+    return this._normaliseSequenceLogo;
+  }
+
+  /**
+   * Returns the value of field 'showConsensusHistogram'.
+   * 
+   * @return the value of field 'ShowConsensusHistogram'.
+   */
+  public boolean isShowConsensusHistogram()
+  {
+    return this._showConsensusHistogram;
+  }
+
+  /**
+   * Returns the value of field 'showSequenceLogo'.
+   * 
+   * @return the value of field 'ShowSequenceLogo'.
+   */
+  public boolean isShowSequenceLogo()
+  {
+    return this._showSequenceLogo;
+  }
+
+  /**
+   * Returns the value of field 'showUnconserved'.
+   * 
+   * @return the value of field 'ShowUnconserved'.
+   */
+  public boolean isShowUnconserved()
+  {
+    return this._showUnconserved;
+  }
+
+  /**
+   * Method isValid.
+   * 
+   * @return true if this object is valid according to the schema
+   */
+  public boolean isValid()
+  {
+    try
+    {
+      validate();
+    } catch (org.exolab.castor.xml.ValidationException vex)
+    {
+      return false;
+    }
+    return true;
+  }
+
+  /**
+   * 
+   * 
+   * @param out
+   * @throws org.exolab.castor.xml.MarshalException
+   *           if object is null or if any SAXException is thrown during
+   *           marshaling
+   * @throws org.exolab.castor.xml.ValidationException
+   *           if this object is an invalid instance according to the schema
+   */
+  public void marshal(final java.io.Writer out)
+          throws org.exolab.castor.xml.MarshalException,
+          org.exolab.castor.xml.ValidationException
+  {
+    Marshaller.marshal(this, out);
+  }
+
+  /**
+   * 
+   * 
+   * @param handler
+   * @throws java.io.IOException
+   *           if an IOException occurs during marshaling
+   * @throws org.exolab.castor.xml.ValidationException
+   *           if this object is an invalid instance according to the schema
+   * @throws org.exolab.castor.xml.MarshalException
+   *           if object is null or if any SAXException is thrown during
+   *           marshaling
+   */
+  public void marshal(final org.xml.sax.ContentHandler handler)
+          throws java.io.IOException,
+          org.exolab.castor.xml.MarshalException,
+          org.exolab.castor.xml.ValidationException
+  {
+    Marshaller.marshal(this, handler);
+  }
+
+  /**
+     */
+  public void removeAllSeq()
+  {
+    this._seqList.clear();
+  }
+
+  /**
+   * Method removeSeq.
+   * 
+   * @param vSeq
+   * @return true if the object was removed from the collection.
+   */
+  public boolean removeSeq(final java.lang.String vSeq)
+  {
+    boolean removed = _seqList.remove(vSeq);
+    return removed;
+  }
+
+  /**
+   * Method removeSeqAt.
+   * 
+   * @param index
+   * @return the element removed from the collection
+   */
+  public java.lang.String removeSeqAt(final int index)
+  {
+    java.lang.Object obj = this._seqList.remove(index);
+    return (java.lang.String) obj;
+  }
+
+  /**
+   * Sets the value of field 'annotationColours'.
+   * 
+   * @param annotationColours
+   *          the value of field 'annotationColours'.
+   */
+  public void setAnnotationColours(
+          final jalview.schemabinding.version2.AnnotationColours annotationColours)
+  {
+    this._annotationColours = annotationColours;
+  }
+
+  /**
+   * Sets the value of field 'colour'.
+   * 
+   * @param colour
+   *          the value of field 'colour'.
+   */
+  public void setColour(final java.lang.String colour)
+  {
+    this._colour = colour;
+  }
+
+  /**
+   * Sets the value of field 'colourText'.
+   * 
+   * @param colourText
+   *          the value of field 'colourText'.
+   */
+  public void setColourText(final boolean colourText)
+  {
+    this._colourText = colourText;
+    this._has_colourText = true;
+  }
+
+  /**
+   * Sets the value of field 'consThreshold'.
+   * 
+   * @param consThreshold
+   *          the value of field 'consThreshold'.
+   */
+  public void setConsThreshold(final int consThreshold)
+  {
+    this._consThreshold = consThreshold;
+    this._has_consThreshold = true;
+  }
+
+  /**
+   * Sets the value of field 'displayBoxes'.
+   * 
+   * @param displayBoxes
+   *          the value of field 'displayBoxes'.
+   */
+  public void setDisplayBoxes(final boolean displayBoxes)
+  {
+    this._displayBoxes = displayBoxes;
+    this._has_displayBoxes = true;
+  }
+
+  /**
+   * Sets the value of field 'displayText'.
+   * 
+   * @param displayText
+   *          the value of field 'displayText'.
+   */
+  public void setDisplayText(final boolean displayText)
+  {
+    this._displayText = displayText;
+    this._has_displayText = true;
+  }
+
+  /**
+   * Sets the value of field 'end'.
+   * 
+   * @param end
+   *          the value of field 'end'.
+   */
+  public void setEnd(final int end)
+  {
+    this._end = end;
+    this._has_end = true;
+  }
+
+  /**
+   * Sets the value of field 'id'. The field 'id' has the following description:
+   * Optional sequence group ID (only needs to be unique for this alignment)
+   * 
+   * 
+   * @param id
+   *          the value of field 'id'.
+   */
+  public void setId(final java.lang.String id)
+  {
+    this._id = id;
+  }
+
+  /**
+   * Sets the value of field 'ignoreGapsinConsensus'.
+   * 
+   * @param ignoreGapsinConsensus
+   *          the value of field 'ignoreGapsinConsensus'.
+   */
+  public void setIgnoreGapsinConsensus(final boolean ignoreGapsinConsensus)
+  {
+    this._ignoreGapsinConsensus = ignoreGapsinConsensus;
+    this._has_ignoreGapsinConsensus = true;
+  }
+
+  /**
+   * Sets the value of field 'name'.
+   * 
+   * @param name
+   *          the value of field 'name'.
+   */
+  public void setName(final java.lang.String name)
+  {
+    this._name = name;
+  }
+
+  /**
+   * Sets the value of field 'normaliseSequenceLogo'.
+   * 
+   * @param normaliseSequenceLogo
+   *          the value of field 'normaliseSequenceLogo'.
+   */
+  public void setNormaliseSequenceLogo(final boolean normaliseSequenceLogo)
+  {
+    this._normaliseSequenceLogo = normaliseSequenceLogo;
+    this._has_normaliseSequenceLogo = true;
+  }
+
+  /**
+   * Sets the value of field 'outlineColour'.
+   * 
+   * @param outlineColour
+   *          the value of field 'outlineColour'.
+   */
+  public void setOutlineColour(final int outlineColour)
+  {
+    this._outlineColour = outlineColour;
+    this._has_outlineColour = true;
+  }
+
+  /**
+   * Sets the value of field 'pidThreshold'.
+   * 
+   * @param pidThreshold
+   *          the value of field 'pidThreshold'.
+   */
+  public void setPidThreshold(final int pidThreshold)
+  {
+    this._pidThreshold = pidThreshold;
+    this._has_pidThreshold = true;
+  }
+
+  /**
+   * 
+   * 
+   * @param index
+   * @param vSeq
+   * @throws java.lang.IndexOutOfBoundsException
+   *           if the index given is outside the bounds of the collection
+   */
+  public void setSeq(final int index, final java.lang.String vSeq)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    // check bounds for index
+    if (index < 0 || index >= this._seqList.size())
+    {
+        throw new IndexOutOfBoundsException(MessageManager.formatMessage("exception.index_value_not_in_range", new String[]{
+                 "setSeq",
+                 Integer.valueOf(index).toString(),
+                 Integer.valueOf((this._seqList.size() - 1)).toString()
+        })); 
+    }
+
+    this._seqList.set(index, vSeq);
+  }
+
+  /**
+   * 
+   * 
+   * @param vSeqArray
+   */
+  public void setSeq(final java.lang.String[] vSeqArray)
+  {
+    // -- copy array
+    _seqList.clear();
+
+    for (int i = 0; i < vSeqArray.length; i++)
+    {
+      this._seqList.add(vSeqArray[i]);
+    }
+  }
+
+  /**
+   * Sets the value of field 'showConsensusHistogram'.
+   * 
+   * @param showConsensusHistogram
+   *          the value of field 'showConsensusHistogram'.
+   */
+  public void setShowConsensusHistogram(final boolean showConsensusHistogram)
+  {
+    this._showConsensusHistogram = showConsensusHistogram;
+    this._has_showConsensusHistogram = true;
+  }
+
+  /**
+   * Sets the value of field 'showSequenceLogo'.
+   * 
+   * @param showSequenceLogo
+   *          the value of field 'showSequenceLogo'
+   */
+  public void setShowSequenceLogo(final boolean showSequenceLogo)
+  {
+    this._showSequenceLogo = showSequenceLogo;
+    this._has_showSequenceLogo = true;
+  }
+
+  /**
+   * Sets the value of field 'showUnconserved'.
+   * 
+   * @param showUnconserved
+   *          the value of field 'showUnconserved'.
+   */
+  public void setShowUnconserved(final boolean showUnconserved)
+  {
+    this._showUnconserved = showUnconserved;
+    this._has_showUnconserved = true;
+  }
+
+  /**
+   * Sets the value of field 'start'.
+   * 
+   * @param start
+   *          the value of field 'start'.
+   */
+  public void setStart(final int start)
+  {
+    this._start = start;
+    this._has_start = true;
+  }
+
+  /**
+   * Sets the value of field 'textCol1'.
+   * 
+   * @param textCol1
+   *          the value of field 'textCol1'.
+   */
+  public void setTextCol1(final int textCol1)
+  {
+    this._textCol1 = textCol1;
+    this._has_textCol1 = true;
+  }
+
+  /**
+   * Sets the value of field 'textCol2'.
+   * 
+   * @param textCol2
+   *          the value of field 'textCol2'.
+   */
+  public void setTextCol2(final int textCol2)
+  {
+    this._textCol2 = textCol2;
+    this._has_textCol2 = true;
+  }
+
+  /**
+   * Sets the value of field 'textColThreshold'.
+   * 
+   * @param textColThreshold
+   *          the value of field 'textColThreshold'
+   */
+  public void setTextColThreshold(final int textColThreshold)
+  {
+    this._textColThreshold = textColThreshold;
+    this._has_textColThreshold = true;
+  }
+
+  /**
+   * Method unmarshal.
+   * 
+   * @param reader
+   * @throws org.exolab.castor.xml.MarshalException
+   *           if object is null or if any SAXException is thrown during
+   *           marshaling
+   * @throws org.exolab.castor.xml.ValidationException
+   *           if this object is an invalid instance according to the schema
+   * @return the unmarshaled jalview.schemabinding.version2.JGroup
+   */
+  public static jalview.schemabinding.version2.JGroup unmarshal(
+          final java.io.Reader reader)
+          throws org.exolab.castor.xml.MarshalException,
+          org.exolab.castor.xml.ValidationException
+  {
+    return (jalview.schemabinding.version2.JGroup) Unmarshaller.unmarshal(
+            jalview.schemabinding.version2.JGroup.class, reader);
+  }
+
+  /**
+   * 
+   * 
+   * @throws org.exolab.castor.xml.ValidationException
+   *           if this object is an invalid instance according to the schema
+   */
+  public void validate() throws org.exolab.castor.xml.ValidationException
+  {
+    org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+    validator.validate(this);
+  }
+
+}