org.jfree.data.statistics

## Class DefaultMultiValueCategoryDataset

- java.lang.Object
- - org.jfree.data.general.AbstractDataset
  - - org.jfree.data.statistics.DefaultMultiValueCategoryDataset

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

    public class DefaultMultiValueCategoryDataset
    extends AbstractDataset
    implements MultiValueCategoryDataset, RangeInfo, org.jfree.util.PublicCloneable

A category dataset that defines multiple values for each item.

Since:
  1.0.7
See Also:
  Serialized Form

### Field Summary

Fields
`protected KeyedObjects2D` `data` Storage for the data.

### Constructor Summary

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

### Method Summary

Methods
`void` `add(java.util.List values, java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Adds a list of values to the dataset (`null` and Double.NaN items are automatically removed) and sends a `DatasetChangeEvent` to all registered listeners.
`java.lang.Object` `clone()` Returns a clone of this instance.
`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.
`Range` `getRangeBounds(boolean includeInterval)` Returns the range of the values in this dataset's range.
`double` `getRangeLowerBound(boolean includeInterval)` Returns the minimum y-value in the dataset.
`double` `getRangeUpperBound(boolean includeInterval)` Returns the maximum y-value in the dataset.
`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 a row key.
`java.util.List` `getRowKeys()` Returns the row keys.
`java.lang.Number` `getValue(java.lang.Comparable row, java.lang.Comparable column)` Returns the average value for the specified item.
`java.lang.Number` `getValue(int row, int column)` Returns the average value for the specified item.
`java.util.List` `getValues(java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Returns a list (possibly empty) of the values for the specified item.
`java.util.List` `getValues(int row, int column)` Returns a list (possibly empty) of the values for the specified item.

### 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, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

`addChangeListener, getGroup, removeChangeListener, setGroup`

### Field Detail

#### data

    protected KeyedObjects2D data

Storage for the data.

### Constructor Detail

#### DefaultMultiValueCategoryDataset

    public DefaultMultiValueCategoryDataset()

Creates a new dataset.

### Method Detail

#### add

    public void add(java.util.List values,
           java.lang.Comparable rowKey,
           java.lang.Comparable columnKey)

Adds a list of values to the dataset (`null` and Double.NaN items are automatically removed) and sends a `DatasetChangeEvent` to all registered listeners.

Parameters:
  `values` - a list of values (`null` not permitted).
  `rowKey` - the row key (`null` not permitted).
  `columnKey` - the column key (`null` not permitted).

#### getValues

    public java.util.List getValues(int row,
                           int column)

Returns a list (possibly empty) of the values for the specified item. The returned list should be unmodifiable.

Specified by:
  `getValues` in interface `MultiValueCategoryDataset`
Parameters:
  `row` - the row index (zero-based).
  `column` - the column index (zero-based).
Returns:
  The list of values.

#### getValues

    public java.util.List getValues(java.lang.Comparable rowKey,
                           java.lang.Comparable columnKey)

Returns a list (possibly empty) of the values for the specified item. The returned list should be unmodifiable.

Specified by:
  `getValues` in interface `MultiValueCategoryDataset`
Parameters:
  `rowKey` - the row key (`null` not permitted).
  `columnKey` - the column key (`null` not permitted).
Returns:
  The list of values.

#### getValue

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

Returns the average value for the specified item.

Specified by:
  `getValue` in interface `KeyedValues2D`
Parameters:
  `row` - the row key.
  `column` - the column key.
Returns:
  The average value.

#### getValue

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

Returns the average value for the specified item.

Specified by:
  `getValue` in interface `Values2D`
Parameters:
  `row` - the row index.
  `column` - the column index.
Returns:
  The average value.

#### 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.
Returns:
  The column index.

#### 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.

#### getColumnKeys

    public java.util.List getColumnKeys()

Returns the column keys.

Specified by:
  `getColumnKeys` in interface `KeyedValues2D`
Returns:
  The keys.

#### 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.
Returns:
  The row index.

#### getRowKey

    public java.lang.Comparable getRowKey(int row)

Returns a row key.

Specified by:
  `getRowKey` in interface `KeyedValues2D`
Parameters:
  `row` - the row index (zero-based).
Returns:
  The row key.

#### getRowKeys

    public java.util.List getRowKeys()

Returns the row keys.

Specified by:
  `getRowKeys` in interface `KeyedValues2D`
Returns:
  The keys.

#### getRowCount

    public int getRowCount()

Returns the number of rows in the table.

Specified by:
  `getRowCount` in interface `Values2D`
Returns:
  The row count.

#### getColumnCount

    public int getColumnCount()

Returns the number of columns in the table.

Specified by:
  `getColumnCount` in interface `Values2D`
Returns:
  The column count.

#### getRangeLowerBound

    public double getRangeLowerBound(boolean includeInterval)

Returns the minimum y-value in the dataset.

Specified by:
  `getRangeLowerBound` in interface `RangeInfo`
Parameters:
  `includeInterval` - a flag that determines whether or not the y-interval is taken into account.
Returns:
  The minimum value.

#### getRangeUpperBound

    public double getRangeUpperBound(boolean includeInterval)

Returns the maximum y-value in the dataset.

Specified by:
  `getRangeUpperBound` in interface `RangeInfo`
Parameters:
  `includeInterval` - a flag that determines whether or not the y-interval is taken into account.
Returns:
  The maximum value.

#### getRangeBounds

    public Range getRangeBounds(boolean includeInterval)

Returns the range of the values in this dataset's range.

Specified by:
  `getRangeBounds` in interface `RangeInfo`
Parameters:
  `includeInterval` - a flag that determines whether or not the y-interval is taken into account.
Returns:
  The range.

#### 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.

#### clone

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

Returns a clone of this instance.

Specified by:
  `clone` in interface `org.jfree.util.PublicCloneable`
Overrides:
  `clone` in class `AbstractDataset`
Returns:
  A clone.
Throws:
  `java.lang.CloneNotSupportedException` - if the dataset cannot be cloned.