org.jfree.data.category

## Class CategoryToPieDataset

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

All Implemented Interfaces:
  java.io.ObjectInputValidation, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, Dataset, DatasetChangeListener, PieDataset, KeyedValues, Values

    public class CategoryToPieDataset
    extends AbstractDataset
    implements PieDataset, DatasetChangeListener

A `PieDataset` implementation that obtains its data from one row or column of a `CategoryDataset`.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`CategoryToPieDataset(CategoryDataset source, org.jfree.util.TableOrder extract, int index)` An adaptor class that converts any `CategoryDataset` into a `PieDataset`, by taking the values from a single row or column.

### Method Summary

Methods
`void` `datasetChanged(DatasetChangeEvent event)` Sends a `DatasetChangeEvent` to all registered listeners, with this (not the underlying) dataset as the source.
`boolean` `equals(java.lang.Object obj)` Tests this dataset for equality with an arbitrary object, returning `true` if `obj` is a dataset containing the same keys and values in the same order as this dataset.
`int` `getExtractIndex()` Returns the index of the row or column from which to extract the data.
`org.jfree.util.TableOrder` `getExtractType()` Returns the extract type, which determines whether data is read from one row or one column of the underlying dataset.
`int` `getIndex(java.lang.Comparable key)` Returns the index for a given key, or `-1` if there is no such key.
`int` `getItemCount()` Returns the number of items (values) in the collection.
`java.lang.Comparable` `getKey(int index)` Returns the key at the specified index.
`java.util.List` `getKeys()` Returns the keys for the dataset.
`CategoryDataset` `getUnderlyingDataset()` Returns the underlying dataset.
`java.lang.Number` `getValue(java.lang.Comparable key)` Returns the value for a given key.
`java.lang.Number` `getValue(int item)` Returns a value from the dataset.

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

`addChangeListener, clone, 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`

### Constructor Detail

#### CategoryToPieDataset

    public CategoryToPieDataset(CategoryDataset source,
                        org.jfree.util.TableOrder extract,
                        int index)

An adaptor class that converts any `CategoryDataset` into a `PieDataset`, by taking the values from a single row or column.

If `source` is `null`, the created dataset will be empty.

Parameters:
  `source` - the source dataset (`null` permitted).
  `extract` - extract data from rows or columns? (`null` not permitted).
  `index` - the row or column index.

### Method Detail

#### getUnderlyingDataset

    public CategoryDataset getUnderlyingDataset()

Returns the underlying dataset.

Returns:
  The underlying dataset (possibly `null`).
Since:
  1.0.2

#### getExtractType

    public org.jfree.util.TableOrder getExtractType()

Returns the extract type, which determines whether data is read from one row or one column of the underlying dataset.

Returns:
  The extract type.
Since:
  1.0.2

#### getExtractIndex

    public int getExtractIndex()

Returns the index of the row or column from which to extract the data.

Returns:
  The extract index.
Since:
  1.0.2

#### getItemCount

    public int getItemCount()

Returns the number of items (values) in the collection. If the underlying dataset is `null`, this method returns zero.

Specified by:
  `getItemCount` in interface `Values`
Returns:
  The item count.

#### getValue

    public java.lang.Number getValue(int item)

Returns a value from the dataset.

Specified by:
  `getValue` in interface `Values`
Parameters:
  `item` - the item index (zero-based).
Returns:
  The value (possibly `null`).
Throws:
  `java.lang.IndexOutOfBoundsException` - if `item` is not in the range `0` to `getItemCount() - 1`.

#### getKey

    public java.lang.Comparable getKey(int index)

Returns the key at the specified index.

Specified by:
  `getKey` in interface `KeyedValues`
Parameters:
  `index` - the item index (in the range `0` to `getItemCount() - 1`).
Returns:
  The key.
Throws:
  `java.lang.IndexOutOfBoundsException` - if `index` is not in the specified range.

#### getIndex

    public int getIndex(java.lang.Comparable key)

Returns the index for a given key, or `-1` if there is no such key.

Specified by:
  `getIndex` in interface `KeyedValues`
Parameters:
  `key` - the key.
Returns:
  The index for the key, or `-1`.

#### getKeys

    public java.util.List getKeys()

Returns the keys for the dataset.

If the underlying dataset is `null`, this method returns an empty list.

Specified by:
  `getKeys` in interface `KeyedValues`
Returns:
  The keys.

#### getValue

    public java.lang.Number getValue(java.lang.Comparable key)

Returns the value for a given key. If the key is not recognised, the method should return `null` (but note that `null` can be associated with a valid key also).

Specified by:
  `getValue` in interface `KeyedValues`
Parameters:
  `key` - the key.
Returns:
  The value (possibly `null`).

#### datasetChanged

    public void datasetChanged(DatasetChangeEvent event)

Sends a `DatasetChangeEvent` to all registered listeners, with this (not the underlying) dataset as the source.

Specified by:
  `datasetChanged` in interface `DatasetChangeListener`
Parameters:
  `event` - the event (ignored, a new event with this dataset as the source is sent to the listeners).

#### equals

    public boolean equals(java.lang.Object obj)

Tests this dataset for equality with an arbitrary object, returning `true` if `obj` is a dataset containing the same keys and values in the same order as this dataset.

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