Clover icon

Coverage Report

  1. Project Clover database Wed Nov 5 2025 13:15:40 GMT
  2. Package jalview.xml.binding.jalview

File Annotation.java

 

Coverage histogram

../../../../img/srcFileCovDistChart9.png
13% of files have more coverage

Code metrics

12
63
51
2
877
248
57
0.9
1.24
25.5
1.12

Classes

Class Line # Actions
Annotation 83 57 51
0.912280791.2%
Annotation.ThresholdLine 794 6 6
0.00%
 

Contributing tests

This file is covered by 34 tests. .

Source view

1    //
2    // This file was generated by the Eclipse Implementation of JAXB, v2.3.9
3    // See https://eclipse-ee4j.github.io/jaxb-ri
4    // Any modifications to this file will be lost upon recompilation of the source schema.
5    // Generated on: 2025.04.17 at 04:05:44 PM BST
6    //
7   
8   
9    package jalview.xml.binding.jalview;
10   
11    import java.util.ArrayList;
12    import java.util.List;
13    import javax.xml.bind.annotation.XmlAccessType;
14    import javax.xml.bind.annotation.XmlAccessorType;
15    import javax.xml.bind.annotation.XmlAttribute;
16    import javax.xml.bind.annotation.XmlElement;
17    import javax.xml.bind.annotation.XmlRootElement;
18    import javax.xml.bind.annotation.XmlType;
19   
20   
21    /**
22    * <p>Java class for anonymous complex type</p>.
23    *
24    * <p>The following schema fragment specifies the expected content contained within this class.</p>
25    *
26    * <pre>
27    * &lt;complexType&gt;
28    * &lt;complexContent&gt;
29    * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
30    * &lt;sequence&gt;
31    * &lt;element ref="{www.vamsas.ac.uk/jalview/version2}annotationElement" maxOccurs="unbounded" minOccurs="0"/&gt;
32    * &lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
33    * &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
34    * &lt;element name="thresholdLine" minOccurs="0"&gt;
35    * &lt;complexType&gt;
36    * &lt;complexContent&gt;
37    * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
38    * &lt;attribute name="label" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
39    * &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
40    * &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
41    * &lt;/restriction&gt;
42    * &lt;/complexContent&gt;
43    * &lt;/complexType&gt;
44    * &lt;/element&gt;
45    * &lt;element name="contactmatrix" type="{www.vamsas.ac.uk/jalview/version2}MapOnAMatrixType" maxOccurs="unbounded" minOccurs="0"/&gt;
46    * &lt;element name="property" type="{www.vamsas.ac.uk/jalview/version2}property" maxOccurs="unbounded" minOccurs="0"/&gt;
47    * &lt;/sequence&gt;
48    * &lt;attribute name="graph" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
49    * &lt;attribute name="graphType" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
50    * &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
51    * &lt;attribute name="groupRef" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
52    * &lt;attribute name="graphColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
53    * &lt;attribute name="graphGroup" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
54    * &lt;attribute name="graphHeight" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
55    * &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
56    * &lt;attribute name="scoreOnly" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
57    * &lt;attribute name="score" type="{http://www.w3.org/2001/XMLSchema}double" /&gt;
58    * &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
59    * &lt;attribute name="centreColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
60    * &lt;attribute name="scaleColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
61    * &lt;attribute name="showAllColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
62    * &lt;attribute name="autoCalculated" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
63    * &lt;attribute name="belowAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
64    * &lt;attribute name="calcId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
65    * &lt;attribute name="annotationGroupColour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
66    * &lt;/restriction&gt;
67    * &lt;/complexContent&gt;
68    * &lt;/complexType&gt;
69    * </pre>
70    *
71    *
72    */
73    @XmlAccessorType(XmlAccessType.FIELD)
74    @XmlType(name = "", propOrder = {
75    "annotationElement",
76    "label",
77    "description",
78    "thresholdLine",
79    "contactmatrix",
80    "property"
81    })
82    @XmlRootElement(name = "Annotation")
 
83    public class Annotation {
84   
85    protected List<AnnotationElement> annotationElement;
86    @XmlElement(required = true)
87    protected String label;
88    protected String description;
89    protected Annotation.ThresholdLine thresholdLine;
90    protected List<MapOnAMatrixType> contactmatrix;
91    protected List<Property> property;
92    @XmlAttribute(name = "graph", required = true)
93    protected boolean graph;
94    @XmlAttribute(name = "graphType")
95    protected Integer graphType;
96    @XmlAttribute(name = "sequenceRef")
97    protected String sequenceRef;
98    @XmlAttribute(name = "groupRef")
99    protected String groupRef;
100    @XmlAttribute(name = "graphColour")
101    protected Integer graphColour;
102    @XmlAttribute(name = "graphGroup")
103    protected Integer graphGroup;
104    /**
105    * height in pixels for the graph if this is a
106    * graph-type annotation.
107    *
108    */
109    @XmlAttribute(name = "graphHeight")
110    protected Integer graphHeight;
111    @XmlAttribute(name = "id")
112    protected String id;
113    @XmlAttribute(name = "scoreOnly")
114    protected Boolean scoreOnly;
115    @XmlAttribute(name = "score")
116    protected Double score;
117    @XmlAttribute(name = "visible")
118    protected Boolean visible;
119    @XmlAttribute(name = "centreColLabels")
120    protected Boolean centreColLabels;
121    @XmlAttribute(name = "scaleColLabels")
122    protected Boolean scaleColLabels;
123    @XmlAttribute(name = "showAllColLabels")
124    protected Boolean showAllColLabels;
125    /**
126    * is an autocalculated annotation row
127    *
128    */
129    @XmlAttribute(name = "autoCalculated")
130    protected Boolean autoCalculated;
131    /**
132    * is to be shown below the alignment - introduced
133    * in Jalview 2.8 for visualizing T-COFFEE alignment scores
134    *
135    */
136    @XmlAttribute(name = "belowAlignment")
137    protected Boolean belowAlignment;
138    /**
139    * Optional string identifier used to group sets of
140    * annotation produced by a particular calculation. Values are opaque
141    * strings but have semantic meaning to Jalview's renderer, data
142    * importer and calculation system.
143    *
144    */
145    @XmlAttribute(name = "calcId")
146    protected String calcId;
147    /**
148    * Optional integer that stores the colour of the
149    * group to which the annotation belongs. The label of the
150    * annotation is highlighted with this colour.
151    *
152    */
153    @XmlAttribute(name = "annotationGroupColour")
154    protected Integer annotationGroupColour;
155   
156    /**
157    * Gets the value of the annotationElement property.
158    *
159    * <p>This accessor method returns a reference to the live list,
160    * not a snapshot. Therefore any modification you make to the
161    * returned list will be present inside the JAXB object.
162    * This is why there is not a <CODE>set</CODE> method for the annotationElement property.</p>
163    *
164    * <p>
165    * For example, to add a new item, do as follows:
166    * </p>
167    * <pre>
168    * getAnnotationElement().add(newItem);
169    * </pre>
170    *
171    *
172    * <p>
173    * Objects of the following type(s) are allowed in the list
174    * {@link AnnotationElement }
175    * </p>
176    *
177    *
178    * @return
179    * The value of the annotationElement property.
180    */
 
181  81315 toggle public List<AnnotationElement> getAnnotationElement() {
182  81315 if (annotationElement == null) {
183  744 annotationElement = new ArrayList<AnnotationElement>();
184    }
185  81315 return this.annotationElement;
186    }
187   
188    /**
189    * Gets the value of the label property.
190    *
191    * @return
192    * possible object is
193    * {@link String }
194    *
195    */
 
196  4475 toggle public String getLabel() {
197  4475 return label;
198    }
199   
200    /**
201    * Sets the value of the label property.
202    *
203    * @param value
204    * allowed object is
205    * {@link String }
206    *
207    */
 
208  745 toggle public void setLabel(String value) {
209  745 this.label = value;
210    }
211   
212    /**
213    * Gets the value of the description property.
214    *
215    * @return
216    * possible object is
217    * {@link String }
218    *
219    */
 
220  1174 toggle public String getDescription() {
221  1174 return description;
222    }
223   
224    /**
225    * Sets the value of the description property.
226    *
227    * @param value
228    * allowed object is
229    * {@link String }
230    *
231    */
 
232  745 toggle public void setDescription(String value) {
233  745 this.description = value;
234    }
235   
236    /**
237    * Gets the value of the thresholdLine property.
238    *
239    * @return
240    * possible object is
241    * {@link Annotation.ThresholdLine }
242    *
243    */
 
244  668 toggle public Annotation.ThresholdLine getThresholdLine() {
245  668 return thresholdLine;
246    }
247   
248    /**
249    * Sets the value of the thresholdLine property.
250    *
251    * @param value
252    * allowed object is
253    * {@link Annotation.ThresholdLine }
254    *
255    */
 
256  0 toggle public void setThresholdLine(Annotation.ThresholdLine value) {
257  0 this.thresholdLine = value;
258    }
259   
260    /**
261    * Gets the value of the contactmatrix property.
262    *
263    * <p>This accessor method returns a reference to the live list,
264    * not a snapshot. Therefore any modification you make to the
265    * returned list will be present inside the JAXB object.
266    * This is why there is not a <CODE>set</CODE> method for the contactmatrix property.</p>
267    *
268    * <p>
269    * For example, to add a new item, do as follows:
270    * </p>
271    * <pre>
272    * getContactmatrix().add(newItem);
273    * </pre>
274    *
275    *
276    * <p>
277    * Objects of the following type(s) are allowed in the list
278    * {@link MapOnAMatrixType }
279    * </p>
280    *
281    *
282    * @return
283    * The value of the contactmatrix property.
284    */
 
285  144 toggle public List<MapOnAMatrixType> getContactmatrix() {
286  144 if (contactmatrix == null) {
287  27 contactmatrix = new ArrayList<MapOnAMatrixType>();
288    }
289  144 return this.contactmatrix;
290    }
291   
292    /**
293    * Gets the value of the property property.
294    *
295    * <p>This accessor method returns a reference to the live list,
296    * not a snapshot. Therefore any modification you make to the
297    * returned list will be present inside the JAXB object.
298    * This is why there is not a <CODE>set</CODE> method for the property property.</p>
299    *
300    * <p>
301    * For example, to add a new item, do as follows:
302    * </p>
303    * <pre>
304    * getProperty().add(newItem);
305    * </pre>
306    *
307    *
308    * <p>
309    * Objects of the following type(s) are allowed in the list
310    * {@link Property }
311    * </p>
312    *
313    *
314    * @return
315    * The value of the property property.
316    */
 
317  1760 toggle public List<Property> getProperty() {
318  1760 if (property == null) {
319  1124 property = new ArrayList<Property>();
320    }
321  1760 return this.property;
322    }
323   
324    /**
325    * Gets the value of the graph property.
326    *
327    */
 
328  1174 toggle public boolean isGraph() {
329  1174 return graph;
330    }
331   
332    /**
333    * Sets the value of the graph property.
334    *
335    */
 
336  745 toggle public void setGraph(boolean value) {
337  745 this.graph = value;
338    }
339   
340    /**
341    * Gets the value of the graphType property.
342    *
343    * @return
344    * possible object is
345    * {@link Integer }
346    *
347    */
 
348  668 toggle public Integer getGraphType() {
349  668 return graphType;
350    }
351   
352    /**
353    * Sets the value of the graphType property.
354    *
355    * @param value
356    * allowed object is
357    * {@link Integer }
358    *
359    */
 
360  420 toggle public void setGraphType(Integer value) {
361  420 this.graphType = value;
362    }
363   
364    /**
365    * Gets the value of the sequenceRef property.
366    *
367    * @return
368    * possible object is
369    * {@link String }
370    *
371    */
 
372  1174 toggle public String getSequenceRef() {
373  1174 return sequenceRef;
374    }
375   
376    /**
377    * Sets the value of the sequenceRef property.
378    *
379    * @param value
380    * allowed object is
381    * {@link String }
382    *
383    */
 
384  525 toggle public void setSequenceRef(String value) {
385  525 this.sequenceRef = value;
386    }
387   
388    /**
389    * Gets the value of the groupRef property.
390    *
391    * @return
392    * possible object is
393    * {@link String }
394    *
395    */
 
396  1246 toggle public String getGroupRef() {
397  1246 return groupRef;
398    }
399   
400    /**
401    * Sets the value of the groupRef property.
402    *
403    * @param value
404    * allowed object is
405    * {@link String }
406    *
407    */
 
408  6 toggle public void setGroupRef(String value) {
409  6 this.groupRef = value;
410    }
411   
412    /**
413    * Gets the value of the graphColour property.
414    *
415    * @return
416    * possible object is
417    * {@link Integer }
418    *
419    */
 
420  0 toggle public Integer getGraphColour() {
421  0 return graphColour;
422    }
423   
424    /**
425    * Sets the value of the graphColour property.
426    *
427    * @param value
428    * allowed object is
429    * {@link Integer }
430    *
431    */
 
432  0 toggle public void setGraphColour(Integer value) {
433  0 this.graphColour = value;
434    }
435   
436    /**
437    * Gets the value of the graphGroup property.
438    *
439    * @return
440    * possible object is
441    * {@link Integer }
442    *
443    */
 
444  668 toggle public Integer getGraphGroup() {
445  668 return graphGroup;
446    }
447   
448    /**
449    * Sets the value of the graphGroup property.
450    *
451    * @param value
452    * allowed object is
453    * {@link Integer }
454    *
455    */
 
456  420 toggle public void setGraphGroup(Integer value) {
457  420 this.graphGroup = value;
458    }
459   
460    /**
461    * height in pixels for the graph if this is a
462    * graph-type annotation.
463    *
464    * @return
465    * possible object is
466    * {@link Integer }
467    *
468    */
 
469  2348 toggle public Integer getGraphHeight() {
470  2348 return graphHeight;
471    }
472   
473    /**
474    * Sets the value of the graphHeight property.
475    *
476    * @param value
477    * allowed object is
478    * {@link Integer }
479    *
480    * @see #getGraphHeight()
481    */
 
482  745 toggle public void setGraphHeight(Integer value) {
483  745 this.graphHeight = value;
484    }
485   
486    /**
487    * Gets the value of the id property.
488    *
489    * @return
490    * possible object is
491    * {@link String }
492    *
493    */
 
494  4058 toggle public String getId() {
495  4058 return id;
496    }
497   
498    /**
499    * Sets the value of the id property.
500    *
501    * @param value
502    * allowed object is
503    * {@link String }
504    *
505    */
 
506  1067 toggle public void setId(String value) {
507  1067 this.id = value;
508    }
509   
510    /**
511    * Gets the value of the scoreOnly property.
512    *
513    * @return
514    * possible object is
515    * {@link Boolean }
516    *
517    */
 
518  1174 toggle public boolean isScoreOnly() {
519  1174 if (scoreOnly == null) {
520  0 return false;
521    } else {
522  1174 return scoreOnly;
523    }
524    }
525   
526    /**
527    * Sets the value of the scoreOnly property.
528    *
529    * @param value
530    * allowed object is
531    * {@link Boolean }
532    *
533    */
 
534  745 toggle public void setScoreOnly(Boolean value) {
535  745 this.scoreOnly = value;
536    }
537   
538    /**
539    * Gets the value of the score property.
540    *
541    * @return
542    * possible object is
543    * {@link Double }
544    *
545    */
 
546  1313 toggle public Double getScore() {
547  1313 return score;
548    }
549   
550    /**
551    * Sets the value of the score property.
552    *
553    * @param value
554    * allowed object is
555    * {@link Double }
556    *
557    */
 
558  139 toggle public void setScore(Double value) {
559  139 this.score = value;
560    }
561   
562    /**
563    * Gets the value of the visible property.
564    *
565    * @return
566    * possible object is
567    * {@link Boolean }
568    *
569    */
 
570  2360 toggle public Boolean isVisible() {
571  2360 return visible;
572    }
573   
574    /**
575    * Sets the value of the visible property.
576    *
577    * @param value
578    * allowed object is
579    * {@link Boolean }
580    *
581    */
 
582  745 toggle public void setVisible(Boolean value) {
583  745 this.visible = value;
584    }
585   
586    /**
587    * Gets the value of the centreColLabels property.
588    *
589    * @return
590    * possible object is
591    * {@link Boolean }
592    *
593    */
 
594  2348 toggle public Boolean isCentreColLabels() {
595  2348 return centreColLabels;
596    }
597   
598    /**
599    * Sets the value of the centreColLabels property.
600    *
601    * @param value
602    * allowed object is
603    * {@link Boolean }
604    *
605    */
 
606  745 toggle public void setCentreColLabels(Boolean value) {
607  745 this.centreColLabels = value;
608    }
609   
610    /**
611    * Gets the value of the scaleColLabels property.
612    *
613    * @return
614    * possible object is
615    * {@link Boolean }
616    *
617    */
 
618  2348 toggle public Boolean isScaleColLabels() {
619  2348 return scaleColLabels;
620    }
621   
622    /**
623    * Sets the value of the scaleColLabels property.
624    *
625    * @param value
626    * allowed object is
627    * {@link Boolean }
628    *
629    */
 
630  745 toggle public void setScaleColLabels(Boolean value) {
631  745 this.scaleColLabels = value;
632    }
633   
634    /**
635    * Gets the value of the showAllColLabels property.
636    *
637    * @return
638    * possible object is
639    * {@link Boolean }
640    *
641    */
 
642  0 toggle public Boolean isShowAllColLabels() {
643  0 return showAllColLabels;
644    }
645   
646    /**
647    * Sets the value of the showAllColLabels property.
648    *
649    * @param value
650    * allowed object is
651    * {@link Boolean }
652    *
653    */
 
654  745 toggle public void setShowAllColLabels(Boolean value) {
655  745 this.showAllColLabels = value;
656    }
657   
658    /**
659    * is an autocalculated annotation row
660    *
661    * @return
662    * possible object is
663    * {@link Boolean }
664    *
665    */
 
666  2299 toggle public boolean isAutoCalculated() {
667  2299 if (autoCalculated == null) {
668  2056 return false;
669    } else {
670  243 return autoCalculated;
671    }
672    }
673   
674    /**
675    * Sets the value of the autoCalculated property.
676    *
677    * @param value
678    * allowed object is
679    * {@link Boolean }
680    *
681    * @see #isAutoCalculated()
682    */
 
683  195 toggle public void setAutoCalculated(Boolean value) {
684  195 this.autoCalculated = value;
685    }
686   
687    /**
688    * is to be shown below the alignment - introduced
689    * in Jalview 2.8 for visualizing T-COFFEE alignment scores
690    *
691    * @return
692    * possible object is
693    * {@link Boolean }
694    *
695    */
 
696  1174 toggle public boolean isBelowAlignment() {
697  1174 if (belowAlignment == null) {
698  144 return true;
699    } else {
700  1030 return belowAlignment;
701    }
702    }
703   
704    /**
705    * Sets the value of the belowAlignment property.
706    *
707    * @param value
708    * allowed object is
709    * {@link Boolean }
710    *
711    * @see #isBelowAlignment()
712    */
 
713  745 toggle public void setBelowAlignment(Boolean value) {
714  745 this.belowAlignment = value;
715    }
716   
717    /**
718    * Optional string identifier used to group sets of
719    * annotation produced by a particular calculation. Values are opaque
720    * strings but have semantic meaning to Jalview's renderer, data
721    * importer and calculation system.
722    *
723    * @return
724    * possible object is
725    * {@link String }
726    *
727    */
 
728  1174 toggle public String getCalcId() {
729  1174 return calcId;
730    }
731   
732    /**
733    * Sets the value of the calcId property.
734    *
735    * @param value
736    * allowed object is
737    * {@link String }
738    *
739    * @see #getCalcId()
740    */
 
741  721 toggle public void setCalcId(String value) {
742  721 this.calcId = value;
743    }
744   
745    /**
746    * Optional integer that stores the colour of the
747    * group to which the annotation belongs. The label of the
748    * annotation is highlighted with this colour.
749    *
750    * @return
751    * possible object is
752    * {@link Integer }
753    *
754    */
 
755  1216 toggle public Integer getAnnotationGroupColour() {
756  1216 return annotationGroupColour;
757    }
758   
759    /**
760    * Sets the value of the annotationGroupColour property.
761    *
762    * @param value
763    * allowed object is
764    * {@link Integer }
765    *
766    * @see #getAnnotationGroupColour()
767    */
 
768  26 toggle public void setAnnotationGroupColour(Integer value) {
769  26 this.annotationGroupColour = value;
770    }
771   
772   
773    /**
774    * <p>Java class for anonymous complex type</p>.
775    *
776    * <p>The following schema fragment specifies the expected content contained within this class.</p>
777    *
778    * <pre>
779    * &lt;complexType&gt;
780    * &lt;complexContent&gt;
781    * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
782    * &lt;attribute name="label" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
783    * &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float" /&gt;
784    * &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
785    * &lt;/restriction&gt;
786    * &lt;/complexContent&gt;
787    * &lt;/complexType&gt;
788    * </pre>
789    *
790    *
791    */
792    @XmlAccessorType(XmlAccessType.FIELD)
793    @XmlType(name = "")
 
794    public static class ThresholdLine {
795   
796    @XmlAttribute(name = "label")
797    protected String label;
798    @XmlAttribute(name = "value")
799    protected Float value;
800    @XmlAttribute(name = "colour")
801    protected Integer colour;
802   
803    /**
804    * Gets the value of the label property.
805    *
806    * @return
807    * possible object is
808    * {@link String }
809    *
810    */
 
811  0 toggle public String getLabel() {
812  0 return label;
813    }
814   
815    /**
816    * Sets the value of the label property.
817    *
818    * @param value
819    * allowed object is
820    * {@link String }
821    *
822    */
 
823  0 toggle public void setLabel(String value) {
824  0 this.label = value;
825    }
826   
827    /**
828    * Gets the value of the value property.
829    *
830    * @return
831    * possible object is
832    * {@link Float }
833    *
834    */
 
835  0 toggle public Float getValue() {
836  0 return value;
837    }
838   
839    /**
840    * Sets the value of the value property.
841    *
842    * @param value
843    * allowed object is
844    * {@link Float }
845    *
846    */
 
847  0 toggle public void setValue(Float value) {
848  0 this.value = value;
849    }
850   
851    /**
852    * Gets the value of the colour property.
853    *
854    * @return
855    * possible object is
856    * {@link Integer }
857    *
858    */
 
859  0 toggle public Integer getColour() {
860  0 return colour;
861    }
862   
863    /**
864    * Sets the value of the colour property.
865    *
866    * @param value
867    * allowed object is
868    * {@link Integer }
869    *
870    */
 
871  0 toggle public void setColour(Integer value) {
872  0 this.colour = value;
873    }
874   
875    }
876   
877    }