Class CombinedDataset

All Implemented Interfaces:
ObjectInputValidation, Serializable, Cloneable, EventListener, CombinationDataset, Dataset, HighLowDataset, IntervalXYDataset, SeriesChangeListener, SeriesDataset, XYDataset

public class CombinedDataset
extends AbstractIntervalXYDataset
implements XYDataset, HighLowDataset, IntervalXYDataset, CombinationDataset
This class can combine instances of XYDataset, HighLowDataset and IntervalXYDataset together exposing the union of all the series under one dataset.
Author:
Bill Kelemen (bill@kelemen-usa.com)
See Also:
Serialized Form
  • Constructor Details

    • CombinedDataset

      public CombinedDataset()
      Default constructor for an empty combination.
    • CombinedDataset

      public CombinedDataset​(SeriesDataset[] data)
      Creates a CombinedDataset initialized with an array of SeriesDatasets.
      Parameters:
      data - array of SeriesDataset that contains the SeriesDatasets to combine.
  • Method Details

    • add

      public void add​(SeriesDataset data)
      Adds one SeriesDataset to the combination. Listeners are notified of the change.
      Parameters:
      data - the SeriesDataset to add.
    • add

      public void add​(SeriesDataset[] data)
      Adds an array of SeriesDataset's to the combination. Listeners are notified of the change.
      Parameters:
      data - array of SeriesDataset to add
    • add

      public void add​(SeriesDataset data, int series)
      Adds one series from a SeriesDataset to the combination. Listeners are notified of the change.
      Parameters:
      data - the SeriesDataset where series is contained
      series - series to add
    • 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 number of series in the dataset.
    • getSeriesName

      public 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.
    • getXValue

      public Number getXValue​(int series, int item)
      Returns the X-value for the specified series and item.

      Note: throws ClassCastException if the series is not from a XYDataset.

      Specified by:
      getXValue in interface XYDataset
      Parameters:
      series - the index of the series of interest (zero-based).
      item - the index of the item of interest (zero-based).
      Returns:
      the X-value for the specified series and item.
    • getYValue

      public Number getYValue​(int series, int item)
      Returns the Y-value for the specified series and item.

      Note: throws ClassCastException if the series is not from a XYDataset.

      Specified by:
      getYValue in interface XYDataset
      Parameters:
      series - the index of the series of interest (zero-based).
      item - the index of the item of interest (zero-based).
      Returns:
      the Y-value for the specified series and item.
    • getItemCount

      public int getItemCount​(int series)
      Returns the number of items in a series.

      Note: throws ClassCastException if the series is not from a XYDataset.

      Specified by:
      getItemCount in interface XYDataset
      Parameters:
      series - the index of the series of interest (zero-based).
      Returns:
      the number of items in a series.
    • getHighValue

      public Number getHighValue​(int series, int item)
      Returns the high-value for the specified series and item.

      Note: throws ClassCastException if the series is not from a HighLowDataset.

      Specified by:
      getHighValue in interface HighLowDataset
      Parameters:
      series - the index of the series of interest (zero-based).
      item - the index of the item of interest (zero-based).
      Returns:
      the high-value for the specified series and item.
    • getHigh

      public double getHigh​(int series, int item)
      Returns the high-value (as a double primitive) for an item within a series.
      Specified by:
      getHigh in interface HighLowDataset
      Parameters:
      series - the series (zero-based index).
      item - the item (zero-based index).
      Returns:
      The high-value.
    • getLowValue

      public Number getLowValue​(int series, int item)
      Returns the low-value for the specified series and item.

      Note: throws ClassCastException if the series is not from a HighLowDataset.

      Specified by:
      getLowValue in interface HighLowDataset
      Parameters:
      series - the index of the series of interest (zero-based).
      item - the index of the item of interest (zero-based).
      Returns:
      the low-value for the specified series and item.
    • getLow

      public double getLow​(int series, int item)
      Returns the low-value (as a double primitive) for an item within a series.
      Specified by:
      getLow in interface HighLowDataset
      Parameters:
      series - the series (zero-based index).
      item - the item (zero-based index).
      Returns:
      The low-value.
    • getOpenValue

      public Number getOpenValue​(int series, int item)
      Returns the open-value for the specified series and item.

      Note: throws ClassCastException if the series is not from a HighLowDataset.

      Specified by:
      getOpenValue in interface HighLowDataset
      Parameters:
      series - the index of the series of interest (zero-based).
      item - the index of the item of interest (zero-based).
      Returns:
      the open-value for the specified series and item.
    • getOpen

      public double getOpen​(int series, int item)
      Returns the open-value (as a double primitive) for an item within a series.
      Specified by:
      getOpen in interface HighLowDataset
      Parameters:
      series - the series (zero-based index).
      item - the item (zero-based index).
      Returns:
      The open-value.
    • getCloseValue

      public Number getCloseValue​(int series, int item)
      Returns the close-value for the specified series and item.

      Note: throws ClassCastException if the series is not from a HighLowDataset.

      Specified by:
      getCloseValue in interface HighLowDataset
      Parameters:
      series - the index of the series of interest (zero-based).
      item - the index of the item of interest (zero-based).
      Returns:
      the close-value for the specified series and item.
    • getClose

      public double getClose​(int series, int item)
      Returns the close-value (as a double primitive) for an item within a series.
      Specified by:
      getClose in interface HighLowDataset
      Parameters:
      series - the series (zero-based index).
      item - the item (zero-based index).
      Returns:
      The close-value.
    • getVolumeValue

      public Number getVolumeValue​(int series, int item)
      Returns the volume value for the specified series and item.

      Note: throws ClassCastException if the series is not from a HighLowDataset.

      Specified by:
      getVolumeValue in interface HighLowDataset
      Parameters:
      series - the index of the series of interest (zero-based).
      item - the index of the item of interest (zero-based).
      Returns:
      the volume value for the specified series and item.
    • getVolume

      public double getVolume​(int series, int item)
      Returns the volume-value (as a double primitive) for an item within a series.
      Specified by:
      getVolume in interface HighLowDataset
      Parameters:
      series - the series (zero-based index).
      item - the item (zero-based index).
      Returns:
      The volume-value.
    • getStartXValue

      public 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 index of the series of interest (zero-based).
      item - the index of the item of interest (zero-based).
      Returns:
      the starting X value for the specified series and item.
    • getEndXValue

      public 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 index of the series of interest (zero-based).
      item - the index of the item of interest (zero-based).
      Returns:
      the ending X value for the specified series and item.
    • getStartYValue

      public 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 index of the series of interest (zero-based).
      item - the index of the item of interest (zero-based).
      Returns:
      the starting Y value for the specified series and item.
    • getEndYValue

      public 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 index of the series of interest (zero-based).
      item - the index of the item of interest (zero-based).
      Returns:
      the ending Y value for the specified series and item.
    • getParent

      public SeriesDataset getParent()
      Returns the parent Dataset of this combination. If there is more than one parent, or a child is found that is not a CombinationDataset, then returns null.
      Specified by:
      getParent in interface CombinationDataset
      Returns:
      the parent Dataset of this combination or null.
    • getMap

      public int[] getMap()
      Returns a map or indirect indexing form our series into parent's series. Prior to calling this method, the client should check getParent() to make sure the CombinationDataset uses the same parent. If not, the map returned by this method will be invalid or null.
      Specified by:
      getMap in interface CombinationDataset
      Returns:
      a map or indirect indexing form our series into parent's series.
      See Also:
      getParent()
    • getChildPosition

      public int getChildPosition​(Dataset child)
      Returns the child position.
      Parameters:
      child - the child dataset.
      Returns:
      the position.