allow an alignment annotation row to be removed and re-inserted without losing any...
[jalview.git] / src / jalview / datamodel / xdb / embl / Qualifier.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
3  * Copyright (C) 2010 J Procter, AM Waterhouse, 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.datamodel.xdb.embl;
19
20 public class Qualifier
21 {
22   String name;
23
24   String[] values;
25
26   String[] evidence;
27
28   /**
29    * @return the name
30    */
31   public String getName()
32   {
33     return name;
34   }
35
36   /**
37    * @param name
38    *          the name to set
39    */
40   public void setName(String name)
41   {
42     this.name = name;
43   }
44
45   /**
46    * @return the values
47    */
48   public String[] getValues()
49   {
50     return values;
51   }
52
53   /**
54    * @param values
55    *          the values to set
56    */
57   public void setValues(String[] values)
58   {
59     this.values = values;
60   }
61
62   public void addEvidence(String qevidence)
63   {
64     if (evidence == null)
65     {
66       evidence = new String[1];
67     }
68     else
69     {
70       String[] temp = new String[evidence.length + 1];
71       System.arraycopy(evidence, 0, temp, 0, evidence.length);
72       evidence = temp;
73     }
74     evidence[evidence.length - 1] = qevidence;
75   }
76
77   public void addValues(String value)
78   {
79     if (values == null)
80     {
81       values = new String[1];
82     }
83     else
84     {
85       String[] temp = new String[values.length + 1];
86       System.arraycopy(values, 0, temp, 0, values.length);
87       values = temp;
88     }
89     values[values.length - 1] = value;
90   }
91
92   /**
93    * @return the evidence
94    */
95   public String[] getEvidence()
96   {
97     return evidence;
98   }
99
100   /**
101    * @param evidence
102    *          the evidence to set
103    */
104   public void setEvidence(String[] evidence)
105   {
106     this.evidence = evidence;
107   }
108 }