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