Package org.jfree.data.xy
Class CategoryTableXYDataset
- java.lang.Object
-
- org.jfree.data.general.AbstractDataset
-
- org.jfree.data.general.AbstractSeriesDataset
-
- org.jfree.data.xy.AbstractXYDataset
-
- org.jfree.data.xy.AbstractIntervalXYDataset
-
- org.jfree.data.xy.CategoryTableXYDataset
-
- All Implemented Interfaces:
java.io.ObjectInputValidation
,java.io.Serializable
,java.lang.Cloneable
,java.util.EventListener
,PublicCloneable
,DomainInfo
,Dataset
,SeriesChangeListener
,SeriesDataset
,IntervalXYDataset
,TableXYDataset
,XYDataset
public class CategoryTableXYDataset extends AbstractIntervalXYDataset implements TableXYDataset, IntervalXYDataset, DomainInfo, PublicCloneable
An implementation variant of theTableXYDataset
where every series shares the same x-values (required for generating stacked area charts). This implementation uses aDefaultKeyedValues2D
Object as backend implementation and is hence more "category oriented" than theDefaultTableXYDataset
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.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private IntervalXYDelegate
intervalDelegate
A delegate for controlling the interval width.private DefaultKeyedValues2D
values
The backing data structure.
-
Constructor Summary
Constructors Constructor Description CategoryTableXYDataset()
Creates a new empty CategoryTableXYDataset.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(double x, double y, java.lang.String seriesName)
Adds a data item to this dataset and sends aDatasetChangeEvent
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 aDatasetChangeEvent
to all registered listeners.void
clear()
Clears all data from the dataset and sends aDatasetChangeEvent
to all registered listeners.java.lang.Object
clone()
Returns an independent copy of this dataset.boolean
equals(java.lang.Object obj)
Tests this dataset 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.int
getSeriesCount()
Returns the number of series in the collection.java.lang.Comparable
getSeriesKey(int series)
Returns the key for 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 to a fixed value, and sends aDatasetChangeEvent
to all registered listeners.-
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
indexOf, seriesChanged
-
Methods inherited from class org.jfree.data.general.AbstractDataset
addChangeListener, canEqual, fireDatasetChanged, getGroup, getNotify, hashCode, hasListener, notifyListeners, removeChangeListener, setGroup, setNotify, validateObject
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
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
-
Methods inherited from interface org.jfree.data.general.SeriesDataset
indexOf
-
Methods inherited from interface org.jfree.data.xy.XYDataset
getDomainOrder, getXValue, getYValue
-
-
-
-
Field Detail
-
values
private DefaultKeyedValues2D values
The backing data structure.
-
intervalDelegate
private IntervalXYDelegate intervalDelegate
A delegate for controlling the interval width.
-
-
Method Detail
-
add
public void add(double x, double y, java.lang.String seriesName)
Adds a data item to this dataset and sends aDatasetChangeEvent
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 aDatasetChangeEvent
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?
-
clear
public void clear()
Clears all data from the dataset and sends aDatasetChangeEvent
to all registered listeners.
-
getSeriesCount
public int getSeriesCount()
Returns the number of series in the collection.- Specified by:
getSeriesCount
in interfaceSeriesDataset
- Specified by:
getSeriesCount
in classAbstractSeriesDataset
- Returns:
- The series count.
-
getSeriesKey
public java.lang.Comparable getSeriesKey(int series)
Returns the key for a series.- Specified by:
getSeriesKey
in interfaceSeriesDataset
- Specified by:
getSeriesKey
in classAbstractSeriesDataset
- Parameters:
series
- the series index (zero-based).- Returns:
- The key for a series.
-
getItemCount
public int getItemCount()
Returns the number of x values in the dataset.- Specified by:
getItemCount
in interfaceTableXYDataset
- Returns:
- The item count.
-
getItemCount
public int getItemCount(int series)
Returns the number of items in the specified series. Returns the same asgetItemCount()
.- Specified by:
getItemCount
in interfaceXYDataset
- 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.
-
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 interfaceIntervalXYDataset
- 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 interfaceIntervalXYDataset
- 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.
-
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 interfaceIntervalXYDataset
- 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 interfaceIntervalXYDataset
- 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 interfaceDomainInfo
- 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 interfaceDomainInfo
- 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 interfaceDomainInfo
- 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 to a fixed value, and sends aDatasetChangeEvent
to all registered listeners.- Parameters:
d
- the new interval width (must be > 0).
-
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.
-
equals
public boolean equals(java.lang.Object obj)
Tests this dataset for equality with an arbitrary object.- Overrides:
equals
in classAbstractDataset
- Parameters:
obj
- the object (null
permitted).- Returns:
- A boolean.
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
Returns an independent copy of this dataset.- Specified by:
clone
in interfacePublicCloneable
- Overrides:
clone
in classAbstractDataset
- Returns:
- A clone.
- Throws:
java.lang.CloneNotSupportedException
- if there is some reason that cloning cannot be performed.
-
-