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 getDomainRange()
          Returns the range of values in the dataset's domain.
 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.
 java.lang.Number getMaximumDomainValue()
          Returns the maximum domain value.
 java.lang.Number getMinimumDomainValue()
          Returns the minimum domain value.
 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 wether 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.

getDomainRange

public Range getDomainRange()
Returns the range of values in the dataset's domain.

Specified by:
getDomainRange in interface DomainInfo
Returns:
The range.

getMaximumDomainValue

public java.lang.Number getMaximumDomainValue()
Returns the maximum domain value.

Specified by:
getMaximumDomainValue in interface DomainInfo
Returns:
The maximum domain value.

getMinimumDomainValue

public java.lang.Number getMinimumDomainValue()
Returns the minimum domain value.

Specified by:
getMinimumDomainValue in interface DomainInfo
Returns:
The minimum domain value.

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

Parameters:
b - the flag.