org.jfree.data.category

## Class DefaultCategoryDataset

- java.lang.Object
- - org.jfree.data.general.AbstractDataset
  - - org.jfree.data.category.DefaultCategoryDataset

All Implemented Interfaces:
  java.io.ObjectInputValidation, java.io.Serializable, java.lang.Cloneable, CategoryDataset, Dataset, KeyedValues2D, Values2D, org.jfree.util.PublicCloneable

Direct Known Subclasses:
  DefaultKeyedValues2DDataset, JDBCCategoryDataset

    public class DefaultCategoryDataset
    extends AbstractDataset
    implements CategoryDataset, org.jfree.util.PublicCloneable, java.io.Serializable

A default implementation of the `CategoryDataset` interface.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`DefaultCategoryDataset()` Creates a new (empty) dataset.

### Method Summary

Methods
`void` `addValue(double value, java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Adds a value to the table.
`void` `addValue(java.lang.Number value, java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Adds a value to the table.
`void` `clear()` Clears all data from the dataset and sends a `DatasetChangeEvent` to all registered listeners.
`java.lang.Object` `clone()` Returns a clone of the dataset.
`boolean` `equals(java.lang.Object obj)` Tests this dataset for equality with an arbitrary object.
`int` `getColumnCount()` Returns the number of columns in the table.
`int` `getColumnIndex(java.lang.Comparable key)` Returns the column index for a given key.
`java.lang.Comparable` `getColumnKey(int column)` Returns a column key.
`java.util.List` `getColumnKeys()` Returns the column keys.
`int` `getRowCount()` Returns the number of rows in the table.
`int` `getRowIndex(java.lang.Comparable key)` Returns the row index for a given key.
`java.lang.Comparable` `getRowKey(int row)` Returns the key for the specified row.
`java.util.List` `getRowKeys()` Returns the row keys.
`java.lang.Number` `getValue(java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Returns the value for a pair of keys.
`java.lang.Number` `getValue(int row, int column)` Returns a value from the table.
`int` `hashCode()` Returns a hash code for the dataset.
`void` `incrementValue(double value, java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Adds the specified value to an existing value in the dataset (if the existing value is `null`, it is treated as if it were 0.0).
`void` `removeColumn(java.lang.Comparable columnKey)` Removes a column from the dataset and sends a `DatasetChangeEvent` to all registered listeners.
`void` `removeColumn(int columnIndex)` Removes a column from the dataset and sends a `DatasetChangeEvent` to all registered listeners.
`void` `removeRow(java.lang.Comparable rowKey)` Removes a row from the dataset and sends a `DatasetChangeEvent` to all registered listeners.
`void` `removeRow(int rowIndex)` Removes a row from the dataset and sends a `DatasetChangeEvent` to all registered listeners.
`void` `removeValue(java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Removes a value from the dataset and sends a `DatasetChangeEvent` to all registered listeners.
`void` `setValue(double value, java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Adds or updates a value in the table and sends a `DatasetChangeEvent` to all registered listeners.
`void` `setValue(java.lang.Number value, java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Adds or updates a value in the table and sends a `DatasetChangeEvent` to all registered listeners.

### Methods inherited from class org.jfree.data.general.AbstractDataset

`addChangeListener, fireDatasetChanged, getGroup, hasListener, notifyListeners, removeChangeListener, setGroup, validateObject`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.jfree.data.general.Dataset

`addChangeListener, getGroup, removeChangeListener, setGroup`

### Constructor Detail

#### DefaultCategoryDataset

    public DefaultCategoryDataset()

Creates a new (empty) dataset.

### Method Detail

#### getRowCount

    public int getRowCount()

Returns the number of rows in the table.

Specified by:
  `getRowCount` in interface `Values2D`
Returns:
  The row count.
See Also:
  `getColumnCount()`

#### getColumnCount

    public int getColumnCount()

Returns the number of columns in the table.

Specified by:
  `getColumnCount` in interface `Values2D`
Returns:
  The column count.
See Also:
  `getRowCount()`

#### getValue

    public java.lang.Number getValue(int row,
                            int column)

Returns a value from the table.

Specified by:
  `getValue` in interface `Values2D`
Parameters:
  `row` - the row index (zero-based).
  `column` - the column index (zero-based).
Returns:
  The value (possibly `null`).
See Also:
  `addValue(Number, Comparable, Comparable)`, `removeValue(Comparable, Comparable)`

#### getRowKey

    public java.lang.Comparable getRowKey(int row)

Returns the key for the specified row.

Specified by:
  `getRowKey` in interface `KeyedValues2D`
Parameters:
  `row` - the row index (zero-based).
Returns:
  The row key.
See Also:
  `getRowIndex(Comparable)`, `getRowKeys()`, `getColumnKey(int)`

#### getRowIndex

    public int getRowIndex(java.lang.Comparable key)

Returns the row index for a given key.

Specified by:
  `getRowIndex` in interface `KeyedValues2D`
Parameters:
  `key` - the row key (`null` not permitted).
Returns:
  The row index.
See Also:
  `getRowKey(int)`

#### getRowKeys

    public java.util.List getRowKeys()

Returns the row keys.

Specified by:
  `getRowKeys` in interface `KeyedValues2D`
Returns:
  The keys.
See Also:
  `getRowKey(int)`

#### getColumnKey

    public java.lang.Comparable getColumnKey(int column)

Returns a column key.

Specified by:
  `getColumnKey` in interface `KeyedValues2D`
Parameters:
  `column` - the column index (zero-based).
Returns:
  The column key.
See Also:
  `getColumnIndex(Comparable)`

#### getColumnIndex

    public int getColumnIndex(java.lang.Comparable key)

Returns the column index for a given key.

Specified by:
  `getColumnIndex` in interface `KeyedValues2D`
Parameters:
  `key` - the column key (`null` not permitted).
Returns:
  The column index.
See Also:
  `getColumnKey(int)`

#### getColumnKeys

    public java.util.List getColumnKeys()

Returns the column keys.

Specified by:
  `getColumnKeys` in interface `KeyedValues2D`
Returns:
  The keys.
See Also:
  `getColumnKey(int)`

#### getValue

    public java.lang.Number getValue(java.lang.Comparable rowKey,
                            java.lang.Comparable columnKey)

Returns the value for a pair of keys.

Specified by:
  `getValue` in interface `KeyedValues2D`
Parameters:
  `rowKey` - the row key (`null` not permitted).
  `columnKey` - the column key (`null` not permitted).
Returns:
  The value (possibly `null`).
Throws:
  `UnknownKeyException` - if either key is not defined in the dataset.
See Also:
  `addValue(Number, 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().

Parameters:
  `value` - the value.
  `rowKey` - the row key.
  `columnKey` - the column key.
See Also:
  `getValue(Comparable, Comparable)`, `removeValue(Comparable, Comparable)`

#### addValue

    public void addValue(double value,
                java.lang.Comparable rowKey,
                java.lang.Comparable columnKey)

Adds a value to the table.

Parameters:
  `value` - the value.
  `rowKey` - the row key.
  `columnKey` - the column key.
See Also:
  `getValue(Comparable, Comparable)`

#### setValue

    public void setValue(java.lang.Number value,
                java.lang.Comparable rowKey,
                java.lang.Comparable columnKey)

Adds or updates a value in the table and sends a `DatasetChangeEvent` to all registered listeners.

Parameters:
  `value` - the value (`null` permitted).
  `rowKey` - the row key (`null` not permitted).
  `columnKey` - the column key (`null` not permitted).
See Also:
  `getValue(Comparable, Comparable)`

#### setValue

    public void setValue(double value,
                java.lang.Comparable rowKey,
                java.lang.Comparable columnKey)

Adds or updates a value in the table and sends a `DatasetChangeEvent` to all registered listeners.

Parameters:
  `value` - the value.
  `rowKey` - the row key (`null` not permitted).
  `columnKey` - the column key (`null` not permitted).
See Also:
  `getValue(Comparable, Comparable)`

#### incrementValue

    public void incrementValue(double value,
                      java.lang.Comparable rowKey,
                      java.lang.Comparable columnKey)

Adds the specified value to an existing value in the dataset (if the existing value is `null`, it is treated as if it were 0.0).

Parameters:
  `value` - the value.
  `rowKey` - the row key (`null` not permitted).
  `columnKey` - the column key (`null` not permitted).
Throws:
  `UnknownKeyException` - if either key is not defined in the dataset.

#### removeValue

    public void removeValue(java.lang.Comparable rowKey,
                   java.lang.Comparable columnKey)

Removes a value from the dataset and sends a `DatasetChangeEvent` to all registered listeners.

Parameters:
  `rowKey` - the row key.
  `columnKey` - the column key.
See Also:
  `addValue(Number, Comparable, Comparable)`

#### removeRow

    public void removeRow(int rowIndex)

Removes a row from the dataset and sends a `DatasetChangeEvent` to all registered listeners.

Parameters:
  `rowIndex` - the row index.
See Also:
  `removeColumn(int)`

#### removeRow

    public void removeRow(java.lang.Comparable rowKey)

Removes a row from the dataset and sends a `DatasetChangeEvent` to all registered listeners.

Parameters:
  `rowKey` - the row key.
See Also:
  `removeColumn(Comparable)`

#### removeColumn

    public void removeColumn(int columnIndex)

Removes a column from the dataset and sends a `DatasetChangeEvent` to all registered listeners.

Parameters:
  `columnIndex` - the column index.
See Also:
  `removeRow(int)`

#### removeColumn

    public void removeColumn(java.lang.Comparable columnKey)

Removes a column from the dataset and sends a `DatasetChangeEvent` to all registered listeners.

Parameters:
  `columnKey` - the column key (`null` not permitted).
Throws:
  `UnknownKeyException` - if `columnKey` is not defined in the dataset.
See Also:
  `removeRow(Comparable)`

#### clear

    public void clear()

Clears all data from the dataset and sends a `DatasetChangeEvent` to all registered listeners.

#### equals

    public boolean equals(java.lang.Object obj)

Tests this dataset for equality with an arbitrary object.

Overrides:
  `equals` in class `java.lang.Object`
Parameters:
  `obj` - the object (`null` permitted).
Returns:
  A boolean.

#### hashCode

    public int hashCode()

Returns a hash code for the dataset.

Overrides:
  `hashCode` in class `java.lang.Object`
Returns:
  A hash code.

#### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

Returns a clone of the dataset.

Specified by:
  `clone` in interface `org.jfree.util.PublicCloneable`
Overrides:
  `clone` in class `AbstractDataset`
Returns:
  A clone.
Throws:
  `java.lang.CloneNotSupportedException` - if there is a problem cloning the dataset.