KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > prefuse > data > column > ConstantColumn


1 package prefuse.data.column;
2
3 import prefuse.data.DataTypeException;
4 import prefuse.data.event.ColumnListener;
5
6 /**
7  * Column implementation holding a single, constant value for all rows.
8  *
9  * @author <a HREF="http://jheer.org">jeffrey heer</a>
10  */

11 public class ConstantColumn extends AbstractColumn {
12
13     private int m_size;
14
15     /**
16      * Create a new ConstantColumn.
17      * @param type the data type of this column
18      * @param defaultValue the default value used for all rows
19      */

20     public ConstantColumn(Class JavaDoc type, Object JavaDoc defaultValue) {
21         super(type, defaultValue);
22     }
23     
24     /**
25      * @see prefuse.data.column.Column#getRowCount()
26      */

27     public int getRowCount() {
28         return m_size+1;
29     }
30
31     /**
32      * @see prefuse.data.column.Column#setMaximumRow(int)
33      */

34     public void setMaximumRow(int nrows) {
35         m_size = nrows;
36     }
37
38     /**
39      * @see prefuse.data.column.Column#get(int)
40      */

41     public Object JavaDoc get(int row) {
42         if ( row < 0 || row > m_size ) {
43             throw new IllegalArgumentException JavaDoc("Row index out of bounds: "+row);
44         }
45         return super.m_defaultValue;
46     }
47
48     /**
49      * Unsupported operation.
50      * @see prefuse.data.column.Column#set(java.lang.Object, int)
51      */

52     public void set(Object JavaDoc val, int row) throws DataTypeException {
53         throw new UnsupportedOperationException JavaDoc(
54                 "Can't set values on a ConstantColumn");
55     }
56
57     /**
58      * Returns false.
59      * @see prefuse.data.column.Column#canSet(java.lang.Class)
60      */

61     public boolean canSet(Class JavaDoc type) {
62         return false;
63     }
64     
65     /**
66      * Does nothing.
67      * @see prefuse.data.column.Column#addColumnListener(prefuse.data.event.ColumnListener)
68      */

69     public void addColumnListener(ColumnListener listener) {
70         return; // column can't change, so nothing to listen to
71
}
72
73     /**
74      * Does nothing.
75      * @see prefuse.data.column.Column#removeColumnListener(prefuse.data.event.ColumnListener)
76      */

77     public void removeColumnListener(ColumnListener listener) {
78         return; // column can't change, so nothing to listen to
79
}
80     
81 } // end of class Constant Column
82
Popular Tags