Class DefaultIntervalXYDataset

All Implemented Interfaces:
ObjectInputValidation, Serializable, Cloneable, EventListener, Dataset, SeriesChangeListener, SeriesDataset, IntervalXYDataset, XYDataset, org.jfree.util.PublicCloneable

public class DefaultIntervalXYDataset extends AbstractIntervalXYDataset implements org.jfree.util.PublicCloneable
A dataset that defines a range (interval) for both the x-values and the y-values. This implementation uses six arrays to store the x, start-x, end-x, y, start-y and end-y values.

An alternative implementation of the IntervalXYDataset interface is provided by the XYIntervalSeriesCollection class.
Since:
1.0.3
See Also:
  • Field Details

    • seriesKeys

      private List seriesKeys
      Storage for the series keys. This list must be kept in sync with the seriesList.
    • seriesList

      private List seriesList
      Storage for the series in the dataset. We use a list because the order of the series is significant. This list must be kept in sync with the seriesKeys list.
  • Constructor Details

    • DefaultIntervalXYDataset

      public DefaultIntervalXYDataset()
      Creates a new DefaultIntervalXYDataset 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.
    • 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:
    • 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:
    • getStartXValue

      public double getStartXValue(int series, int item)
      Returns the starting x-value for an item within a series.
      Specified by:
      getStartXValue in interface IntervalXYDataset
      Overrides:
      getStartXValue in class AbstractIntervalXYDataset
      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 starting x-value.
      Throws:
      ArrayIndexOutOfBoundsException - if series is not within the specified range.
      ArrayIndexOutOfBoundsException - if item is not within the specified range.
      See Also:
    • getEndXValue

      public double getEndXValue(int series, int item)
      Returns the ending x-value for an item within a series.
      Specified by:
      getEndXValue in interface IntervalXYDataset
      Overrides:
      getEndXValue in class AbstractIntervalXYDataset
      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 ending x-value.
      Throws:
      ArrayIndexOutOfBoundsException - if series is not within the specified range.
      ArrayIndexOutOfBoundsException - if item is not within the specified range.
      See Also:
    • getStartYValue

      public double getStartYValue(int series, int item)
      Returns the starting y-value for an item within a series.
      Specified by:
      getStartYValue in interface IntervalXYDataset
      Overrides:
      getStartYValue in class AbstractIntervalXYDataset
      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 starting y-value.
      Throws:
      ArrayIndexOutOfBoundsException - if series is not within the specified range.
      ArrayIndexOutOfBoundsException - if item is not within the specified range.
      See Also:
    • getEndYValue

      public double getEndYValue(int series, int item)
      Returns the ending y-value for an item within a series.
      Specified by:
      getEndYValue in interface IntervalXYDataset
      Overrides:
      getEndYValue in class AbstractIntervalXYDataset
      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 ending y-value.
      Throws:
      ArrayIndexOutOfBoundsException - if series is not within the specified range.
      ArrayIndexOutOfBoundsException - if item is not within the specified range.
      See Also:
    • getEndX

      public Number getEndX(int series, int item)
      Returns the ending x-value for an item within a series.
      Specified by:
      getEndX in interface IntervalXYDataset
      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 ending x-value.
      Throws:
      ArrayIndexOutOfBoundsException - if series is not within the specified range.
      ArrayIndexOutOfBoundsException - if item is not within the specified range.
      See Also:
    • getEndY

      public Number getEndY(int series, int item)
      Returns the ending y-value for an item within a series.
      Specified by:
      getEndY in interface IntervalXYDataset
      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 ending y-value.
      Throws:
      ArrayIndexOutOfBoundsException - if series is not within the specified range.
      ArrayIndexOutOfBoundsException - if item is not within the specified range.
      See Also:
    • getStartX

      public Number getStartX(int series, int item)
      Returns the starting x-value for an item within a series.
      Specified by:
      getStartX in interface IntervalXYDataset
      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 starting x-value.
      Throws:
      ArrayIndexOutOfBoundsException - if series is not within the specified range.
      ArrayIndexOutOfBoundsException - if item is not within the specified range.
      See Also:
    • getStartY

      public Number getStartY(int series, int item)
      Returns the starting y-value for an item within a series.
      Specified by:
      getStartY in interface IntervalXYDataset
      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 starting y-value.
      Throws:
      ArrayIndexOutOfBoundsException - if series is not within the specified range.
      ArrayIndexOutOfBoundsException - if item is not within the specified range.
      See Also:
    • 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:
    • 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:
    • 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 6, containing six arrays of equal length, the first three containing the x-values (x, xLow and xHigh) and the last three containing the y-values (y, yLow and yHigh)).
    • equals

      public boolean equals(Object obj)
      Tests this DefaultIntervalXYDataset instance for equality with an arbitrary object. This method returns true if and only if:
      • obj is not null;
      • obj is an instance of DefaultIntervalXYDataset;
      • 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

      public Object clone() throws CloneNotSupportedException
      Returns a clone of this dataset.
      Specified by:
      clone in interface org.jfree.util.PublicCloneable
      Overrides:
      clone in class AbstractDataset
      Returns:
      A clone.
      Throws:
      CloneNotSupportedException - if the dataset contains a series with a key that cannot be cloned.