## org.jfree.data.xy
Class XYSeriesCollection

    java.lang.Object
      org.jfree.data.general.AbstractDataset
          org.jfree.data.general.AbstractSeriesDataset
              org.jfree.data.xy.AbstractXYDataset
                  org.jfree.data.xy.AbstractIntervalXYDataset
                      org.jfree.data.xy.XYSeriesCollection

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

    public class XYSeriesCollection

extends AbstractIntervalXYDataset
implements IntervalXYDataset, DomainInfo, java.io.Serializable

Represents a collection of `XYSeries` objects that can be used as a dataset.

See Also:
  Serialized Form

Constructor Summary
`XYSeriesCollection()` Constructs an empty dataset.
`XYSeriesCollection(XYSeries series)` Constructs a dataset and populates it with a single series.

Method Summary
`void` `addSeries(XYSeries series)` Adds a series to the collection 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 collection for equality with an arbitrary object.
`Range` `getDomainBounds(boolean includeInterval)` Returns the range of the values in this dataset's domain.
`double` `getDomainLowerBound(boolean includeInterval)` Returns the minimum x-value in the dataset.
`double` `getDomainUpperBound(boolean includeInterval)` Returns the maximum x-value in the dataset.
`java.lang.Number` `getEndX(int series, int item)` Returns the ending X value for the specified series and item.
`java.lang.Number` `getEndY(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 interval width.
`int` `getItemCount(int series)` Returns the number of items in the specified series.
`java.util.List` `getSeries()` Returns a list of all the series in the collection.
`XYSeries` `getSeries(java.lang.Comparable key)` Returns a series from the collection.
`XYSeries` `getSeries(int series)` Returns a series from the collection.
`int` `getSeriesCount()` Returns the number of series in the collection.
`java.lang.Comparable` `getSeriesKey(int series)` Returns the key for a series.
`java.lang.Number` `getStartX(int series, int item)` Returns the starting X value for the specified series and item.
`java.lang.Number` `getStartY(int series, int item)` Returns the starting Y value for the specified series and item.
`java.lang.Number` `getX(int series, int item)` Returns the x-value for the specified series and item.
`java.lang.Number` `getY(int series, int index)` Returns the y-value for the specified series and item.
`int` `hashCode()` Returns a hash code.
`int` `indexOf(XYSeries series)` Returns the index of the specified series, or -1 if that series is not present in the dataset.
`boolean` `isAutoWidth()` Returns whether the interval width is automatically calculated or not.
`void` `removeAllSeries()` Removes all the series from the collection and sends a `DatasetChangeEvent` to all registered listeners.
`void` `removeSeries(int series)` Removes a series from the collection and sends a `DatasetChangeEvent` to all registered listeners.
`void` `removeSeries(XYSeries series)` Removes a series from the collection and sends a `DatasetChangeEvent` to all registered listeners.
`void` `setAutoWidth(boolean b)` Sets the flag that indicates wether the interval width is automatically calculated or not.
`void` `setIntervalPositionFactor(double factor)` Sets the interval position factor.
`void` `setIntervalWidth(double width)` Sets the interval width and sends a `DatasetChangeEvent` to all registered listeners.

Methods inherited from class org.jfree.data.xy.AbstractIntervalXYDataset
`getEndXValue, getEndYValue, getStartXValue, getStartYValue`

Methods inherited from class org.jfree.data.xy.AbstractXYDataset
`getDomainOrder, getXValue, getYValue`

Methods inherited from class org.jfree.data.general.AbstractSeriesDataset
`indexOf, seriesChanged`

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.xy.IntervalXYDataset
`getEndXValue, getEndYValue, getStartXValue, getStartYValue`

Methods inherited from interface org.jfree.data.xy.XYDataset
`getDomainOrder, getXValue, getYValue`

Methods inherited from interface org.jfree.data.general.SeriesDataset
`indexOf`

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

Constructor Detail

### XYSeriesCollection

    public XYSeriesCollection()

  Constructs an empty dataset.

### XYSeriesCollection

    public XYSeriesCollection(XYSeries series)

  Constructs a dataset and populates it with a single series.

  Parameters:
    `series` - the series (`null` ignored).

Method Detail

### addSeries

    public void addSeries(XYSeries series)

  Adds a series to the collection and sends a `DatasetChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series (`null` not permitted).

### removeSeries

    public void removeSeries(int series)

  Removes a series from the collection and sends a `DatasetChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).

### removeSeries

    public void removeSeries(XYSeries series)

  Removes a series from the collection and sends a `DatasetChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series (`null` not permitted).

### removeAllSeries

    public void removeAllSeries()

  Removes all the series from the collection and sends a `DatasetChangeEvent` to all registered 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 series count.

### getSeries

    public java.util.List getSeries()

  Returns a list of all the series in the collection.

  Returns:
    The list (which is unmodifiable).

### indexOf

    public int indexOf(XYSeries series)

  Returns the index of the specified series, or -1 if that series is not present in the dataset.

  Parameters:
    `series` - the series (`null` not permitted).
  Returns:
    The series index.
  Since:
    1.0.6

### getSeries

    public XYSeries getSeries(int series)

  Returns a series from the collection.

  Parameters:
    `series` - the series index (zero-based).
  Returns:
    The series.
  Throws:
    `java.lang.IllegalArgumentException` - if `series` is not in the range `0` to `getSeriesCount() - 1`.

### getSeries

    public XYSeries getSeries(java.lang.Comparable key)

  Returns a series from the collection.

  Parameters:
    `key` - the key (`null` not permitted).
  Returns:
    The series with the specified key.
  Throws:
    `UnknownKeyException` - if `key` is not found in the collection.
  Since:
    1.0.9

### getSeriesKey

    public java.lang.Comparable getSeriesKey(int series)

  Returns the key for a series.

  Specified by:
    `getSeriesKey` in interface `SeriesDataset`
  Specified by:
    `getSeriesKey` in class `AbstractSeriesDataset`
  Parameters:
    `series` - the series index (in the range `0` to `getSeriesCount() - 1`).
  Returns:
    The key for a series.
  Throws:
    `java.lang.IllegalArgumentException` - if `series` is not in the specified range.

### getItemCount

    public int getItemCount(int series)

  Returns the number of items in the specified series.

  Specified by:
    `getItemCount` in interface `XYDataset`
  Parameters:
    `series` - the series (zero-based index).
  Returns:
    The item count.
  Throws:
    `java.lang.IllegalArgumentException` - if `series` is not in the range `0` to `getSeriesCount() - 1`.

### getX

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

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

  Specified by:
    `getX` in interface `XYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `item` - the item (zero-based index).
  Returns:
    The value.

### getStartX

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

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

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

### getEndX

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

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

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

### getY

    public java.lang.Number getY(int series,
                                 int index)

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

  Specified by:
    `getY` in interface `XYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `index` - the index of the item of interest (zero-based).
  Returns:
    The value (possibly `null`).

### getStartY

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

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

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

### getEndY

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

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

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

### equals

    public boolean equals(java.lang.Object obj)

  Tests this collection 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.

  Overrides:
    `clone` in class `AbstractDataset`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - if there is a problem.

### hashCode

    public int hashCode()

  Returns a hash code.

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

### getDomainLowerBound

    public double getDomainLowerBound(boolean includeInterval)

  Returns the minimum x-value in the dataset.

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

### getDomainUpperBound

    public double getDomainUpperBound(boolean includeInterval)

  Returns the maximum x-value in the dataset.

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

### getDomainBounds

    public Range getDomainBounds(boolean includeInterval)

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

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

### getIntervalWidth

    public double getIntervalWidth()

  Returns the interval width. This is used to calculate the start and end x-values, if/when the dataset is used as an `IntervalXYDataset`.

  Returns:
    The interval width.

### setIntervalWidth

    public void setIntervalWidth(double width)

  Sets the interval width and sends a `DatasetChangeEvent` to all registered listeners.

  Parameters:
    `width` - the width (negative values not permitted).

### getIntervalPositionFactor

    public double getIntervalPositionFactor()

  Returns the interval position factor.

  Returns:
    The interval position factor.

### setIntervalPositionFactor

    public void setIntervalPositionFactor(double factor)

  Sets the interval position factor. This controls where the x-value is in relation to the interval surrounding the x-value (0.0 means the x-value will be positioned at the start, 0.5 in the middle, and 1.0 at the end).

  Parameters:
    `factor` - the factor.

### isAutoWidth

    public boolean isAutoWidth()

  Returns whether the interval width is automatically calculated or not.

  Returns:
    Whether the width is automatically calculated or not.

### setAutoWidth

    public void setAutoWidth(boolean b)

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

  Parameters:
    `b` - a boolean.