org.jfree.data.xy
Class DefaultTableXYDataset

java.lang.Object
  extended byorg.jfree.data.general.AbstractDataset
      extended byorg.jfree.data.general.AbstractSeriesDataset
          extended byorg.jfree.data.xy.AbstractXYDataset
              extended byorg.jfree.data.xy.AbstractIntervalXYDataset
                  extended byorg.jfree.data.xy.DefaultTableXYDataset
All Implemented Interfaces:
java.lang.Cloneable, Dataset, DomainInfo, java.util.EventListener, IntervalXYDataset, java.io.ObjectInputValidation, java.io.Serializable, SeriesChangeListener, SeriesDataset, TableXYDataset, XYDataset

public class DefaultTableXYDataset
extends AbstractIntervalXYDataset
implements TableXYDataset, IntervalXYDataset, DomainInfo

An XYDataset where every series shares the same x-values (required for generating stacked area charts).

Author:
Richard Atkinson
See Also:
Serialized Form

Constructor Summary
DefaultTableXYDataset()
          Creates a new empty dataset.
DefaultTableXYDataset(boolean autoPrune)
          Creates a new empty dataset.
 
Method Summary
 void addSeries(XYSeries series)
          Adds a series to the collection and sends a DatasetChangeEvent to all registered listeners.
protected  boolean canPrune(java.lang.Number x)
          Returns true if all the y-values for the specified x-value are null and false otherwise.
 boolean equals(java.lang.Object obj)
          Tests this collection for equality with an arbitrary object.
 Range getDomainBounds(boolean includeInterval)
          Returns the range of the values in this dataset's domain.
 double getDomainLowerBound(boolean includeInterval)
          Returns the minimum x-value in the dataset.
 double getDomainUpperBound(boolean includeInterval)
          Returns the maximum x-value in the dataset.
 java.lang.Number getEndX(int series, int item)
          Returns the ending X value for the specified series and item.
 java.lang.Number getEndY(int series, int item)
          Returns the ending Y value for the specified series and item.
 double getIntervalPositionFactor()
          Returns the interval position factor.
 double getIntervalWidth()
          returns the full interval width.
 int getItemCount()
          Returns the number of x values in the dataset.
 int getItemCount(int series)
          Returns the number of items in the specified series.
 XYSeries getSeries(int series)
          Returns a series.
 int getSeriesCount()
          Returns the number of series in the collection.
 java.lang.String getSeriesName(int series)
          Returns the name of a series.
 java.lang.Number getStartX(int series, int item)
          Returns the starting X value for the specified series and item.
 java.lang.Number getStartY(int series, int item)
          Returns the starting Y value for the specified series and item.
 java.lang.Number getX(int series, int item)
          Returns the x-value for the specified series and item.
 java.lang.Number getY(int series, int index)
          Returns the y-value for the specified series and item.
 int hashCode()
          Returns a hash code.
 boolean isAutoPrune()
          Returns the flag that controls whether or not x-values are removed from the dataset when the corresponding y-values are all null.
 boolean isAutoWidth()
          Returns whether the interval width is automatically calculated or not.
 void prune()
          Removes all x-values for which all the y-values are null.
 void removeAllSeries()
          Removes all the series from the collection and sends a DatasetChangeEvent to all registered listeners.
 void removeAllValuesForX(java.lang.Number x)
          Removes the items from all series for a given x value.
 void removeSeries(int series)
          Removes a series from the collection and sends a DatasetChangeEvent to all registered listeners.
 void removeSeries(XYSeries series)
          Removes a series from the collection and sends a DatasetChangeEvent to all registered listeners.
 void seriesChanged(SeriesChangeEvent event)
          This method receives notification when a series belonging to the dataset changes.
 void setAutoWidth(boolean b)
          Sets the flag that indicates whether the interval width is automatically calculated or not.
 void setIntervalPositionFactor(double d)
          Sets the interval position factor.
 void setIntervalWidth(double d)
          Sets the interval width manually.
 void updateXPoints()
          Updates the x-values for all the series in the dataset.
 
Methods inherited from class org.jfree.data.xy.AbstractIntervalXYDataset
getEndXValue, getEndYValue, getStartXValue, getStartYValue
 
Methods inherited from class org.jfree.data.xy.AbstractXYDataset
getDomainOrder, getXValue, getYValue
 
Methods inherited from class org.jfree.data.general.AbstractDataset
addChangeListener, clone, fireDatasetChanged, getGroup, notifyListeners, removeChangeListener, setGroup, validateObject
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jfree.data.xy.XYDataset
getDomainOrder, getXValue, getYValue
 
Methods inherited from interface org.jfree.data.general.Dataset
addChangeListener, getGroup, removeChangeListener, setGroup
 
Methods inherited from interface org.jfree.data.xy.IntervalXYDataset
getEndXValue, getEndYValue, getStartXValue, getStartYValue
 

Constructor Detail

DefaultTableXYDataset

public DefaultTableXYDataset()
Creates a new empty dataset.


DefaultTableXYDataset

public DefaultTableXYDataset(boolean autoPrune)
Creates a new empty dataset.

Parameters:
autoPrune - a flag that controls whether or not x-values are removed whenever the corresponding y-values are all null.
Method Detail

isAutoPrune

public boolean isAutoPrune()
Returns the flag that controls whether or not x-values are removed from the dataset when the corresponding y-values are all null.

Returns:
A boolean.

addSeries

public void addSeries(XYSeries series)
Adds a series to the collection and sends a DatasetChangeEvent to all registered listeners. The series should be configured to NOT allow duplicate x-values.

Parameters:
series - the series (null not permitted).

updateXPoints

public void updateXPoints()
Updates the x-values for all the series in the dataset.


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.

getItemCount

public int getItemCount()
Returns the number of x values in the dataset.

Specified by:
getItemCount in interface TableXYDataset
Returns:
The number of x values in the dataset.

getSeries

public XYSeries getSeries(int series)
Returns a series.

Parameters:
series - the series (zero-based index).
Returns:
The series (never null).

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.

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 number of items in the specified series.

getX

public java.lang.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 x-value for the specified series and item.

getStartX

public java.lang.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 java.lang.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 java.lang.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 y-value for the specified series and item (possibly null).

getStartY

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

removeAllSeries

public void removeAllSeries()
Removes all the series from the collection and sends a DatasetChangeEvent to all registered listeners.


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).

removeSeries

public void removeSeries(int series)
Removes a series from the collection and sends a DatasetChangeEvent to all registered listeners.

Parameters:
series - the series (zero based index).

removeAllValuesForX

public void removeAllValuesForX(java.lang.Number x)
Removes the items from all series for a given x value.

Parameters:
x - the x-value.

canPrune

protected boolean canPrune(java.lang.Number x)
Returns true if all the y-values for the specified x-value are null and false otherwise.

Parameters:
x - the x-value.
Returns:
A boolean.

prune

public void prune()
Removes all x-values for which all the y-values are null.


seriesChanged

public void seriesChanged(SeriesChangeEvent event)
This method receives notification when a series belonging to the dataset changes. It responds by updating the x-points for the entire dataset and sending a DatasetChangeEvent to all registered listeners.

Specified by:
seriesChanged in interface SeriesChangeListener
Overrides:
seriesChanged in class AbstractSeriesDataset
Parameters:
event - information about the change.

equals

public boolean equals(java.lang.Object obj)
Tests this collection for equality with an arbitrary object.

Parameters:
obj - the object (null permitted).
Returns:
A boolean.

hashCode

public int hashCode()
Returns a hash code.

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.

getIntervalPositionFactor

public double getIntervalPositionFactor()
Returns the interval position factor.

Returns:
The interval position factor.

setIntervalPositionFactor

public void setIntervalPositionFactor(double d)
Sets the interval position factor. Must be between 0.0 and 1.0 inclusive. If the factor is 0.5, the gap is in the middle of the x values. If it is lesser than 0.5, the gap is farther to the left and if greater than 0.5 it gets farther to the right.

Parameters:
d - the new interval position factor.

getIntervalWidth

public double getIntervalWidth()
returns the full interval width.

Returns:
the interval width to use.

setIntervalWidth

public void setIntervalWidth(double d)
Sets the interval width manually.

Parameters:
d - the new interval width.

isAutoWidth

public boolean isAutoWidth()
Returns whether the interval width is automatically calculated or not.

Returns:
A flag that determines whether or not the interval width is automatically calculated.

setAutoWidth

public void setAutoWidth(boolean b)
Sets the flag that indicates whether the interval width is automatically calculated or not.

Parameters:
b - a boolean.