Package org.jfree.data
Class DefaultKeyedValues2D
- java.lang.Object
-
- org.jfree.data.DefaultKeyedValues2D
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,PublicCloneable
,KeyedValues2D
,Values2D
public class DefaultKeyedValues2D extends java.lang.Object implements KeyedValues2D, PublicCloneable, java.lang.Cloneable, java.io.Serializable
A data structure that stores zero, one or many values, where each value is associated with two keys (a 'row' key and a 'column' key). The keys should be (a) instances ofComparable
and (b) immutable.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List
columnKeys
The column keys.private java.util.List
rowKeys
The row keys.private java.util.List
rows
The row data.private static long
serialVersionUID
For serialization.private boolean
sortRowKeys
If the row keys should be sorted by their comparable order.
-
Constructor Summary
Constructors Constructor Description DefaultKeyedValues2D()
Creates a new instance (initially empty).DefaultKeyedValues2D(boolean sortRowKeys)
Creates a new instance (initially empty).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addValue(java.lang.Number value, java.lang.Comparable rowKey, java.lang.Comparable columnKey)
Adds a value to the table.void
clear()
Clears all the data and associated keys.java.lang.Object
clone()
Returns a clone.boolean
equals(java.lang.Object o)
Tests if this object is equal to another.int
getColumnCount()
Returns the column count.int
getColumnIndex(java.lang.Comparable key)
Returns the column index for a given key.java.lang.Comparable
getColumnKey(int column)
Returns the key for a given column.java.util.List
getColumnKeys()
Returns the column keys in an unmodifiable list.int
getRowCount()
Returns the row count.int
getRowIndex(java.lang.Comparable key)
Returns the row index for a given key.java.lang.Comparable
getRowKey(int row)
Returns the key for a given row.java.util.List
getRowKeys()
Returns the row keys in an unmodifiable list.java.lang.Number
getValue(int row, int column)
Returns the value for a given row and column.java.lang.Number
getValue(java.lang.Comparable rowKey, java.lang.Comparable columnKey)
Returns the value for the given row and column keys.int
hashCode()
Returns a hash code.void
removeColumn(int columnIndex)
Removes a column.void
removeColumn(java.lang.Comparable columnKey)
Removes a column from the table.void
removeRow(int rowIndex)
Removes a row.void
removeRow(java.lang.Comparable rowKey)
Removes a row from the table.void
removeValue(java.lang.Comparable rowKey, java.lang.Comparable columnKey)
Removes a value from the table by setting it tonull
.void
setValue(java.lang.Number value, java.lang.Comparable rowKey, java.lang.Comparable columnKey)
Adds or updates a value.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
For serialization.- See Also:
- Constant Field Values
-
rowKeys
private java.util.List rowKeys
The row keys.
-
columnKeys
private java.util.List columnKeys
The column keys.
-
rows
private java.util.List rows
The row data.
-
sortRowKeys
private final boolean sortRowKeys
If the row keys should be sorted by their comparable order.
-
-
Method Detail
-
getRowCount
public int getRowCount()
Returns the row count.- Specified by:
getRowCount
in interfaceValues2D
- Returns:
- The row count.
- See Also:
getColumnCount()
-
getColumnCount
public int getColumnCount()
Returns the column count.- Specified by:
getColumnCount
in interfaceValues2D
- Returns:
- The column count.
- See Also:
getRowCount()
-
getValue
public java.lang.Number getValue(int row, int column)
Returns the value for a given row and column.- Specified by:
getValue
in interfaceValues2D
- Parameters:
row
- the row index.column
- the column index.- Returns:
- The value.
- See Also:
getValue(Comparable, Comparable)
-
getRowKey
public java.lang.Comparable getRowKey(int row)
Returns the key for a given row.- Specified by:
getRowKey
in interfaceKeyedValues2D
- Parameters:
row
- the row index (in the range 0 togetRowCount()
- 1).- Returns:
- The row key.
- See Also:
getRowIndex(Comparable)
,getColumnKey(int)
-
getRowIndex
public int getRowIndex(java.lang.Comparable key)
Returns the row index for a given key.- Specified by:
getRowIndex
in interfaceKeyedValues2D
- Parameters:
key
- the key (null
not permitted).- Returns:
- The row index.
- See Also:
getRowKey(int)
,getColumnIndex(Comparable)
-
getRowKeys
public java.util.List getRowKeys()
Returns the row keys in an unmodifiable list.- Specified by:
getRowKeys
in interfaceKeyedValues2D
- Returns:
- The row keys.
- See Also:
getColumnKeys()
-
getColumnKey
public java.lang.Comparable getColumnKey(int column)
Returns the key for a given column.- Specified by:
getColumnKey
in interfaceKeyedValues2D
- Parameters:
column
- the column (in the range 0 togetColumnCount()
- 1).- Returns:
- The key.
- See Also:
getColumnIndex(Comparable)
,getRowKey(int)
-
getColumnIndex
public int getColumnIndex(java.lang.Comparable key)
Returns the column index for a given key.- Specified by:
getColumnIndex
in interfaceKeyedValues2D
- Parameters:
key
- the key (null
not permitted).- Returns:
- The column index.
- See Also:
getColumnKey(int)
,getRowIndex(Comparable)
-
getColumnKeys
public java.util.List getColumnKeys()
Returns the column keys in an unmodifiable list.- Specified by:
getColumnKeys
in interfaceKeyedValues2D
- Returns:
- The column keys.
- See Also:
getRowKeys()
-
getValue
public java.lang.Number getValue(java.lang.Comparable rowKey, java.lang.Comparable columnKey)
Returns the value for the given row and column keys. This method will throw anUnknownKeyException
if either key is not defined in the data structure.- Specified by:
getValue
in interfaceKeyedValues2D
- Parameters:
rowKey
- the row key (null
not permitted).columnKey
- the column key (null
not permitted).- Returns:
- The value (possibly
null
). - See Also:
addValue(Number, Comparable, Comparable)
,removeValue(Comparable, Comparable)
-
addValue
public void addValue(java.lang.Number value, java.lang.Comparable rowKey, java.lang.Comparable columnKey)
Adds a value to the table. Performs the same function as #setValue(Number, Comparable, Comparable).- Parameters:
value
- the value (null
permitted).rowKey
- the row key (null
not permitted).columnKey
- the column key (null
not permitted).- See Also:
setValue(Number, Comparable, Comparable)
,removeValue(Comparable, Comparable)
-
setValue
public void setValue(java.lang.Number value, java.lang.Comparable rowKey, java.lang.Comparable columnKey)
Adds or updates a value.- Parameters:
value
- the value (null
permitted).rowKey
- the row key (null
not permitted).columnKey
- the column key (null
not permitted).- See Also:
addValue(Number, Comparable, Comparable)
,removeValue(Comparable, Comparable)
-
removeValue
public void removeValue(java.lang.Comparable rowKey, java.lang.Comparable columnKey)
Removes a value from the table by setting it tonull
. If all the values in the specified row and/or column are nownull
, the row and/or column is removed from the table.- Parameters:
rowKey
- the row key (null
not permitted).columnKey
- the column key (null
not permitted).- See Also:
addValue(Number, Comparable, Comparable)
-
removeRow
public void removeRow(int rowIndex)
Removes a row.- Parameters:
rowIndex
- the row index.- See Also:
removeRow(Comparable)
,removeColumn(int)
-
removeRow
public void removeRow(java.lang.Comparable rowKey)
Removes a row from the table.- Parameters:
rowKey
- the row key (null
not permitted).- Throws:
UnknownKeyException
- ifrowKey
is not defined in the table.- See Also:
removeRow(int)
,removeColumn(Comparable)
-
removeColumn
public void removeColumn(int columnIndex)
Removes a column.- Parameters:
columnIndex
- the column index.- See Also:
removeColumn(Comparable)
,removeRow(int)
-
removeColumn
public void removeColumn(java.lang.Comparable columnKey)
Removes a column from the table.- Parameters:
columnKey
- the column key (null
not permitted).- Throws:
UnknownKeyException
- if the table does not contain a column with the specified key.java.lang.IllegalArgumentException
- ifcolumnKey
isnull
.- See Also:
removeColumn(int)
,removeRow(Comparable)
-
clear
public void clear()
Clears all the data and associated keys.
-
equals
public boolean equals(java.lang.Object o)
Tests if this object is equal to another.- Overrides:
equals
in classjava.lang.Object
- Parameters:
o
- the other object (null
permitted).- Returns:
- A boolean.
-
hashCode
public int hashCode()
Returns a hash code.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- A hash code.
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
Returns a clone.- Specified by:
clone
in interfacePublicCloneable
- Overrides:
clone
in classjava.lang.Object
- Returns:
- A clone.
- Throws:
java.lang.CloneNotSupportedException
- this class will not throw this exception, but subclasses (if any) might.
-
-