Class DefaultXYDataset

All Implemented Interfaces:
ObjectInputValidation, Serializable, Cloneable, EventListener, PublicCloneable, Dataset, SeriesChangeListener, SeriesDataset, XYDataset

public class DefaultXYDataset
extends AbstractXYDataset
implements XYDataset, PublicCloneable
A default implementation of the XYDataset interface that stores data values in arrays of double primitives.
See Also:
Serialized Form
  • Constructor Details

    • DefaultXYDataset

      Creates a new DefaultXYDataset instance, initially containing no data.
  • Method Details

    • getSeriesCount

      public int getSeriesCount()
      Returns the number of series in the dataset.
      Specified by:
      getSeriesCount in interface SeriesDataset
      Specified by:
      getSeriesCount in class AbstractSeriesDataset
      Returns:
      The series count.
    • 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 the series.
      Throws:
      IllegalArgumentException - if series is not in the specified range.
    • indexOf

      public int indexOf​(Comparable seriesKey)
      Returns the index of the series with the specified key, or -1 if there is no such series in the dataset.
      Specified by:
      indexOf in interface SeriesDataset
      Overrides:
      indexOf in class AbstractSeriesDataset
      Parameters:
      seriesKey - the series key (null permitted).
      Returns:
      The index, or -1.
    • getDomainOrder

      Returns the order of the domain (x-) values in the dataset. In this implementation, we cannot guarantee that the x-values are ordered, so this method returns DomainOrder.NONE.
      Specified by:
      getDomainOrder in interface XYDataset
      Overrides:
      getDomainOrder in class AbstractXYDataset
      Returns:
      DomainOrder.NONE.
    • 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 index (in the range 0 to getSeriesCount() - 1).
      Returns:
      The item count.
      Throws:
      IllegalArgumentException - if series is not in the specified range.
    • getXValue

      public double getXValue​(int series, int item)
      Returns the x-value for an item within a series.
      Specified by:
      getXValue in interface XYDataset
      Overrides:
      getXValue in class AbstractXYDataset
      Parameters:
      series - the series index (in the range 0 to getSeriesCount() - 1).
      item - the item index (in the range 0 to getItemCount(series)).
      Returns:
      The x-value.
      Throws:
      ArrayIndexOutOfBoundsException - if series is not within the specified range.
      ArrayIndexOutOfBoundsException - if item is not within the specified range.
      See Also:
      getX(int, int)
    • getX

      public Number getX​(int series, int item)
      Returns the x-value for an item within a series.
      Specified by:
      getX in interface XYDataset
      Parameters:
      series - the series index (in the range 0 to getSeriesCount() - 1).
      item - the item index (in the range 0 to getItemCount(series)).
      Returns:
      The x-value.
      Throws:
      ArrayIndexOutOfBoundsException - if series is not within the specified range.
      ArrayIndexOutOfBoundsException - if item is not within the specified range.
      See Also:
      getXValue(int, int)
    • getYValue

      public double getYValue​(int series, int item)
      Returns the y-value for an item within a series.
      Specified by:
      getYValue in interface XYDataset
      Overrides:
      getYValue in class AbstractXYDataset
      Parameters:
      series - the series index (in the range 0 to getSeriesCount() - 1).
      item - the item index (in the range 0 to getItemCount(series)).
      Returns:
      The y-value.
      Throws:
      ArrayIndexOutOfBoundsException - if series is not within the specified range.
      ArrayIndexOutOfBoundsException - if item is not within the specified range.
      See Also:
      getY(int, int)
    • getY

      public Number getY​(int series, int item)
      Returns the y-value for an item within a series.
      Specified by:
      getY in interface XYDataset
      Parameters:
      series - the series index (in the range 0 to getSeriesCount() - 1).
      item - the item index (in the range 0 to getItemCount(series)).
      Returns:
      The y-value.
      Throws:
      ArrayIndexOutOfBoundsException - if series is not within the specified range.
      ArrayIndexOutOfBoundsException - if item is not within the specified range.
      See Also:
      getX(int, int)
    • addSeries

      public void addSeries​(Comparable seriesKey, double[][] data)
      Adds a series or if a series with the same key already exists replaces the data for that series, then sends a DatasetChangeEvent to all registered listeners.
      Parameters:
      seriesKey - the series key (null not permitted).
      data - the data (must be an array with length 2, containing two arrays of equal length, the first containing the x-values and the second containing the y-values).
    • removeSeries

      public void removeSeries​(Comparable seriesKey)
      Removes a series from the dataset, then sends a DatasetChangeEvent to all registered listeners.
      Parameters:
      seriesKey - the series key (null not permitted).
    • equals

      public boolean equals​(Object obj)
      Tests this DefaultXYDataset instance for equality with an arbitrary object. This method returns true if and only if:
      • obj is not null;
      • obj is an instance of DefaultXYDataset;
      • both datasets have the same number of series, each containing exactly the same values.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object (null permitted).
      Returns:
      A boolean.
    • hashCode

      public int hashCode()
      Returns a hash code for this instance.
      Overrides:
      hashCode in class Object
      Returns:
      A hash code.
    • clone

      Creates an independent copy of this dataset.
      Specified by:
      clone in interface PublicCloneable
      Overrides:
      clone in class AbstractDataset
      Returns:
      The cloned dataset.
      Throws:
      CloneNotSupportedException - if there is a problem cloning the dataset (for instance, if a non-cloneable object is used for a series key).