org.jfree.data
Class CombinedDataset

java.lang.Object
  extended byorg.jfree.data.AbstractDataset
      extended byorg.jfree.data.AbstractSeriesDataset
          extended byorg.jfree.data.AbstractXYDataset
              extended byorg.jfree.data.AbstractIntervalXYDataset
                  extended byorg.jfree.data.CombinedDataset
All Implemented Interfaces:
java.lang.Cloneable, CombinationDataset, Dataset, java.util.EventListener, HighLowDataset, IntervalXYDataset, java.io.ObjectInputValidation, java.io.Serializable, 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 Summary
CombinedDataset()
          Default constructor for an empty combination.
CombinedDataset(SeriesDataset[] data)
          Creates a CombinedDataset initialized with an array of SeriesDatasets.
 
Method Summary
 void add(SeriesDataset data)
          Adds one SeriesDataset to the combination.
 void add(SeriesDataset[] data)
          Adds an array of SeriesDataset's to the combination.
 void add(SeriesDataset data, int series)
          Adds one series from a SeriesDataset to the combination.
 int getChildPosition(Dataset child)
          Returns the child position.
 double getClose(int series, int item)
          Returns the close-value (as a double primitive) for an item within a series.
 java.lang.Number getCloseValue(int series, int item)
          Returns the close-value for the specified series and item.
 java.lang.Number getEndXValue(int series, int item)
          Returns the ending X value for the specified series and item.
 java.lang.Number getEndYValue(int series, int item)
          Returns the ending Y value for the specified series and item.
 double getHigh(int series, int item)
          Returns the high-value (as a double primitive) for an item within a series.
 java.lang.Number getHighValue(int series, int item)
          Returns the high-value for the specified series and item.
 int getItemCount(int series)
          Returns the number of items in a series.
 double getLow(int series, int item)
          Returns the low-value (as a double primitive) for an item within a series.
 java.lang.Number getLowValue(int series, int item)
          Returns the low-value for the specified series and item.
 int[] getMap()
          Returns a map or indirect indexing form our series into parent's series.
 double getOpen(int series, int item)
          Returns the open-value (as a double primitive) for an item within a series.
 java.lang.Number getOpenValue(int series, int item)
          Returns the open-value for the specified series and item.
 SeriesDataset getParent()
          Returns the parent Dataset of this combination.
 int getSeriesCount()
          Returns the number of series in the dataset.
 java.lang.String getSeriesName(int series)
          Returns the name of a series.
 java.lang.Number getStartXValue(int series, int item)
          Returns the starting X value for the specified series and item.
 java.lang.Number getStartYValue(int series, int item)
          Returns the starting Y value for the specified series and item.
 double getVolume(int series, int item)
          Returns the volume-value (as a double primitive) for an item within a series.
 java.lang.Number getVolumeValue(int series, int item)
          Returns the volume value for the specified series and item.
 java.lang.Number getXValue(int series, int item)
          Returns the X-value for the specified series and item.
 java.lang.Number getYValue(int series, int item)
          Returns the Y-value for the specified series and item.
 
Methods inherited from class org.jfree.data.AbstractIntervalXYDataset
getEndX, getEndY, getStartX, getStartY
 
Methods inherited from class org.jfree.data.AbstractXYDataset
getX, getY
 
Methods inherited from class org.jfree.data.AbstractSeriesDataset
seriesChanged
 
Methods inherited from class org.jfree.data.AbstractDataset
addChangeListener, clone, fireDatasetChanged, getGroup, notifyListeners, removeChangeListener, setGroup, validateObject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jfree.data.XYDataset
getX, getY
 
Methods inherited from interface org.jfree.data.Dataset
addChangeListener, getGroup, removeChangeListener, setGroup
 
Methods inherited from interface org.jfree.data.IntervalXYDataset
getEndX, getEndY, getStartX, getStartY
 

Constructor Detail

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 Detail

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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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.