## org.jfree.data
Class CategoryTableXYDataset

    java.lang.Object
      org.jfree.data.AbstractDataset
          org.jfree.data.AbstractSeriesDataset
              org.jfree.data.AbstractXYDataset
                  org.jfree.data.AbstractIntervalXYDataset
                      org.jfree.data.CategoryTableXYDataset

All Implemented Interfaces:
  java.lang.Cloneable, Dataset, DomainInfo, java.util.EventListener, IntervalXYDataset, java.io.ObjectInputValidation, java.io.Serializable, SeriesChangeListener, SeriesDataset, TableXYDataset, XYDataset

public class CategoryTableXYDataset
extends AbstractIntervalXYDataset
implements TableXYDataset, IntervalXYDataset, DomainInfo

An implementation variant of the `TableXYDataset` where every series shares the same x-values (required for generating stacked area charts). This implementation uses a `DefaultKeyedValues2D` Object as backend implementation and is hence more "category oriented" than the `DefaultTableXYDataset` implementation.

This implementation provides no means to remove data items yet. This is due to the lack of such facility in the DefaultKeyedValues2D class.

This class also implements the `IntervalXYDataset` interface, but this implementation is provisional.

Author:
  Andreas Schroeder
See Also:
  Serialized Form

Constructor Summary
`CategoryTableXYDataset()` Creates a new empty CategoryTableXYDataset.

Method Summary
`void` `add(double x, double y, java.lang.String seriesName)` Adds a data item to this data set.
`void` `add(java.lang.Number x, java.lang.Number y, java.lang.String seriesName, boolean notify)` Adds a data item to this data set.
`Range` `getDomainRange()` Returns the range of the values in this dataset's domain.
`java.lang.Number` `getEndXValue(int series, int item)` Returns the ending X value for the specified series and item.
`java.lang.Number` `getEndYValue(int series, int item)` Returns the ending Y value for the specified series and item.
`double` `getIntervalPositionFactor()` Returns the interval position factor.
`double` `getIntervalWidth()` returns the full interval width.
`int` `getItemCount()` Returns the number of x values in the dataset.
`int` `getItemCount(int series)` Returns the number of items in the specified series.
`java.lang.Number` `getMaximumDomainValue()` Returns the maximum value in the dataset (or `null` if all the values in the domain are `null`).
`java.lang.Number` `getMinimumDomainValue()` Returns the minimum value in the dataset (or `null` if all the values in the domain are `null`).
`int` `getSeriesCount()` Returns the number of series in the collection.
`java.lang.String` `getSeriesName(int series)` Returns the name of a series.
`java.lang.Number` `getStartXValue(int series, int item)` Returns the starting X value for the specified series and item.
`java.lang.Number` `getStartYValue(int series, int item)` Returns the starting Y value for the specified series and item.
`java.lang.Number` `getXValue(int series, int item)` Returns the x-value for the specified series and item.
`java.lang.Number` `getYValue(int series, int item)` Returns the y-value for the specified series and item.
`boolean` `isAutoWidth()` Returns wether the interval width is automatically calculated or not.
`void` `remove(double x, java.lang.String seriesName)` Removes a value from the dataset.
`void` `remove(java.lang.Number x, java.lang.String seriesName, boolean notify)` Removes an item from the dataset.
`void` `setAutoWidth(boolean b)` Sets the flag that indicates wether the interval width is automatically calculated or not.
`void` `setIntervalPositionFactor(double d)` Sets the interval position factor.
`void` `setIntervalWidth(double d)` Sets the interval width manually.

Methods inherited from class org.jfree.data.AbstractIntervalXYDataset
`getEndX, getEndY, getStartX, getStartY`

Methods inherited from class org.jfree.data.AbstractXYDataset
`getX, getY`

Methods inherited from class org.jfree.data.AbstractSeriesDataset
`seriesChanged`

Methods inherited from class org.jfree.data.AbstractDataset
`addChangeListener, clone, fireDatasetChanged, getGroup, notifyListeners, removeChangeListener, setGroup, validateObject`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.jfree.data.XYDataset
`getX, getY`

Methods inherited from interface org.jfree.data.Dataset
`addChangeListener, getGroup, removeChangeListener, setGroup`

Methods inherited from interface org.jfree.data.IntervalXYDataset
`getEndX, getEndY, getStartX, getStartY`

Constructor Detail

### CategoryTableXYDataset

    public CategoryTableXYDataset()

  Creates a new empty CategoryTableXYDataset.

Method Detail

### add

    public void add(double x,
                    double y,
                    java.lang.String seriesName)

  Adds a data item to this data set.

  Parameters:
    `x` - the x value of the item to add.
    `y` - the y value of the item to add.
    `seriesName` - the name of the series to add the data item.

### add

    public void add(java.lang.Number x,
                    java.lang.Number y,
                    java.lang.String seriesName,
                    boolean notify)

  Adds a data item to this data set.

  Parameters:
    `x` - the x value of the item to add.
    `y` - the y value of the item to add.
    `seriesName` - the name of the series to add the data item.
    `notify` - a flag that controls whether or not a `SeriesChangeEvent` is sent to all registered listeners.

### remove

    public void remove(double x,
                       java.lang.String seriesName)

  Removes a value from the dataset.

  Parameters:
    `x` - the x-value.
    `seriesName` - the series name.

### remove

    public void remove(java.lang.Number x,
                       java.lang.String seriesName,
                       boolean notify)

  Removes an item from the dataset.

  Parameters:
    `x` - the x-value.
    `seriesName` - the series name.
    `notify` - notify listeners?

### getSeriesCount

    public int getSeriesCount()

  Returns the number of series in the collection.

  Specified by:
    `getSeriesCount` in interface `SeriesDataset`
  Specified by:
    `getSeriesCount` in class `AbstractSeriesDataset`
  Returns:
    the number of series in the collection.

### getSeriesName

    public java.lang.String getSeriesName(int series)

  Returns the name of a series.

  Specified by:
    `getSeriesName` in interface `SeriesDataset`
  Specified by:
    `getSeriesName` in class `AbstractSeriesDataset`
  Parameters:
    `series` - the series (zero-based index).
  Returns:
    the name of a series.

### getItemCount

    public int getItemCount()

  Returns the number of x values in the dataset.

  Specified by:
    `getItemCount` in interface `TableXYDataset`
  Returns:
    the number of x values in the dataset.

### getItemCount

    public int getItemCount(int series)

  Returns the number of items in the specified series. Returns the same as `getItemCount()`.

  Specified by:
    `getItemCount` in interface `XYDataset`
  Parameters:
    `series` - the series (zero-based index).
  Returns:
    the number of items in the specified series.

### getXValue

    public java.lang.Number getXValue(int series,
                                      int item)

  Returns the x-value for the specified series and item.

  Specified by:
    `getXValue` in interface `XYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `item` - the item (zero-based index).
  Returns:
    the x-value for the specified series and item.

### getStartXValue

    public java.lang.Number getStartXValue(int series,
                                           int item)

  Returns the starting X value for the specified series and item.

  Specified by:
    `getStartXValue` in interface `IntervalXYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `item` - the item (zero-based index).
  Returns:
    The starting X value.

### getEndXValue

    public java.lang.Number getEndXValue(int series,
                                         int item)

  Returns the ending X value for the specified series and item.

  Specified by:
    `getEndXValue` in interface `IntervalXYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `item` - the item (zero-based index).
  Returns:
    The ending X value.

### getYValue

    public java.lang.Number getYValue(int series,
                                      int item)

  Returns the y-value for the specified series and item.

  Specified by:
    `getYValue` in interface `XYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `item` - the index of the item of interest (zero-based).
  Returns:
    the y-value for the specified series and item (possibly `null`).

### getStartYValue

    public java.lang.Number getStartYValue(int series,
                                           int item)

  Returns the starting Y value for the specified series and item.

  Specified by:
    `getStartYValue` in interface `IntervalXYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `item` - the item (zero-based index).
  Returns:
    The starting Y value.

### getEndYValue

    public java.lang.Number getEndYValue(int series,
                                         int item)

  Returns the ending Y value for the specified series and item.

  Specified by:
    `getEndYValue` in interface `IntervalXYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `item` - the item (zero-based index).
  Returns:
    The ending Y value.

### getDomainRange

    public Range getDomainRange()

  Description copied from interface: `DomainInfo`
  Returns the range of the values in this dataset's domain.

  Specified by:
    `getDomainRange` in interface `DomainInfo`
  Returns:
    the domain range

### getMaximumDomainValue

    public java.lang.Number getMaximumDomainValue()

  Description copied from interface: `DomainInfo`
  Returns the maximum value in the dataset (or `null` if all the values in the domain are `null`).

  Specified by:
    `getMaximumDomainValue` in interface `DomainInfo`
  Returns:
    the maximum domain value.

### getMinimumDomainValue

    public java.lang.Number getMinimumDomainValue()

  Description copied from interface: `DomainInfo`
  Returns the minimum value in the dataset (or `null` if all the values in the domain are `null`).

  Specified by:
    `getMinimumDomainValue` in interface `DomainInfo`
  Returns:
    the minimum domain value.

### getIntervalPositionFactor

    public double getIntervalPositionFactor()

  Returns the interval position factor.

  Returns:
    the interval position factor.

### setIntervalPositionFactor

    public void setIntervalPositionFactor(double d)

  Sets the interval position factor. Must be between 0.0 and 1.0 inclusive. If the factor is 0.5, the gap is in the middle of the x values. If it is lesser than 0.5, the gap is farther to the left and if greater than 0.5 it gets farther to the right.

  Parameters:
    `d` - the new interval position factor.

### getIntervalWidth

    public double getIntervalWidth()

  returns the full interval width.

  Returns:
    the interval width to use.

### setIntervalWidth

    public void setIntervalWidth(double d)

  Sets the interval width manually.

  Parameters:
    `d` - the new interval width.

### isAutoWidth

    public boolean isAutoWidth()

  Returns wether the interval width is automatically calculated or not.

  Returns:
    wether the width is automatically calcualted or not.

### setAutoWidth

    public void setAutoWidth(boolean b)

  Sets the flag that indicates wether the interval width is automatically calculated or not.

  Parameters:
    `b` - the flag.