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