org.jfree.data.time

Class TimeSeriesCollection

Implemented Interfaces:
Cloneable, Dataset, DomainInfo, EventListener, IntervalXYDataset, ObjectInputValidation, Serializable, Dataset, SeriesChangeListener, SeriesDataset, XYDataset

public class TimeSeriesCollection
extends AbstractIntervalXYDataset
implements XYDataset, IntervalXYDataset, DomainInfo, Serializable

A collection of time series objects. This class implements the XYDataset interface, as well as the extended IntervalXYDataset interface. This makes it a convenient dataset for use with the XYPlot class.

Constructor Summary

TimeSeriesCollection()
Constructs an empty dataset, tied to the default timezone.
TimeSeriesCollection(TimeZone zone)
Constructs an empty dataset, tied to a specific timezone.
TimeSeriesCollection(TimeSeries series)
Constructs a dataset containing a single series (more can be added), tied to the default timezone.
TimeSeriesCollection(TimeSeries series, TimeZone zone)
Constructs a dataset containing a single series (more can be added), tied to a specific timezone.

Method Summary

void
addSeries(TimeSeries series)
Adds a series to the collection and sends a DatasetChangeEvent to all registered listeners.
boolean
equals(Object obj)
Tests this time series collection for equality with another object.
Range
getDomainBounds(boolean includeInterval)
Returns the range of the values in this dataset's domain.
boolean
getDomainIsPointsInTime()
Deprecated. This flag is no longer used (as of 1.0.1).
double
getDomainLowerBound(boolean includeInterval)
Returns the minimum x-value in the dataset.
double
getDomainUpperBound(boolean includeInterval)
Returns the maximum x-value in the dataset.
Number
getEndX(int series, int item)
Returns the ending X value for the specified series and item.
Number
getEndY(int series, int item)
Returns the ending Y value for the specified series and item.
int
getItemCount(int series)
Returns the number of items in the specified series.
List
getSeries()
Returns a list of all the series in the collection.
TimeSeries
getSeries(String key)
Returns the series with the specified key, or null if there is no such series.
TimeSeries
getSeries(int series)
Returns a series.
int
getSeriesCount()
Returns the number of series in the collection.
Comparable
getSeriesKey(int series)
Returns the key for a series.
Number
getStartX(int series, int item)
Returns the starting X value for the specified series and item.
Number
getStartY(int series, int item)
Returns the starting Y value for the specified series and item.
int[]
getSurroundingItems(int series, long milliseconds)
Returns the indices of the two data items surrounding a particular millisecond value.
Number
getX(int series, int item)
Returns the x-value for the specified series and item.
protected long
getX(RegularTimePeriod period)
Returns the x-value for a time period.
TimePeriodAnchor
getXPosition()
Returns the position within each time period that is used for the X value when the collection is used as an XYDataset.
double
getXValue(int series, int item)
Returns the x-value (as a double primitive) for an item within a series.
Number
getY(int series, int item)
Returns the y-value for the specified series and item.
int
hashCode()
Returns a hash code value for the object.
void
removeAllSeries()
Removes all the series from the collection and sends a DatasetChangeEvent to all registered listeners.
void
removeSeries(int index)
Removes a series from the collection.
void
removeSeries(TimeSeries series)
Removes the specified series from the collection and sends a DatasetChangeEvent to all registered listeners.
void
setDomainIsPointsInTime(boolean flag)
Deprecated. This flag is no longer used, as of 1.0.1.
void
setXPosition(TimePeriodAnchor anchor)
Sets the position within each time period that is used for the X values when the collection is used as an XYDataset, then sends a DatasetChangeEvent is sent 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

getSeriesCount, getSeriesKey, indexOf, seriesChanged

Methods inherited from class org.jfree.data.general.AbstractDataset

addChangeListener, clone, fireDatasetChanged, getGroup, hasListener, notifyListeners, removeChangeListener, setGroup, validateObject

Constructor Details

TimeSeriesCollection

public TimeSeriesCollection()
Constructs an empty dataset, tied to the default timezone.

TimeSeriesCollection

public TimeSeriesCollection(TimeZone zone)
Constructs an empty dataset, tied to a specific timezone.
Parameters:
zone - the timezone (null permitted, will use TimeZone.getDefault() in that case).

TimeSeriesCollection

public TimeSeriesCollection(TimeSeries series)
Constructs a dataset containing a single series (more can be added), tied to the default timezone.
Parameters:
series - the series (null permitted).

TimeSeriesCollection

public TimeSeriesCollection(TimeSeries series,
                            TimeZone zone)
Constructs a dataset containing a single series (more can be added), tied to a specific timezone.
Parameters:
series - a series to add to the collection (null permitted).
zone - the timezone (null permitted, will use TimeZone.getDefault() in that case).

Method Details

addSeries

public void addSeries(TimeSeries series)
Adds a series to the collection and sends a DatasetChangeEvent to all registered listeners.
Parameters:
series - the series (null not permitted).

equals

public boolean equals(Object obj)
Tests this time series collection for equality with another object.
Parameters:
obj - the other object.
Returns:
A boolean.

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.

getDomainIsPointsInTime

public boolean getDomainIsPointsInTime()

Deprecated. This flag is no longer used (as of 1.0.1).

Returns a flag that controls whether the domain is treated as 'points in time'. This flag is used when determining the max and min values for the domain. If true, then only the x-values are considered for the max and min values. If false, then the start and end x-values will also be taken into consideration.
Returns:
The flag.

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.

getEndX

public 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 value.

getEndY

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

getItemCount

public int getItemCount(int series)
Returns the number of items in the specified series. This method is provided for convenience.
Specified by:
getItemCount in interface XYDataset
Parameters:
series - the series index (zero-based).
Returns:
The item count.

getSeries

public List getSeries()
Returns a list of all the series in the collection.
Returns:
The list (which is unmodifiable).

getSeries

public TimeSeries getSeries(String key)
Returns the series with the specified key, or null if there is no such series.
Parameters:
key - the series key (null permitted).
Returns:
The series with the given key.

getSeries

public TimeSeries getSeries(int series)
Returns a series.
Parameters:
series - the index of the series (zero-based).
Returns:
The series.

getSeriesCount

public int getSeriesCount()
Returns the number of series in the collection.
Specified by:
getSeriesCount in interface SeriesDataset
Overrides:
getSeriesCount in interface AbstractSeriesDataset
Returns:
The series count.

getSeriesKey

public Comparable getSeriesKey(int series)
Returns the key for a series.
Specified by:
getSeriesKey in interface SeriesDataset
Overrides:
getSeriesKey in interface AbstractSeriesDataset
Parameters:
series - the index of the series (zero-based).
Returns:
The key for a series.

getStartX

public 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 value.

getStartY

public 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 value (possibly null).

getSurroundingItems

public int[] getSurroundingItems(int series,
                                 long milliseconds)
Returns the indices of the two data items surrounding a particular millisecond value.
Parameters:
series - the series index.
milliseconds - the time.
Returns:
An array containing the (two) indices of the items surrounding the time.

getX

public 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 value.

getX

protected long getX(RegularTimePeriod period)
Returns the x-value for a time period.
Parameters:
period - the time period (null not permitted).
Returns:
The x-value.

getXPosition

public TimePeriodAnchor getXPosition()
Returns the position within each time period that is used for the X value when the collection is used as an XYDataset.
Returns:
The anchor position (never null).

getXValue

public double getXValue(int series,
                        int item)
Returns the x-value (as a double primitive) for an item within a series.
Specified by:
getXValue in interface XYDataset
Overrides:
getXValue in interface AbstractXYDataset
Parameters:
series - the series (zero-based index).
item - the item (zero-based index).
Returns:
The x-value.

getY

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

hashCode

public int hashCode()
Returns a hash code value for the object.
Returns:
The hashcode

removeAllSeries

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

removeSeries

public void removeSeries(int index)
Removes a series from the collection.
Parameters:
index - the series index (zero-based).

removeSeries

public void removeSeries(TimeSeries series)
Removes the specified series from the collection and sends a DatasetChangeEvent to all registered listeners.
Parameters:
series - the series (null not permitted).

setDomainIsPointsInTime

public void setDomainIsPointsInTime(boolean flag)

Deprecated. This flag is no longer used, as of 1.0.1. The includeInterval flag in methods such as getDomainBounds(boolean) makes this unnecessary.

Sets a flag that controls whether the domain is treated as 'points in time', or time periods.
Parameters:
flag - the flag.

setXPosition

public void setXPosition(TimePeriodAnchor anchor)
Sets the position within each time period that is used for the X values when the collection is used as an XYDataset, then sends a DatasetChangeEvent is sent to all registered listeners.
Parameters:
anchor - the anchor position (null not permitted).