Class XYSeriesCollection

All Implemented Interfaces:
VetoableChangeListener, ObjectInputValidation, Serializable, Cloneable, EventListener, PublicCloneable, DomainInfo, Dataset, SeriesChangeListener, SeriesDataset, RangeInfo, IntervalXYDataset, XYDataset

public class XYSeriesCollection
extends AbstractIntervalXYDataset
implements IntervalXYDataset, DomainInfo, RangeInfo, VetoableChangeListener, PublicCloneable, Serializable
Represents a collection of XYSeries objects that can be used as a dataset.
See Also:
Serialized Form
  • Constructor Details

    • 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 Details

    • getDomainOrder

      Returns the order of the domain (X) values, if this is known.
      Specified by:
      getDomainOrder in interface XYDataset
      Overrides:
      getDomainOrder in class AbstractXYDataset
      Returns:
      The domain order.
    • 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).
      Throws:
      IllegalArgumentException - if the key for the series is null or not unique within the dataset.
    • 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 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.
    • getSeries

      public XYSeries getSeries​(int series)
      Returns a series from the collection.
      Parameters:
      series - the series index (zero-based).
      Returns:
      The series.
      Throws:
      IllegalArgumentException - if series is not in the range 0 to getSeriesCount() - 1.
    • getSeries

      public XYSeries getSeries​(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.
    • getSeriesKey

      public 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:
      IllegalArgumentException - if series is not in the specified range.
    • getSeriesIndex

      public int getSeriesIndex​(Comparable key)
      Returns the index of the series with the specified key, or -1 if no series has that key.
      Parameters:
      key - the key (null not permitted).
      Returns:
      The index.
    • 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:
      IllegalArgumentException - if series is not in the range 0 to getSeriesCount() - 1.
    • getX

      public 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 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 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 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 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 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​(Object obj)
      Tests this collection for equality with an arbitrary object.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object (null permitted).
      Returns:
      A boolean.
    • clone

      Returns a clone of this instance.
      Specified by:
      clone in interface PublicCloneable
      Overrides:
      clone in class AbstractDataset
      Returns:
      A clone.
      Throws:
      CloneNotSupportedException - if there is a problem.
    • hashCode

      public int hashCode()
      Returns a hash code.
      Overrides:
      hashCode in class 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 (or null if the dataset contains no values).
    • 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 whether the interval width is automatically calculated or not.
      Parameters:
      b - a boolean.
    • 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 - ignored.
      Returns:
      The range (or null if the dataset contains no values).
    • 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.
    • vetoableChange

      Receives notification that the key for one of the series in the collection has changed, and vetos it if the key is already present in the collection.
      Specified by:
      vetoableChange in interface VetoableChangeListener
      Parameters:
      e - the event.
      Throws:
      PropertyVetoException - if the series name is already present in the collection.