Package org.jfree.data.category
Class DefaultIntervalCategoryDataset
- java.lang.Object
-
- org.jfree.data.general.AbstractDataset
-
- org.jfree.data.general.AbstractSeriesDataset
-
- org.jfree.data.category.DefaultIntervalCategoryDataset
-
- All Implemented Interfaces:
java.io.ObjectInputValidation
,java.io.Serializable
,java.lang.Cloneable
,java.util.EventListener
,CategoryDataset
,IntervalCategoryDataset
,Dataset
,SeriesChangeListener
,SeriesDataset
,KeyedValues2D
,Values2D
public class DefaultIntervalCategoryDataset extends AbstractSeriesDataset implements IntervalCategoryDataset
A convenience class that provides a default implementation of theIntervalCategoryDataset
interface.The standard constructor accepts data in a two dimensional array where the first dimension is the series, and the second dimension is the category.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Comparable[]
categoryKeys
The category keys.private java.lang.Number[][]
endData
Storage for the end value data.private java.lang.Comparable[]
seriesKeys
The series keys.private java.lang.Number[][]
startData
Storage for the start value data.
-
Constructor Summary
Constructors Constructor Description DefaultIntervalCategoryDataset(double[][] starts, double[][] ends)
Creates a new dataset using the specified data values and automatically generated series and category keys.DefaultIntervalCategoryDataset(java.lang.Comparable[] seriesKeys, java.lang.Comparable[] categoryKeys, java.lang.Number[][] starts, java.lang.Number[][] ends)
Constructs a DefaultIntervalCategoryDataset, populates it with data from the arrays, and uses the supplied names for the series and the supplied objects for the categories.DefaultIntervalCategoryDataset(java.lang.Number[][] starts, java.lang.Number[][] ends)
Constructs a dataset and populates it with data from the array.DefaultIntervalCategoryDataset(java.lang.String[] seriesNames, java.lang.Number[][] starts, java.lang.Number[][] ends)
Constructs a DefaultIntervalCategoryDataset, populates it with data from the arrays, and uses the supplied names for the series.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
Returns a clone of this dataset.private static java.lang.Number[][]
clone(java.lang.Number[][] array)
Clones a two dimensional array ofNumber
objects.private static boolean
equal(java.lang.Number[][] array1, java.lang.Number[][] array2)
Tests two double[][] arrays for equality.boolean
equals(java.lang.Object obj)
Tests this dataset for equality with an arbitrary object.private java.lang.Comparable[]
generateKeys(int count, java.lang.String prefix)
Generates an array of keys, by appending a space plus an integer (starting with 1) to the supplied prefix string.int
getCategoryCount()
Returns the number of categories in the dataset.int
getCategoryIndex(java.lang.Comparable category)
Returns the index for the given category.int
getColumnCount()
Returns the number of categories in the dataset.int
getColumnIndex(java.lang.Comparable columnKey)
Returns a column index.java.lang.Comparable
getColumnKey(int column)
Returns a column key.java.util.List
getColumnKeys()
Returns a list of the categories in the dataset.java.lang.Number
getEndValue(int series, int category)
Returns the end data value for one category in a series.java.lang.Number
getEndValue(java.lang.Comparable series, java.lang.Comparable category)
Returns the end data value for one category in a series.int
getRowCount()
Returns the number of series in the dataset (possibly zero).int
getRowIndex(java.lang.Comparable rowKey)
Returns a row index.java.lang.Comparable
getRowKey(int row)
Returns the name of the specified series.java.util.List
getRowKeys()
Returns a list of the series in the dataset.int
getSeriesCount()
Returns the number of series in the dataset (possibly zero).int
getSeriesIndex(java.lang.Comparable seriesKey)
Returns a series index.java.lang.Comparable
getSeriesKey(int series)
Returns the name of the specified series.java.lang.Number
getStartValue(int series, int category)
Returns the start data value for one category in a series.java.lang.Number
getStartValue(java.lang.Comparable series, java.lang.Comparable category)
Returns the start data value for one category in a series.java.lang.Number
getValue(int series, int category)
Returns the data value for one category in a series.java.lang.Number
getValue(java.lang.Comparable series, java.lang.Comparable category)
Returns the data value for one category in a series.void
setCategoryKeys(java.lang.Comparable[] categoryKeys)
Sets the categories for the dataset.void
setEndValue(int series, java.lang.Comparable category, java.lang.Number value)
Sets the end data value for one category in a series.void
setSeriesKeys(java.lang.Comparable[] seriesKeys)
Sets the names of the series in the dataset.void
setStartValue(int series, java.lang.Comparable category, java.lang.Number value)
Sets the start data value for one category in a series.-
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
-
-
-
-
Field Detail
-
seriesKeys
private java.lang.Comparable[] seriesKeys
The series keys.
-
categoryKeys
private java.lang.Comparable[] categoryKeys
The category keys.
-
startData
private java.lang.Number[][] startData
Storage for the start value data.
-
endData
private java.lang.Number[][] endData
Storage for the end value data.
-
-
Constructor Detail
-
DefaultIntervalCategoryDataset
public DefaultIntervalCategoryDataset(double[][] starts, double[][] ends)
Creates a new dataset using the specified data values and automatically generated series and category keys.- Parameters:
starts
- the starting values for the intervals (null
not permitted).ends
- the ending values for the intervals (null
not permitted).
-
DefaultIntervalCategoryDataset
public DefaultIntervalCategoryDataset(java.lang.Number[][] starts, java.lang.Number[][] ends)
Constructs a dataset and populates it with data from the array.The arrays are indexed as data[series][category]. Series and category names are automatically generated - you can change them using the
setSeriesKeys(Comparable[])
andsetCategoryKeys(Comparable[])
methods.- Parameters:
starts
- the start values data.ends
- the end values data.
-
DefaultIntervalCategoryDataset
public DefaultIntervalCategoryDataset(java.lang.String[] seriesNames, java.lang.Number[][] starts, java.lang.Number[][] ends)
Constructs a DefaultIntervalCategoryDataset, populates it with data from the arrays, and uses the supplied names for the series.Category names are generated automatically ("Category 1", "Category 2", etc).
- Parameters:
seriesNames
- the series names (ifnull
, series names will be generated automatically).starts
- the start values data, indexed as data[series][category].ends
- the end values data, indexed as data[series][category].
-
DefaultIntervalCategoryDataset
public DefaultIntervalCategoryDataset(java.lang.Comparable[] seriesKeys, java.lang.Comparable[] categoryKeys, java.lang.Number[][] starts, java.lang.Number[][] ends)
Constructs a DefaultIntervalCategoryDataset, populates it with data from the arrays, and uses the supplied names for the series and the supplied objects for the categories.- Parameters:
seriesKeys
- the series keys (ifnull
, series keys will be generated automatically).categoryKeys
- the category keys (ifnull
, category keys will be generated automatically).starts
- the start values data, indexed as data[series][category].ends
- the end values data, indexed as data[series][category].
-
-
Method Detail
-
getSeriesCount
public int getSeriesCount()
Returns the number of series in the dataset (possibly zero).- Specified by:
getSeriesCount
in interfaceSeriesDataset
- Specified by:
getSeriesCount
in classAbstractSeriesDataset
- Returns:
- The number of series in the dataset.
- See Also:
getRowCount()
,getCategoryCount()
-
getSeriesIndex
public int getSeriesIndex(java.lang.Comparable seriesKey)
Returns a series index.- Parameters:
seriesKey
- the series key.- Returns:
- The series index.
- See Also:
getRowIndex(Comparable)
,getSeriesKey(int)
-
getSeriesKey
public java.lang.Comparable getSeriesKey(int series)
Returns the name of the specified series.- Specified by:
getSeriesKey
in interfaceSeriesDataset
- Specified by:
getSeriesKey
in classAbstractSeriesDataset
- Parameters:
series
- the index of the required series (zero-based).- Returns:
- The name of the specified series.
- See Also:
getSeriesIndex(Comparable)
-
setSeriesKeys
public void setSeriesKeys(java.lang.Comparable[] seriesKeys)
Sets the names of the series in the dataset.- Parameters:
seriesKeys
- the new keys (null
not permitted, the length of the array must match the number of series in the dataset).- See Also:
setCategoryKeys(Comparable[])
-
getCategoryCount
public int getCategoryCount()
Returns the number of categories in the dataset.- Returns:
- The number of categories in the dataset.
- See Also:
getColumnCount()
-
getColumnKeys
public java.util.List getColumnKeys()
Returns a list of the categories in the dataset. This method supports theCategoryDataset
interface.- Specified by:
getColumnKeys
in interfaceKeyedValues2D
- Returns:
- A list of the categories in the dataset.
- See Also:
getRowKeys()
-
setCategoryKeys
public void setCategoryKeys(java.lang.Comparable[] categoryKeys)
Sets the categories for the dataset.- Parameters:
categoryKeys
- an array of objects representing the categories in the dataset.- See Also:
getRowKeys()
,setSeriesKeys(Comparable[])
-
getValue
public java.lang.Number getValue(java.lang.Comparable series, java.lang.Comparable category)
Returns the data value for one category in a series.This method is part of the CategoryDataset interface. Not particularly meaningful for this class...returns the end value.
- Specified by:
getValue
in interfaceKeyedValues2D
- Parameters:
series
- The required series (zero based index).category
- The required category.- Returns:
- The data value for one category in a series (null possible).
- See Also:
getEndValue(Comparable, Comparable)
-
getValue
public java.lang.Number getValue(int series, int category)
Returns the data value for one category in a series.This method is part of the CategoryDataset interface. Not particularly meaningful for this class...returns the end value.
- Specified by:
getValue
in interfaceValues2D
- Parameters:
series
- the required series (zero based index).category
- the required category.- Returns:
- The data value for one category in a series (null possible).
- See Also:
getEndValue(int, int)
-
getStartValue
public java.lang.Number getStartValue(java.lang.Comparable series, java.lang.Comparable category)
Returns the start data value for one category in a series.- Specified by:
getStartValue
in interfaceIntervalCategoryDataset
- Parameters:
series
- the required series.category
- the required category.- Returns:
- The start data value for one category in a series
(possibly
null
). - See Also:
getStartValue(int, int)
-
getStartValue
public java.lang.Number getStartValue(int series, int category)
Returns the start data value for one category in a series.- Specified by:
getStartValue
in interfaceIntervalCategoryDataset
- Parameters:
series
- the required series (zero based index).category
- the required category.- Returns:
- The start data value for one category in a series
(possibly
null
). - See Also:
getStartValue(Comparable, Comparable)
-
getEndValue
public java.lang.Number getEndValue(java.lang.Comparable series, java.lang.Comparable category)
Returns the end data value for one category in a series.- Specified by:
getEndValue
in interfaceIntervalCategoryDataset
- Parameters:
series
- the required series.category
- the required category.- Returns:
- The end data value for one category in a series (null possible).
- See Also:
getEndValue(int, int)
-
getEndValue
public java.lang.Number getEndValue(int series, int category)
Returns the end data value for one category in a series.- Specified by:
getEndValue
in interfaceIntervalCategoryDataset
- Parameters:
series
- the required series (zero based index).category
- the required category.- Returns:
- The end data value for one category in a series (null possible).
- See Also:
getEndValue(Comparable, Comparable)
-
setStartValue
public void setStartValue(int series, java.lang.Comparable category, java.lang.Number value)
Sets the start data value for one category in a series.- Parameters:
series
- the series (zero-based index).category
- the category.value
- The value.- See Also:
setEndValue(int, Comparable, Number)
-
setEndValue
public void setEndValue(int series, java.lang.Comparable category, java.lang.Number value)
Sets the end data value for one category in a series.- Parameters:
series
- the series (zero-based index).category
- the category.value
- the value.- See Also:
setStartValue(int, Comparable, Number)
-
getCategoryIndex
public int getCategoryIndex(java.lang.Comparable category)
Returns the index for the given category.- Parameters:
category
- the category (null
not permitted).- Returns:
- The index.
- See Also:
getColumnIndex(Comparable)
-
generateKeys
private java.lang.Comparable[] generateKeys(int count, java.lang.String prefix)
Generates an array of keys, by appending a space plus an integer (starting with 1) to the supplied prefix string.- Parameters:
count
- the number of keys required.prefix
- the name prefix.- Returns:
- An array of prefixN with N = { 1 .. count}.
-
getColumnKey
public java.lang.Comparable getColumnKey(int column)
Returns a column key.- Specified by:
getColumnKey
in interfaceKeyedValues2D
- Parameters:
column
- the column index.- Returns:
- The column key.
- See Also:
getRowKey(int)
-
getColumnIndex
public int getColumnIndex(java.lang.Comparable columnKey)
Returns a column index.- Specified by:
getColumnIndex
in interfaceKeyedValues2D
- Parameters:
columnKey
- the column key (null
not permitted).- Returns:
- The column index.
- See Also:
getCategoryIndex(Comparable)
-
getRowIndex
public int getRowIndex(java.lang.Comparable rowKey)
Returns a row index.- Specified by:
getRowIndex
in interfaceKeyedValues2D
- Parameters:
rowKey
- the row key.- Returns:
- The row index.
- See Also:
getSeriesIndex(Comparable)
-
getRowKeys
public java.util.List getRowKeys()
Returns a list of the series in the dataset. This method supports theCategoryDataset
interface.- Specified by:
getRowKeys
in interfaceKeyedValues2D
- Returns:
- A list of the series in the dataset.
- See Also:
getColumnKeys()
-
getRowKey
public java.lang.Comparable getRowKey(int row)
Returns the name of the specified series.- Specified by:
getRowKey
in interfaceKeyedValues2D
- Parameters:
row
- the index of the required row/series (zero-based).- Returns:
- The name of the specified series.
- See Also:
getColumnKey(int)
-
getColumnCount
public int getColumnCount()
Returns the number of categories in the dataset. This method is part of theCategoryDataset
interface.- Specified by:
getColumnCount
in interfaceValues2D
- Returns:
- The number of categories in the dataset.
- See Also:
getCategoryCount()
,getRowCount()
-
getRowCount
public int getRowCount()
Returns the number of series in the dataset (possibly zero).- Specified by:
getRowCount
in interfaceValues2D
- Returns:
- The number of series in the dataset.
- See Also:
getSeriesCount()
,getColumnCount()
-
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 a clone of this dataset.- Overrides:
clone
in classAbstractDataset
- Returns:
- A clone.
- Throws:
java.lang.CloneNotSupportedException
- if there is a problem cloning the dataset.
-
equal
private static boolean equal(java.lang.Number[][] array1, java.lang.Number[][] array2)
Tests two double[][] arrays for equality.- Parameters:
array1
- the first array (null
permitted).array2
- the second arrray (null
permitted).- Returns:
- A boolean.
-
clone
private static java.lang.Number[][] clone(java.lang.Number[][] array)
Clones a two dimensional array ofNumber
objects.- Parameters:
array
- the array (null
not permitted).- Returns:
- A clone of the array.
-
-