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