org.jfree.data.xy
Class CategoryTableXYDataset

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.CategoryTableXYDataset
All Implemented Interfaces:
java.lang.Cloneable, Dataset, DomainInfo, java.util.EventListener, IntervalXYDataset, java.io.ObjectInputValidation, java.io.Serializable, SeriesChangeListener, SeriesDataset, TableXYDataset, XYDataset

public class CategoryTableXYDataset
extends AbstractIntervalXYDataset
implements TableXYDataset, IntervalXYDataset, DomainInfo

An implementation variant of the TableXYDataset where every series shares the same x-values (required for generating stacked area charts). This implementation uses a DefaultKeyedValues2D Object as backend implementation and is hence more "category oriented" than the DefaultTableXYDataset implementation.

This implementation provides no means to remove data items yet. This is due to the lack of such facility in the DefaultKeyedValues2D class.

This class also implements the IntervalXYDataset interface, but this implementation is provisional.

Author:
Andreas Schroeder
See Also:
Serialized Form

Constructor Summary
CategoryTableXYDataset()
          Creates a new empty CategoryTableXYDataset.
 
Method Summary
 void add(double x, double y, java.lang.String seriesName)
          Adds a data item to this dataset and sends a DatasetChangeEvent to all registered listeners.
 void add(java.lang.Number x, java.lang.Number y, java.lang.String seriesName, boolean notify)
          Adds a data item to this dataset and, if requested, sends a DatasetChangeEvent to all registered listeners.
 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.
 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 item)
          Returns the y-value for the specified series and item.
 boolean isAutoWidth()
          Returns whether the interval width is automatically calculated or not.
 void remove(double x, java.lang.String seriesName)
          Removes a value from the dataset.
 void remove(java.lang.Number x, java.lang.String seriesName, boolean notify)
          Removes an item from the dataset.
 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.
 
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.AbstractSeriesDataset
seriesChanged
 
Methods inherited from class org.jfree.data.general.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.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

CategoryTableXYDataset

public CategoryTableXYDataset()
Creates a new empty CategoryTableXYDataset.

Method Detail

add

public void add(double x,
                double y,
                java.lang.String seriesName)
Adds a data item to this dataset and sends a DatasetChangeEvent to all registered listeners.

Parameters:
x - the x value.
y - the y value.
seriesName - the name of the series to add the data item.

add

public void add(java.lang.Number x,
                java.lang.Number y,
                java.lang.String seriesName,
                boolean notify)
Adds a data item to this dataset and, if requested, sends a DatasetChangeEvent to all registered listeners.

Parameters:
x - the x value.
y - the y value.
seriesName - the name of the series to add the data item.
notify - notify listeners?

remove

public void remove(double x,
                   java.lang.String seriesName)
Removes a value from the dataset.

Parameters:
x - the x-value.
seriesName - the series name.

remove

public void remove(java.lang.Number x,
                   java.lang.String seriesName,
                   boolean notify)
Removes an item from the dataset.

Parameters:
x - the x-value.
seriesName - the series name.
notify - notify listeners?

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.

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 index (zero-based).
Returns:
The name of a series.

getItemCount

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

Specified by:
getItemCount in interface TableXYDataset
Returns:
The item count.

getItemCount

public int getItemCount(int series)
Returns the number of items in the specified series. Returns the same as getItemCount().

Specified by:
getItemCount in interface XYDataset
Parameters:
series - the series index (zero-based).
Returns:
The item count.

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 index (zero-based).
item - the item index (zero-based).
Returns:
The value.

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 index (zero-based).
item - the item index (zero-based).
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 index (zero-based).
item - the item index (zero-based).
Returns:
The ending X value.

getY

public java.lang.Number getY(int series,
                             int item)
Returns the y-value for the specified series and item.

Specified by:
getY in interface XYDataset
Parameters:
series - the series index (zero-based).
item - the item index (zero-based).
Returns:
The y value (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 index (zero-based).
item - the item index (zero-based).
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 index (zero-based).
item - the item index (zero-based).
Returns:
The ending Y value.

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:
whether the width is automatically calculated or not.

setAutoWidth

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

Parameters:
b - the flag.