Formatting changes
[jalview.git] / src / jalview / datamodel / HistoryItem.java
1 /*\r
2 * Jalview - A Sequence Alignment Editor and Viewer\r
3 * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
4 *\r
5 * This program is free software; you can redistribute it and/or\r
6 * modify it under the terms of the GNU General Public License\r
7 * as published by the Free Software Foundation; either version 2\r
8 * of the License, or (at your option) any later version.\r
9 *\r
10 * This program is distributed in the hope that it will be useful,\r
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 * GNU General Public License for more details.\r
14 *\r
15 * You should have received a copy of the GNU General Public License\r
16 * along with this program; if not, write to the Free Software\r
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
18 */\r
19 package jalview.datamodel;\r
20 \r
21 import java.util.*;\r
22 \r
23 \r
24 /**\r
25  * DOCUMENT ME!\r
26  *\r
27  * @author $author$\r
28  * @version $Revision$\r
29  */\r
30 public class HistoryItem\r
31 {\r
32     /** DOCUMENT ME!! */\r
33     public static final int EDIT = 0;\r
34 \r
35     /** DOCUMENT ME!! */\r
36     public static final int SORT = 1;\r
37 \r
38     /** DOCUMENT ME!! */\r
39     public static final int HIDE = 2;\r
40 \r
41     /** DOCUMENT ME!! */\r
42     public static final int PASTE = 3;\r
43     final int type;\r
44     Vector sequences;\r
45     Vector alignIndex;\r
46     String description;\r
47     Vector hiddenSeqs;\r
48 \r
49     /**\r
50      * Creates a new HistoryItem object.\r
51      *\r
52      * @param description DOCUMENT ME!\r
53      * @param al DOCUMENT ME!\r
54      * @param type DOCUMENT ME!\r
55      */\r
56     public HistoryItem(String description, AlignmentI al, int type)\r
57     {\r
58         this.type = type;\r
59         this.description = description;\r
60         sequences = new Vector();\r
61         alignIndex = new Vector();\r
62         hiddenSeqs = new Vector();\r
63 \r
64         for (int i = 0; i < al.getHeight(); i++)\r
65         {\r
66             SequenceI seq = al.getSequenceAt(i);\r
67             sequences.addElement(seq);\r
68             alignIndex.addElement(i + "");\r
69             hiddenSeqs.addElement(seq.getSequence().toString());\r
70         }\r
71     }\r
72 \r
73     /**\r
74      * DOCUMENT ME!\r
75      *\r
76      * @return DOCUMENT ME!\r
77      */\r
78     public int getType()\r
79     {\r
80         return type;\r
81     }\r
82 \r
83     /**\r
84      * DOCUMENT ME!\r
85      *\r
86      * @return DOCUMENT ME!\r
87      */\r
88     public Vector getSequences()\r
89     {\r
90         return sequences;\r
91     }\r
92 \r
93     /**\r
94      * DOCUMENT ME!\r
95      *\r
96      * @return DOCUMENT ME!\r
97      */\r
98     public String getDescription()\r
99     {\r
100         return description;\r
101     }\r
102 \r
103     /**\r
104      * DOCUMENT ME!\r
105      *\r
106      * @return DOCUMENT ME!\r
107      */\r
108     public Vector getHidden()\r
109     {\r
110         return hiddenSeqs;\r
111     }\r
112 \r
113     /**\r
114      * DOCUMENT ME!\r
115      *\r
116      * @param seq DOCUMENT ME!\r
117      *\r
118      * @return DOCUMENT ME!\r
119      */\r
120     public int getAlignIndex(int seq)\r
121     {\r
122         return Integer.parseInt(alignIndex.elementAt(seq).toString());\r
123     }\r
124 }\r