Skip to content

Commit c567318

Browse files
committed
add class for string-indexed tables
1 parent 6417ff1 commit c567318

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package org.jlab.detector.calib.utils;
2+
3+
import java.util.Map;
4+
import java.util.List;
5+
import java.util.LinkedHashMap;
6+
import org.jlab.ccdb.Assignment;
7+
import org.jlab.ccdb.TypeTableColumn;
8+
import javax.swing.table.DefaultTableModel;
9+
10+
public class StringIndexedTable extends DefaultTableModel {
11+
12+
private final Map<String, Integer> keyrows = new LinkedHashMap<>();
13+
private Assignment assignment = null;
14+
15+
public StringIndexedTable(Assignment a) {
16+
List<TypeTableColumn> t = a.getTypeTable().getColumns();
17+
for (int i=0; i<a.getRowCount(); ++i)
18+
keyrows.put(a.getColumnValuesString(t.get(0).getName()).get(i), i);
19+
assignment = a;
20+
}
21+
22+
public String getValueString(String key, String varname) {
23+
return assignment.getColumnValuesString(varname).get(keyrows.get(key));
24+
}
25+
26+
public float getValueFloat(String key, String varname) {
27+
return Float.parseFloat(getValueString(key, varname));
28+
}
29+
30+
public int getValueInt(String key, String varname) {
31+
return Integer.parseInt(getValueString(key, varname));
32+
}
33+
34+
}

0 commit comments

Comments
 (0)