JAL-1912 refactor annotation refsequence assignemnt mechanism
[jalview.git] / src / jalview / json / binding / biojson / v1 / AlignmentAnnotationPojo.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ 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.json.binding.biojson.v1;
22
23 import java.util.ArrayList;
24 import java.util.List;
25
26 import com.github.reinert.jjschema.Attributes;
27
28 public class AlignmentAnnotationPojo
29 {
30
31   @Attributes(
32     required = false,
33     description = "Label for the Alignment Annotation")
34   private String label;
35
36   @Attributes(
37     required = false,
38     description = "Description for the Alignment Annotation")
39   private String description;
40
41   @Attributes(required = false)
42   private List<AnnotationPojo> annotations = new ArrayList<AnnotationPojo>();
43
44   @Attributes(
45     required = false,
46     enums = { "0", "1", "2" },
47     description = "Determines the rendered for the annotation<br><ul><li>0 - No graph</li><li>1 - Bar Graph</li><li>2 - Line graph</li></ul>")
48   private int graphType;
49
50   @Attributes(
51     required = false,
52     description = "Reference to the sequence in the alignment<br> if per-sequence annotation")
53   private String sequenceRef;
54
55   @Attributes(
56     required = false,
57     description = "Stores display settings for an annotation")
58   private AnnotationDisplaySettingPojo annotationSettings;
59
60   @Attributes(required = false, description = "Score of the annotation")
61   private double score;
62
63   private String calcId;
64
65   public String getLabel()
66   {
67     return label;
68   }
69
70   public void setLabel(String label)
71   {
72     this.label = label;
73   }
74
75   public String getDescription()
76   {
77     return description;
78   }
79
80   public void setDescription(String annotationId)
81   {
82     this.description = annotationId;
83   }
84
85   public List<AnnotationPojo> getAnnotations()
86   {
87     return annotations;
88   }
89
90   public void setAnnotations(List<AnnotationPojo> annotations)
91   {
92     this.annotations = annotations;
93   }
94
95   public String getSequenceRef()
96   {
97     return sequenceRef;
98   }
99
100   public void setSequenceRef(String sequenceRef)
101   {
102     this.sequenceRef = sequenceRef;
103   }
104
105   public int getGraphType()
106   {
107     return graphType;
108   }
109
110   public void setGraphType(int graphType)
111   {
112     this.graphType = graphType;
113   }
114
115   public AnnotationDisplaySettingPojo getAnnotationSettings()
116   {
117     return annotationSettings;
118   }
119
120   public void setAnnotationSettings(
121           AnnotationDisplaySettingPojo annotationSettings)
122   {
123     this.annotationSettings = annotationSettings;
124   }
125
126   public double getScore()
127   {
128     return score;
129   }
130
131   public void setScore(double score)
132   {
133     this.score = score;
134   }
135
136   public String getCalcId()
137   {
138     return calcId;
139   }
140
141   public void setCalcId(String calcId)
142   {
143     this.calcId = calcId;
144   }
145
146 }