View Javadoc

1   package at.meikel.dmrl.server.xlsreader;
2   
3   import java.util.Collections;
4   import java.util.Hashtable;
5   import java.util.SortedSet;
6   import java.util.TreeSet;
7   import java.util.Vector;
8   
9   public class Row {
10  
11  	private Hashtable<Integer, Object> columns = new Hashtable<Integer, Object>();
12  	private StringBuilder toString = new StringBuilder();
13  	private String asString = null;
14  
15  	public void setColumnValue(int columnIndex, Object value) {
16  		columns.put(new Integer(columnIndex), value);
17  		if (value != null) {
18  			if (toString.length() > 0) {
19  				toString.append(";");
20  			}
21  			toString.append(value);
22  		}
23  	}
24  
25  	public int getMinColumnIndex() {
26  		return Collections.min(columns.keySet());
27  	}
28  
29  	public int getMaxColumnIndex() {
30  		return Collections.max(columns.keySet());
31  	}
32  
33  	public SortedSet<Integer> getColomnIndices() {
34  		return new TreeSet<Integer>(columns.keySet());
35  	}
36  
37  	public Object getColumnValue(int columnIndex) {
38  		return columns.get(new Integer(columnIndex));
39  	}
40  
41  	public Object getNthColumnValue(int columnIndex) {
42  		Vector<Integer> keys = new Vector<Integer>(columns.keySet());
43  		if (keys.isEmpty()) {
44  			return null;
45  		}
46  
47  		if (columnIndex >= keys.size()) {
48  			return null;
49  		}
50  
51  		Collections.sort(keys);
52  		return columns.get(keys.get(columnIndex));
53  	}
54  
55  	@Override
56  	public String toString() {
57  		if (asString == null) {
58  			toString.insert(0, "[Row (");
59  			toString.append(")]");
60  			asString = toString.toString();
61  		}
62  		return asString;
63  	}
64  
65  }