update author list in license for (JAL-826)
[jalview.git] / src / jalview / schemabinding / version2 / JGroup.java
old mode 100755 (executable)
new mode 100644 (file)
index e75a332..c27e083
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4.1)\r
- * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
- * \r
- * This program 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 2\r
- * of the License, or (at your option) any later version.\r
- * \r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- * GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\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\r
-     * alignment)\r
-     *  \r
-     */\r
-    private java.lang.String _id;\r
-\r
-    /**\r
-     * Field _seqList.\r
-     */\r
-    private java.util.Vector _seqList;\r
-\r
-\r
-      //----------------/\r
-     //- Constructors -/\r
-    //----------------/\r
-\r
-    public JGroup() {\r
-        super();\r
-        this._seqList = new java.util.Vector();\r
-    }\r
-\r
-\r
-      //-----------/\r
-     //- Methods -/\r
-    //-----------/\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param vSeq\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void addSeq(\r
-            final java.lang.String vSeq)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        this._seqList.addElement(vSeq);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param index\r
-     * @param vSeq\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void addSeq(\r
-            final int index,\r
-            final java.lang.String vSeq)\r
-    throws java.lang.IndexOutOfBoundsException {\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\r
-     * following description: Optional sequence group ID (only\r
-     * needs to be unique for this 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 if the index\r
-     * 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(\r
-            final int index)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        // check bounds for index\r
-        if (index < 0 || index >= this._seqList.size()) {\r
-            throw new IndexOutOfBoundsException("getSeq: Index value '" + index + "' 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\r
-     * Array.  <p>Note:  Just in case the collection contents are\r
-     * changing in another thread, we pass a 0-length Array of the\r
-     * correct type into the API call.  This way we <i>know</i>\r
-     * 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\r
-     * 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\r
-     * 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
-            validate();\r
-        } catch (org.exolab.castor.xml.ValidationException vex) {\r
-            return false;\r
-        }\r
-        return true;\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param out\r
-     * @throws org.exolab.castor.xml.MarshalException if object is\r
-     * null or if any SAXException is thrown during marshaling\r
-     * @throws org.exolab.castor.xml.ValidationException if this\r
-     * object is an invalid instance according to the schema\r
-     */\r
-    public void marshal(\r
-            final java.io.Writer out)\r
-    throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {\r
-        Marshaller.marshal(this, out);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param handler\r
-     * @throws java.io.IOException if an IOException occurs during\r
-     * marshaling\r
-     * @throws org.exolab.castor.xml.ValidationException if this\r
-     * object is an invalid instance according to the schema\r
-     * @throws org.exolab.castor.xml.MarshalException if object is\r
-     * null or if any SAXException is thrown during marshaling\r
-     */\r
-    public void marshal(\r
-            final org.xml.sax.ContentHandler handler)\r
-    throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {\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(\r
-            final java.lang.String vSeq) {\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(\r
-            final int index) {\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 the value of field 'colour'.\r
-     */\r
-    public void setColour(\r
-            final java.lang.String colour) {\r
-        this._colour = colour;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'colourText'.\r
-     * \r
-     * @param colourText the value of field 'colourText'.\r
-     */\r
-    public void setColourText(\r
-            final boolean colourText) {\r
-        this._colourText = colourText;\r
-        this._has_colourText = true;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'consThreshold'.\r
-     * \r
-     * @param consThreshold the value of field 'consThreshold'.\r
-     */\r
-    public void setConsThreshold(\r
-            final int consThreshold) {\r
-        this._consThreshold = consThreshold;\r
-        this._has_consThreshold = true;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'displayBoxes'.\r
-     * \r
-     * @param displayBoxes the value of field 'displayBoxes'.\r
-     */\r
-    public void setDisplayBoxes(\r
-            final boolean displayBoxes) {\r
-        this._displayBoxes = displayBoxes;\r
-        this._has_displayBoxes = true;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'displayText'.\r
-     * \r
-     * @param displayText the value of field 'displayText'.\r
-     */\r
-    public void setDisplayText(\r
-            final boolean displayText) {\r
-        this._displayText = displayText;\r
-        this._has_displayText = true;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'end'.\r
-     * \r
-     * @param end the value of field 'end'.\r
-     */\r
-    public void setEnd(\r
-            final int end) {\r
-        this._end = end;\r
-        this._has_end = true;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'id'. The field 'id' has the\r
-     * following description: Optional sequence group ID (only\r
-     * needs to be unique for this alignment)\r
-     *  \r
-     * \r
-     * @param id the value of field 'id'.\r
-     */\r
-    public void setId(\r
-            final java.lang.String id) {\r
-        this._id = id;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'ignoreGapsinConsensus'.\r
-     * \r
-     * @param ignoreGapsinConsensus the value of field\r
-     * 'ignoreGapsinConsensus'.\r
-     */\r
-    public void setIgnoreGapsinConsensus(\r
-            final boolean ignoreGapsinConsensus) {\r
-        this._ignoreGapsinConsensus = ignoreGapsinConsensus;\r
-        this._has_ignoreGapsinConsensus = true;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'name'.\r
-     * \r
-     * @param name the value of field 'name'.\r
-     */\r
-    public void setName(\r
-            final java.lang.String name) {\r
-        this._name = name;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'outlineColour'.\r
-     * \r
-     * @param outlineColour the value of field 'outlineColour'.\r
-     */\r
-    public void setOutlineColour(\r
-            final int outlineColour) {\r
-        this._outlineColour = outlineColour;\r
-        this._has_outlineColour = true;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'pidThreshold'.\r
-     * \r
-     * @param pidThreshold the value of field 'pidThreshold'.\r
-     */\r
-    public void setPidThreshold(\r
-            final int pidThreshold) {\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 if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void setSeq(\r
-            final int index,\r
-            final java.lang.String vSeq)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        // check bounds for index\r
-        if (index < 0 || index >= this._seqList.size()) {\r
-            throw new IndexOutOfBoundsException("setSeq: Index value '" + index + "' 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(\r
-            final java.lang.String[] vSeqArray) {\r
-        //-- copy array\r
-        _seqList.clear();\r
-        \r
-        for (int i = 0; i < vSeqArray.length; i++) {\r
-                this._seqList.add(vSeqArray[i]);\r
-        }\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'showConsensusHistogram'.\r
-     * \r
-     * @param showConsensusHistogram the value of field\r
-     * 'showConsensusHistogram'.\r
-     */\r
-    public void setShowConsensusHistogram(\r
-            final boolean showConsensusHistogram) {\r
-        this._showConsensusHistogram = showConsensusHistogram;\r
-        this._has_showConsensusHistogram = true;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'showSequenceLogo'.\r
-     * \r
-     * @param showSequenceLogo the value of field 'showSequenceLogo'\r
-     */\r
-    public void setShowSequenceLogo(\r
-            final boolean showSequenceLogo) {\r
-        this._showSequenceLogo = showSequenceLogo;\r
-        this._has_showSequenceLogo = true;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'showUnconserved'.\r
-     * \r
-     * @param showUnconserved the value of field 'showUnconserved'.\r
-     */\r
-    public void setShowUnconserved(\r
-            final boolean showUnconserved) {\r
-        this._showUnconserved = showUnconserved;\r
-        this._has_showUnconserved = true;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'start'.\r
-     * \r
-     * @param start the value of field 'start'.\r
-     */\r
-    public void setStart(\r
-            final int start) {\r
-        this._start = start;\r
-        this._has_start = true;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'textCol1'.\r
-     * \r
-     * @param textCol1 the value of field 'textCol1'.\r
-     */\r
-    public void setTextCol1(\r
-            final int textCol1) {\r
-        this._textCol1 = textCol1;\r
-        this._has_textCol1 = true;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'textCol2'.\r
-     * \r
-     * @param textCol2 the value of field 'textCol2'.\r
-     */\r
-    public void setTextCol2(\r
-            final int textCol2) {\r
-        this._textCol2 = textCol2;\r
-        this._has_textCol2 = true;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'textColThreshold'.\r
-     * \r
-     * @param textColThreshold the value of field 'textColThreshold'\r
-     */\r
-    public void setTextColThreshold(\r
-            final int textColThreshold) {\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 if object is\r
-     * null or if any SAXException is thrown during marshaling\r
-     * @throws org.exolab.castor.xml.ValidationException if this\r
-     * 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, org.exolab.castor.xml.ValidationException {\r
-        return (jalview.schemabinding.version2.JGroup) Unmarshaller.unmarshal(jalview.schemabinding.version2.JGroup.class, reader);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @throws org.exolab.castor.xml.ValidationException if this\r
-     * object is an invalid instance according to the schema\r
-     */\r
-    public void validate(\r
-    )\r
-    throws org.exolab.castor.xml.ValidationException {\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.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ *
+ * 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/>.
+ *******************************************************************************/
+/*
+ * This class was automatically generated with 
+ * <a href="http://www.castor.org">Castor 1.1</a>, using an XML
+ * Schema.
+ * $Id$
+ */
+
+package jalview.schemabinding.version2;
+
+  //---------------------------------/
+ //- Imported classes and packages -/
+//---------------------------------/
+
+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;
+
+    /**
+     * Optional sequence group ID (only needs to be unique for this
+     * alignment)
+     *  
+     */
+    private java.lang.String _id;
+
+    /**
+     * Field _seqList.
+     */
+    private java.util.Vector _seqList;
+
+
+      //----------------/
+     //- 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 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 '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 '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("getSeq: Index value '" + index + "' not in range [0.." + (this._seqList.size() - 1) + "]");
+        }
+        
+        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 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 '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 '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 '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("setSeq: Index value '" + index + "' not in range [0.." + (this._seqList.size() - 1) + "]");
+        }
+        
+        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);
+    }
+
+}