profile visualizations are now logos
[jalview.git] / src / jalview / schemabinding / version2 / JGroup.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4.1)\r
3  * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
4  * \r
5  * This program is free software; you can redistribute it and/or\r
6  * modify it under the terms of the GNU General Public License\r
7  * as published by the Free Software Foundation; either version 2\r
8  * of the License, or (at your option) any later version.\r
9  * \r
10  * This program is distributed in the hope that it will be useful,\r
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13  * GNU General Public License for more details.\r
14  * \r
15  * You should have received a copy of the GNU General Public License\r
16  * along with this program; if not, write to the Free Software\r
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
18  */\r
19 package jalview.schemabinding.version2;\r
20 \r
21   //---------------------------------/\r
22  //- Imported classes and packages -/\r
23 //---------------------------------/\r
24 \r
25 import org.exolab.castor.xml.Marshaller;\r
26 import org.exolab.castor.xml.Unmarshaller;\r
27 \r
28 /**\r
29  * Class JGroup.\r
30  * \r
31  * @version $Revision$ $Date$\r
32  */\r
33 public class JGroup implements java.io.Serializable {\r
34 \r
35 \r
36       //--------------------------/\r
37      //- Class/Member Variables -/\r
38     //--------------------------/\r
39 \r
40     /**\r
41      * Field _start.\r
42      */\r
43     private int _start;\r
44 \r
45     /**\r
46      * keeps track of state for field: _start\r
47      */\r
48     private boolean _has_start;\r
49 \r
50     /**\r
51      * Field _end.\r
52      */\r
53     private int _end;\r
54 \r
55     /**\r
56      * keeps track of state for field: _end\r
57      */\r
58     private boolean _has_end;\r
59 \r
60     /**\r
61      * Field _name.\r
62      */\r
63     private java.lang.String _name;\r
64 \r
65     /**\r
66      * Field _colour.\r
67      */\r
68     private java.lang.String _colour;\r
69 \r
70     /**\r
71      * Field _consThreshold.\r
72      */\r
73     private int _consThreshold;\r
74 \r
75     /**\r
76      * keeps track of state for field: _consThreshold\r
77      */\r
78     private boolean _has_consThreshold;\r
79 \r
80     /**\r
81      * Field _pidThreshold.\r
82      */\r
83     private int _pidThreshold;\r
84 \r
85     /**\r
86      * keeps track of state for field: _pidThreshold\r
87      */\r
88     private boolean _has_pidThreshold;\r
89 \r
90     /**\r
91      * Field _outlineColour.\r
92      */\r
93     private int _outlineColour;\r
94 \r
95     /**\r
96      * keeps track of state for field: _outlineColour\r
97      */\r
98     private boolean _has_outlineColour;\r
99 \r
100     /**\r
101      * Field _displayBoxes.\r
102      */\r
103     private boolean _displayBoxes;\r
104 \r
105     /**\r
106      * keeps track of state for field: _displayBoxes\r
107      */\r
108     private boolean _has_displayBoxes;\r
109 \r
110     /**\r
111      * Field _displayText.\r
112      */\r
113     private boolean _displayText;\r
114 \r
115     /**\r
116      * keeps track of state for field: _displayText\r
117      */\r
118     private boolean _has_displayText;\r
119 \r
120     /**\r
121      * Field _colourText.\r
122      */\r
123     private boolean _colourText;\r
124 \r
125     /**\r
126      * keeps track of state for field: _colourText\r
127      */\r
128     private boolean _has_colourText;\r
129 \r
130     /**\r
131      * Field _textCol1.\r
132      */\r
133     private int _textCol1;\r
134 \r
135     /**\r
136      * keeps track of state for field: _textCol1\r
137      */\r
138     private boolean _has_textCol1;\r
139 \r
140     /**\r
141      * Field _textCol2.\r
142      */\r
143     private int _textCol2;\r
144 \r
145     /**\r
146      * keeps track of state for field: _textCol2\r
147      */\r
148     private boolean _has_textCol2;\r
149 \r
150     /**\r
151      * Field _textColThreshold.\r
152      */\r
153     private int _textColThreshold;\r
154 \r
155     /**\r
156      * keeps track of state for field: _textColThreshold\r
157      */\r
158     private boolean _has_textColThreshold;\r
159 \r
160     /**\r
161      * Field _showUnconserved.\r
162      */\r
163     private boolean _showUnconserved;\r
164 \r
165     /**\r
166      * keeps track of state for field: _showUnconserved\r
167      */\r
168     private boolean _has_showUnconserved;\r
169 \r
170     /**\r
171      * Field _ignoreGapsinConsensus.\r
172      */\r
173     private boolean _ignoreGapsinConsensus = true;\r
174 \r
175     /**\r
176      * keeps track of state for field: _ignoreGapsinConsensus\r
177      */\r
178     private boolean _has_ignoreGapsinConsensus;\r
179 \r
180     /**\r
181      * Field _showConsensusHistogram.\r
182      */\r
183     private boolean _showConsensusHistogram = true;\r
184 \r
185     /**\r
186      * keeps track of state for field: _showConsensusHistogram\r
187      */\r
188     private boolean _has_showConsensusHistogram;\r
189 \r
190     /**\r
191      * Field _showSequenceLogo.\r
192      */\r
193     private boolean _showSequenceLogo = false;\r
194 \r
195     /**\r
196      * keeps track of state for field: _showSequenceLogo\r
197      */\r
198     private boolean _has_showSequenceLogo;\r
199 \r
200     /**\r
201      * Optional sequence group ID (only needs to be unique for this\r
202      * alignment)\r
203      *  \r
204      */\r
205     private java.lang.String _id;\r
206 \r
207     /**\r
208      * Field _seqList.\r
209      */\r
210     private java.util.Vector _seqList;\r
211 \r
212 \r
213       //----------------/\r
214      //- Constructors -/\r
215     //----------------/\r
216 \r
217     public JGroup() {\r
218         super();\r
219         this._seqList = new java.util.Vector();\r
220     }\r
221 \r
222 \r
223       //-----------/\r
224      //- Methods -/\r
225     //-----------/\r
226 \r
227     /**\r
228      * \r
229      * \r
230      * @param vSeq\r
231      * @throws java.lang.IndexOutOfBoundsException if the index\r
232      * given is outside the bounds of the collection\r
233      */\r
234     public void addSeq(\r
235             final java.lang.String vSeq)\r
236     throws java.lang.IndexOutOfBoundsException {\r
237         this._seqList.addElement(vSeq);\r
238     }\r
239 \r
240     /**\r
241      * \r
242      * \r
243      * @param index\r
244      * @param vSeq\r
245      * @throws java.lang.IndexOutOfBoundsException if the index\r
246      * given is outside the bounds of the collection\r
247      */\r
248     public void addSeq(\r
249             final int index,\r
250             final java.lang.String vSeq)\r
251     throws java.lang.IndexOutOfBoundsException {\r
252         this._seqList.add(index, vSeq);\r
253     }\r
254 \r
255     /**\r
256      */\r
257     public void deleteColourText(\r
258     ) {\r
259         this._has_colourText= false;\r
260     }\r
261 \r
262     /**\r
263      */\r
264     public void deleteConsThreshold(\r
265     ) {\r
266         this._has_consThreshold= false;\r
267     }\r
268 \r
269     /**\r
270      */\r
271     public void deleteDisplayBoxes(\r
272     ) {\r
273         this._has_displayBoxes= false;\r
274     }\r
275 \r
276     /**\r
277      */\r
278     public void deleteDisplayText(\r
279     ) {\r
280         this._has_displayText= false;\r
281     }\r
282 \r
283     /**\r
284      */\r
285     public void deleteEnd(\r
286     ) {\r
287         this._has_end= false;\r
288     }\r
289 \r
290     /**\r
291      */\r
292     public void deleteIgnoreGapsinConsensus(\r
293     ) {\r
294         this._has_ignoreGapsinConsensus= false;\r
295     }\r
296 \r
297     /**\r
298      */\r
299     public void deleteOutlineColour(\r
300     ) {\r
301         this._has_outlineColour= false;\r
302     }\r
303 \r
304     /**\r
305      */\r
306     public void deletePidThreshold(\r
307     ) {\r
308         this._has_pidThreshold= false;\r
309     }\r
310 \r
311     /**\r
312      */\r
313     public void deleteShowConsensusHistogram(\r
314     ) {\r
315         this._has_showConsensusHistogram= false;\r
316     }\r
317 \r
318     /**\r
319      */\r
320     public void deleteShowSequenceLogo(\r
321     ) {\r
322         this._has_showSequenceLogo= false;\r
323     }\r
324 \r
325     /**\r
326      */\r
327     public void deleteShowUnconserved(\r
328     ) {\r
329         this._has_showUnconserved= false;\r
330     }\r
331 \r
332     /**\r
333      */\r
334     public void deleteStart(\r
335     ) {\r
336         this._has_start= false;\r
337     }\r
338 \r
339     /**\r
340      */\r
341     public void deleteTextCol1(\r
342     ) {\r
343         this._has_textCol1= false;\r
344     }\r
345 \r
346     /**\r
347      */\r
348     public void deleteTextCol2(\r
349     ) {\r
350         this._has_textCol2= false;\r
351     }\r
352 \r
353     /**\r
354      */\r
355     public void deleteTextColThreshold(\r
356     ) {\r
357         this._has_textColThreshold= false;\r
358     }\r
359 \r
360     /**\r
361      * Method enumerateSeq.\r
362      * \r
363      * @return an Enumeration over all java.lang.String elements\r
364      */\r
365     public java.util.Enumeration enumerateSeq(\r
366     ) {\r
367         return this._seqList.elements();\r
368     }\r
369 \r
370     /**\r
371      * Returns the value of field 'colour'.\r
372      * \r
373      * @return the value of field 'Colour'.\r
374      */\r
375     public java.lang.String getColour(\r
376     ) {\r
377         return this._colour;\r
378     }\r
379 \r
380     /**\r
381      * Returns the value of field 'colourText'.\r
382      * \r
383      * @return the value of field 'ColourText'.\r
384      */\r
385     public boolean getColourText(\r
386     ) {\r
387         return this._colourText;\r
388     }\r
389 \r
390     /**\r
391      * Returns the value of field 'consThreshold'.\r
392      * \r
393      * @return the value of field 'ConsThreshold'.\r
394      */\r
395     public int getConsThreshold(\r
396     ) {\r
397         return this._consThreshold;\r
398     }\r
399 \r
400     /**\r
401      * Returns the value of field 'displayBoxes'.\r
402      * \r
403      * @return the value of field 'DisplayBoxes'.\r
404      */\r
405     public boolean getDisplayBoxes(\r
406     ) {\r
407         return this._displayBoxes;\r
408     }\r
409 \r
410     /**\r
411      * Returns the value of field 'displayText'.\r
412      * \r
413      * @return the value of field 'DisplayText'.\r
414      */\r
415     public boolean getDisplayText(\r
416     ) {\r
417         return this._displayText;\r
418     }\r
419 \r
420     /**\r
421      * Returns the value of field 'end'.\r
422      * \r
423      * @return the value of field 'End'.\r
424      */\r
425     public int getEnd(\r
426     ) {\r
427         return this._end;\r
428     }\r
429 \r
430     /**\r
431      * Returns the value of field 'id'. The field 'id' has the\r
432      * following description: Optional sequence group ID (only\r
433      * needs to be unique for this alignment)\r
434      *  \r
435      * \r
436      * @return the value of field 'Id'.\r
437      */\r
438     public java.lang.String getId(\r
439     ) {\r
440         return this._id;\r
441     }\r
442 \r
443     /**\r
444      * Returns the value of field 'ignoreGapsinConsensus'.\r
445      * \r
446      * @return the value of field 'IgnoreGapsinConsensus'.\r
447      */\r
448     public boolean getIgnoreGapsinConsensus(\r
449     ) {\r
450         return this._ignoreGapsinConsensus;\r
451     }\r
452 \r
453     /**\r
454      * Returns the value of field 'name'.\r
455      * \r
456      * @return the value of field 'Name'.\r
457      */\r
458     public java.lang.String getName(\r
459     ) {\r
460         return this._name;\r
461     }\r
462 \r
463     /**\r
464      * Returns the value of field 'outlineColour'.\r
465      * \r
466      * @return the value of field 'OutlineColour'.\r
467      */\r
468     public int getOutlineColour(\r
469     ) {\r
470         return this._outlineColour;\r
471     }\r
472 \r
473     /**\r
474      * Returns the value of field 'pidThreshold'.\r
475      * \r
476      * @return the value of field 'PidThreshold'.\r
477      */\r
478     public int getPidThreshold(\r
479     ) {\r
480         return this._pidThreshold;\r
481     }\r
482 \r
483     /**\r
484      * Method getSeq.\r
485      * \r
486      * @param index\r
487      * @throws java.lang.IndexOutOfBoundsException if the index\r
488      * given is outside the bounds of the collection\r
489      * @return the value of the java.lang.String at the given index\r
490      */\r
491     public java.lang.String getSeq(\r
492             final int index)\r
493     throws java.lang.IndexOutOfBoundsException {\r
494         // check bounds for index\r
495         if (index < 0 || index >= this._seqList.size()) {\r
496             throw new IndexOutOfBoundsException("getSeq: Index value '" + index + "' not in range [0.." + (this._seqList.size() - 1) + "]");\r
497         }\r
498         \r
499         return (java.lang.String) _seqList.get(index);\r
500     }\r
501 \r
502     /**\r
503      * Method getSeq.Returns the contents of the collection in an\r
504      * Array.  <p>Note:  Just in case the collection contents are\r
505      * changing in another thread, we pass a 0-length Array of the\r
506      * correct type into the API call.  This way we <i>know</i>\r
507      * that the Array returned is of exactly the correct length.\r
508      * \r
509      * @return this collection as an Array\r
510      */\r
511     public java.lang.String[] getSeq(\r
512     ) {\r
513         java.lang.String[] array = new java.lang.String[0];\r
514         return (java.lang.String[]) this._seqList.toArray(array);\r
515     }\r
516 \r
517     /**\r
518      * Method getSeqCount.\r
519      * \r
520      * @return the size of this collection\r
521      */\r
522     public int getSeqCount(\r
523     ) {\r
524         return this._seqList.size();\r
525     }\r
526 \r
527     /**\r
528      * Returns the value of field 'showConsensusHistogram'.\r
529      * \r
530      * @return the value of field 'ShowConsensusHistogram'.\r
531      */\r
532     public boolean getShowConsensusHistogram(\r
533     ) {\r
534         return this._showConsensusHistogram;\r
535     }\r
536 \r
537     /**\r
538      * Returns the value of field 'showSequenceLogo'.\r
539      * \r
540      * @return the value of field 'ShowSequenceLogo'.\r
541      */\r
542     public boolean getShowSequenceLogo(\r
543     ) {\r
544         return this._showSequenceLogo;\r
545     }\r
546 \r
547     /**\r
548      * Returns the value of field 'showUnconserved'.\r
549      * \r
550      * @return the value of field 'ShowUnconserved'.\r
551      */\r
552     public boolean getShowUnconserved(\r
553     ) {\r
554         return this._showUnconserved;\r
555     }\r
556 \r
557     /**\r
558      * Returns the value of field 'start'.\r
559      * \r
560      * @return the value of field 'Start'.\r
561      */\r
562     public int getStart(\r
563     ) {\r
564         return this._start;\r
565     }\r
566 \r
567     /**\r
568      * Returns the value of field 'textCol1'.\r
569      * \r
570      * @return the value of field 'TextCol1'.\r
571      */\r
572     public int getTextCol1(\r
573     ) {\r
574         return this._textCol1;\r
575     }\r
576 \r
577     /**\r
578      * Returns the value of field 'textCol2'.\r
579      * \r
580      * @return the value of field 'TextCol2'.\r
581      */\r
582     public int getTextCol2(\r
583     ) {\r
584         return this._textCol2;\r
585     }\r
586 \r
587     /**\r
588      * Returns the value of field 'textColThreshold'.\r
589      * \r
590      * @return the value of field 'TextColThreshold'.\r
591      */\r
592     public int getTextColThreshold(\r
593     ) {\r
594         return this._textColThreshold;\r
595     }\r
596 \r
597     /**\r
598      * Method hasColourText.\r
599      * \r
600      * @return true if at least one ColourText has been added\r
601      */\r
602     public boolean hasColourText(\r
603     ) {\r
604         return this._has_colourText;\r
605     }\r
606 \r
607     /**\r
608      * Method hasConsThreshold.\r
609      * \r
610      * @return true if at least one ConsThreshold has been added\r
611      */\r
612     public boolean hasConsThreshold(\r
613     ) {\r
614         return this._has_consThreshold;\r
615     }\r
616 \r
617     /**\r
618      * Method hasDisplayBoxes.\r
619      * \r
620      * @return true if at least one DisplayBoxes has been added\r
621      */\r
622     public boolean hasDisplayBoxes(\r
623     ) {\r
624         return this._has_displayBoxes;\r
625     }\r
626 \r
627     /**\r
628      * Method hasDisplayText.\r
629      * \r
630      * @return true if at least one DisplayText has been added\r
631      */\r
632     public boolean hasDisplayText(\r
633     ) {\r
634         return this._has_displayText;\r
635     }\r
636 \r
637     /**\r
638      * Method hasEnd.\r
639      * \r
640      * @return true if at least one End has been added\r
641      */\r
642     public boolean hasEnd(\r
643     ) {\r
644         return this._has_end;\r
645     }\r
646 \r
647     /**\r
648      * Method hasIgnoreGapsinConsensus.\r
649      * \r
650      * @return true if at least one IgnoreGapsinConsensus has been\r
651      * added\r
652      */\r
653     public boolean hasIgnoreGapsinConsensus(\r
654     ) {\r
655         return this._has_ignoreGapsinConsensus;\r
656     }\r
657 \r
658     /**\r
659      * Method hasOutlineColour.\r
660      * \r
661      * @return true if at least one OutlineColour has been added\r
662      */\r
663     public boolean hasOutlineColour(\r
664     ) {\r
665         return this._has_outlineColour;\r
666     }\r
667 \r
668     /**\r
669      * Method hasPidThreshold.\r
670      * \r
671      * @return true if at least one PidThreshold has been added\r
672      */\r
673     public boolean hasPidThreshold(\r
674     ) {\r
675         return this._has_pidThreshold;\r
676     }\r
677 \r
678     /**\r
679      * Method hasShowConsensusHistogram.\r
680      * \r
681      * @return true if at least one ShowConsensusHistogram has been\r
682      * added\r
683      */\r
684     public boolean hasShowConsensusHistogram(\r
685     ) {\r
686         return this._has_showConsensusHistogram;\r
687     }\r
688 \r
689     /**\r
690      * Method hasShowSequenceLogo.\r
691      * \r
692      * @return true if at least one ShowSequenceLogo has been added\r
693      */\r
694     public boolean hasShowSequenceLogo(\r
695     ) {\r
696         return this._has_showSequenceLogo;\r
697     }\r
698 \r
699     /**\r
700      * Method hasShowUnconserved.\r
701      * \r
702      * @return true if at least one ShowUnconserved has been added\r
703      */\r
704     public boolean hasShowUnconserved(\r
705     ) {\r
706         return this._has_showUnconserved;\r
707     }\r
708 \r
709     /**\r
710      * Method hasStart.\r
711      * \r
712      * @return true if at least one Start has been added\r
713      */\r
714     public boolean hasStart(\r
715     ) {\r
716         return this._has_start;\r
717     }\r
718 \r
719     /**\r
720      * Method hasTextCol1.\r
721      * \r
722      * @return true if at least one TextCol1 has been added\r
723      */\r
724     public boolean hasTextCol1(\r
725     ) {\r
726         return this._has_textCol1;\r
727     }\r
728 \r
729     /**\r
730      * Method hasTextCol2.\r
731      * \r
732      * @return true if at least one TextCol2 has been added\r
733      */\r
734     public boolean hasTextCol2(\r
735     ) {\r
736         return this._has_textCol2;\r
737     }\r
738 \r
739     /**\r
740      * Method hasTextColThreshold.\r
741      * \r
742      * @return true if at least one TextColThreshold has been added\r
743      */\r
744     public boolean hasTextColThreshold(\r
745     ) {\r
746         return this._has_textColThreshold;\r
747     }\r
748 \r
749     /**\r
750      * Returns the value of field 'colourText'.\r
751      * \r
752      * @return the value of field 'ColourText'.\r
753      */\r
754     public boolean isColourText(\r
755     ) {\r
756         return this._colourText;\r
757     }\r
758 \r
759     /**\r
760      * Returns the value of field 'displayBoxes'.\r
761      * \r
762      * @return the value of field 'DisplayBoxes'.\r
763      */\r
764     public boolean isDisplayBoxes(\r
765     ) {\r
766         return this._displayBoxes;\r
767     }\r
768 \r
769     /**\r
770      * Returns the value of field 'displayText'.\r
771      * \r
772      * @return the value of field 'DisplayText'.\r
773      */\r
774     public boolean isDisplayText(\r
775     ) {\r
776         return this._displayText;\r
777     }\r
778 \r
779     /**\r
780      * Returns the value of field 'ignoreGapsinConsensus'.\r
781      * \r
782      * @return the value of field 'IgnoreGapsinConsensus'.\r
783      */\r
784     public boolean isIgnoreGapsinConsensus(\r
785     ) {\r
786         return this._ignoreGapsinConsensus;\r
787     }\r
788 \r
789     /**\r
790      * Returns the value of field 'showConsensusHistogram'.\r
791      * \r
792      * @return the value of field 'ShowConsensusHistogram'.\r
793      */\r
794     public boolean isShowConsensusHistogram(\r
795     ) {\r
796         return this._showConsensusHistogram;\r
797     }\r
798 \r
799     /**\r
800      * Returns the value of field 'showSequenceLogo'.\r
801      * \r
802      * @return the value of field 'ShowSequenceLogo'.\r
803      */\r
804     public boolean isShowSequenceLogo(\r
805     ) {\r
806         return this._showSequenceLogo;\r
807     }\r
808 \r
809     /**\r
810      * Returns the value of field 'showUnconserved'.\r
811      * \r
812      * @return the value of field 'ShowUnconserved'.\r
813      */\r
814     public boolean isShowUnconserved(\r
815     ) {\r
816         return this._showUnconserved;\r
817     }\r
818 \r
819     /**\r
820      * Method isValid.\r
821      * \r
822      * @return true if this object is valid according to the schema\r
823      */\r
824     public boolean isValid(\r
825     ) {\r
826         try {\r
827             validate();\r
828         } catch (org.exolab.castor.xml.ValidationException vex) {\r
829             return false;\r
830         }\r
831         return true;\r
832     }\r
833 \r
834     /**\r
835      * \r
836      * \r
837      * @param out\r
838      * @throws org.exolab.castor.xml.MarshalException if object is\r
839      * null or if any SAXException is thrown during marshaling\r
840      * @throws org.exolab.castor.xml.ValidationException if this\r
841      * object is an invalid instance according to the schema\r
842      */\r
843     public void marshal(\r
844             final java.io.Writer out)\r
845     throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {\r
846         Marshaller.marshal(this, out);\r
847     }\r
848 \r
849     /**\r
850      * \r
851      * \r
852      * @param handler\r
853      * @throws java.io.IOException if an IOException occurs during\r
854      * marshaling\r
855      * @throws org.exolab.castor.xml.ValidationException if this\r
856      * object is an invalid instance according to the schema\r
857      * @throws org.exolab.castor.xml.MarshalException if object is\r
858      * null or if any SAXException is thrown during marshaling\r
859      */\r
860     public void marshal(\r
861             final org.xml.sax.ContentHandler handler)\r
862     throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {\r
863         Marshaller.marshal(this, handler);\r
864     }\r
865 \r
866     /**\r
867      */\r
868     public void removeAllSeq(\r
869     ) {\r
870         this._seqList.clear();\r
871     }\r
872 \r
873     /**\r
874      * Method removeSeq.\r
875      * \r
876      * @param vSeq\r
877      * @return true if the object was removed from the collection.\r
878      */\r
879     public boolean removeSeq(\r
880             final java.lang.String vSeq) {\r
881         boolean removed = _seqList.remove(vSeq);\r
882         return removed;\r
883     }\r
884 \r
885     /**\r
886      * Method removeSeqAt.\r
887      * \r
888      * @param index\r
889      * @return the element removed from the collection\r
890      */\r
891     public java.lang.String removeSeqAt(\r
892             final int index) {\r
893         java.lang.Object obj = this._seqList.remove(index);\r
894         return (java.lang.String) obj;\r
895     }\r
896 \r
897     /**\r
898      * Sets the value of field 'colour'.\r
899      * \r
900      * @param colour the value of field 'colour'.\r
901      */\r
902     public void setColour(\r
903             final java.lang.String colour) {\r
904         this._colour = colour;\r
905     }\r
906 \r
907     /**\r
908      * Sets the value of field 'colourText'.\r
909      * \r
910      * @param colourText the value of field 'colourText'.\r
911      */\r
912     public void setColourText(\r
913             final boolean colourText) {\r
914         this._colourText = colourText;\r
915         this._has_colourText = true;\r
916     }\r
917 \r
918     /**\r
919      * Sets the value of field 'consThreshold'.\r
920      * \r
921      * @param consThreshold the value of field 'consThreshold'.\r
922      */\r
923     public void setConsThreshold(\r
924             final int consThreshold) {\r
925         this._consThreshold = consThreshold;\r
926         this._has_consThreshold = true;\r
927     }\r
928 \r
929     /**\r
930      * Sets the value of field 'displayBoxes'.\r
931      * \r
932      * @param displayBoxes the value of field 'displayBoxes'.\r
933      */\r
934     public void setDisplayBoxes(\r
935             final boolean displayBoxes) {\r
936         this._displayBoxes = displayBoxes;\r
937         this._has_displayBoxes = true;\r
938     }\r
939 \r
940     /**\r
941      * Sets the value of field 'displayText'.\r
942      * \r
943      * @param displayText the value of field 'displayText'.\r
944      */\r
945     public void setDisplayText(\r
946             final boolean displayText) {\r
947         this._displayText = displayText;\r
948         this._has_displayText = true;\r
949     }\r
950 \r
951     /**\r
952      * Sets the value of field 'end'.\r
953      * \r
954      * @param end the value of field 'end'.\r
955      */\r
956     public void setEnd(\r
957             final int end) {\r
958         this._end = end;\r
959         this._has_end = true;\r
960     }\r
961 \r
962     /**\r
963      * Sets the value of field 'id'. The field 'id' has the\r
964      * following description: Optional sequence group ID (only\r
965      * needs to be unique for this alignment)\r
966      *  \r
967      * \r
968      * @param id the value of field 'id'.\r
969      */\r
970     public void setId(\r
971             final java.lang.String id) {\r
972         this._id = id;\r
973     }\r
974 \r
975     /**\r
976      * Sets the value of field 'ignoreGapsinConsensus'.\r
977      * \r
978      * @param ignoreGapsinConsensus the value of field\r
979      * 'ignoreGapsinConsensus'.\r
980      */\r
981     public void setIgnoreGapsinConsensus(\r
982             final boolean ignoreGapsinConsensus) {\r
983         this._ignoreGapsinConsensus = ignoreGapsinConsensus;\r
984         this._has_ignoreGapsinConsensus = true;\r
985     }\r
986 \r
987     /**\r
988      * Sets the value of field 'name'.\r
989      * \r
990      * @param name the value of field 'name'.\r
991      */\r
992     public void setName(\r
993             final java.lang.String name) {\r
994         this._name = name;\r
995     }\r
996 \r
997     /**\r
998      * Sets the value of field 'outlineColour'.\r
999      * \r
1000      * @param outlineColour the value of field 'outlineColour'.\r
1001      */\r
1002     public void setOutlineColour(\r
1003             final int outlineColour) {\r
1004         this._outlineColour = outlineColour;\r
1005         this._has_outlineColour = true;\r
1006     }\r
1007 \r
1008     /**\r
1009      * Sets the value of field 'pidThreshold'.\r
1010      * \r
1011      * @param pidThreshold the value of field 'pidThreshold'.\r
1012      */\r
1013     public void setPidThreshold(\r
1014             final int pidThreshold) {\r
1015         this._pidThreshold = pidThreshold;\r
1016         this._has_pidThreshold = true;\r
1017     }\r
1018 \r
1019     /**\r
1020      * \r
1021      * \r
1022      * @param index\r
1023      * @param vSeq\r
1024      * @throws java.lang.IndexOutOfBoundsException if the index\r
1025      * given is outside the bounds of the collection\r
1026      */\r
1027     public void setSeq(\r
1028             final int index,\r
1029             final java.lang.String vSeq)\r
1030     throws java.lang.IndexOutOfBoundsException {\r
1031         // check bounds for index\r
1032         if (index < 0 || index >= this._seqList.size()) {\r
1033             throw new IndexOutOfBoundsException("setSeq: Index value '" + index + "' not in range [0.." + (this._seqList.size() - 1) + "]");\r
1034         }\r
1035         \r
1036         this._seqList.set(index, vSeq);\r
1037     }\r
1038 \r
1039     /**\r
1040      * \r
1041      * \r
1042      * @param vSeqArray\r
1043      */\r
1044     public void setSeq(\r
1045             final java.lang.String[] vSeqArray) {\r
1046         //-- copy array\r
1047         _seqList.clear();\r
1048         \r
1049         for (int i = 0; i < vSeqArray.length; i++) {\r
1050                 this._seqList.add(vSeqArray[i]);\r
1051         }\r
1052     }\r
1053 \r
1054     /**\r
1055      * Sets the value of field 'showConsensusHistogram'.\r
1056      * \r
1057      * @param showConsensusHistogram the value of field\r
1058      * 'showConsensusHistogram'.\r
1059      */\r
1060     public void setShowConsensusHistogram(\r
1061             final boolean showConsensusHistogram) {\r
1062         this._showConsensusHistogram = showConsensusHistogram;\r
1063         this._has_showConsensusHistogram = true;\r
1064     }\r
1065 \r
1066     /**\r
1067      * Sets the value of field 'showSequenceLogo'.\r
1068      * \r
1069      * @param showSequenceLogo the value of field 'showSequenceLogo'\r
1070      */\r
1071     public void setShowSequenceLogo(\r
1072             final boolean showSequenceLogo) {\r
1073         this._showSequenceLogo = showSequenceLogo;\r
1074         this._has_showSequenceLogo = true;\r
1075     }\r
1076 \r
1077     /**\r
1078      * Sets the value of field 'showUnconserved'.\r
1079      * \r
1080      * @param showUnconserved the value of field 'showUnconserved'.\r
1081      */\r
1082     public void setShowUnconserved(\r
1083             final boolean showUnconserved) {\r
1084         this._showUnconserved = showUnconserved;\r
1085         this._has_showUnconserved = true;\r
1086     }\r
1087 \r
1088     /**\r
1089      * Sets the value of field 'start'.\r
1090      * \r
1091      * @param start the value of field 'start'.\r
1092      */\r
1093     public void setStart(\r
1094             final int start) {\r
1095         this._start = start;\r
1096         this._has_start = true;\r
1097     }\r
1098 \r
1099     /**\r
1100      * Sets the value of field 'textCol1'.\r
1101      * \r
1102      * @param textCol1 the value of field 'textCol1'.\r
1103      */\r
1104     public void setTextCol1(\r
1105             final int textCol1) {\r
1106         this._textCol1 = textCol1;\r
1107         this._has_textCol1 = true;\r
1108     }\r
1109 \r
1110     /**\r
1111      * Sets the value of field 'textCol2'.\r
1112      * \r
1113      * @param textCol2 the value of field 'textCol2'.\r
1114      */\r
1115     public void setTextCol2(\r
1116             final int textCol2) {\r
1117         this._textCol2 = textCol2;\r
1118         this._has_textCol2 = true;\r
1119     }\r
1120 \r
1121     /**\r
1122      * Sets the value of field 'textColThreshold'.\r
1123      * \r
1124      * @param textColThreshold the value of field 'textColThreshold'\r
1125      */\r
1126     public void setTextColThreshold(\r
1127             final int textColThreshold) {\r
1128         this._textColThreshold = textColThreshold;\r
1129         this._has_textColThreshold = true;\r
1130     }\r
1131 \r
1132     /**\r
1133      * Method unmarshal.\r
1134      * \r
1135      * @param reader\r
1136      * @throws org.exolab.castor.xml.MarshalException if object is\r
1137      * null or if any SAXException is thrown during marshaling\r
1138      * @throws org.exolab.castor.xml.ValidationException if this\r
1139      * object is an invalid instance according to the schema\r
1140      * @return the unmarshaled jalview.schemabinding.version2.JGroup\r
1141      */\r
1142     public static jalview.schemabinding.version2.JGroup unmarshal(\r
1143             final java.io.Reader reader)\r
1144     throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {\r
1145         return (jalview.schemabinding.version2.JGroup) Unmarshaller.unmarshal(jalview.schemabinding.version2.JGroup.class, reader);\r
1146     }\r
1147 \r
1148     /**\r
1149      * \r
1150      * \r
1151      * @throws org.exolab.castor.xml.ValidationException if this\r
1152      * object is an invalid instance according to the schema\r
1153      */\r
1154     public void validate(\r
1155     )\r
1156     throws org.exolab.castor.xml.ValidationException {\r
1157         org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();\r
1158         validator.validate(this);\r
1159     }\r
1160 \r
1161 }\r