org.jfree.data.time
Class TimeSeriesCollection

java.lang.Object
  extended byorg.jfree.data.AbstractDataset
      extended byorg.jfree.data.AbstractSeriesDataset
          extended byorg.jfree.data.AbstractXYDataset
              extended byorg.jfree.data.AbstractIntervalXYDataset
                  extended byorg.jfree.data.time.TimeSeriesCollection
All Implemented Interfaces:
java.lang.Cloneable, Dataset, DomainInfo, java.util.EventListener, IntervalXYDataset, java.io.ObjectInputValidation, java.io.Serializable, SeriesChangeListener, SeriesDataset, XYDataset

public class TimeSeriesCollection
extends AbstractIntervalXYDataset
implements IntervalXYDataset, DomainInfo, java.io.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.

See Also:
Serialized Form

Field Summary
static int END
          Useful constant for controlling the x-value returned for a time period.
static int MIDDLE
          Useful constant for controlling the x-value returned for a time period.
static int START
          Useful constant for controlling the x-value returned for a time period.
 
Constructor Summary
TimeSeriesCollection()
          Constructs an empty dataset, tied to the default timezone.
TimeSeriesCollection(TimeSeries series)
          Constructs a dataset containing a single series (more can be added), tied to the default timezone.
TimeSeriesCollection(TimeSeries series, java.util.TimeZone zone)
          Constructs a dataset containing a single series (more can be added), tied to a specific timezone.
TimeSeriesCollection(java.util.TimeZone zone)
          Constructs an empty dataset, tied to a specific timezone.
 
Method Summary
 void addSeries(TimeSeries series)
          Adds a series to the collection.
 boolean equals(java.lang.Object obj)
          Tests this time series collection for equality with another object.
 boolean getDomainIsPointsInTime()
          Returns a flag that controls whether the domain is treated as 'points in time'.
 Range getDomainRange()
          Returns the range of the values in the series domain.
 java.lang.Number getEndXValue(int series, int item)
          Returns the ending X value for the specified series and item.
 java.lang.Number getEndYValue(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.
 java.lang.Number getMaximumDomainValue()
          Returns the maximum value in the dataset (or null if all the values in the domain are null).
 java.lang.Number getMinimumDomainValue()
          Returns the minimum value in the dataset (or null if all the values in the domain are null).
 int getPosition()
          Deprecated. Use getXPosition().
 java.util.List getSeries()
          Returns a list of all the series in the collection.
 TimeSeries getSeries(int series)
          Returns a series.
 TimeSeries getSeries(java.lang.String name)
          Returns the series with the specified name, or null if there is no such 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 getStartXValue(int series, int item)
          Returns the starting X value for the specified series and item.
 java.lang.Number getStartYValue(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.
 TimePeriodAnchor getXPosition()
          Returns the position within each time period that is used for the X value when the collection is used as an XYDataset.
 java.lang.Number getXValue(int series, int item)
          Returns the x-value for the specified series and item.
 java.lang.Number getYValue(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.
 void removeSeries(int index)
          Removes a series from the collection.
 void removeSeries(TimeSeries series)
          Removes the specified series from the collection.
 void setDomainIsPointsInTime(boolean flag)
          Sets a flag that controls whether the domain is treated as 'points in time', or time periods.
 void setPosition(int position)
          Deprecated. Use setXPosition(...).
 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.
 
Methods inherited from class org.jfree.data.AbstractIntervalXYDataset
getEndX, getEndY, getStartX, getStartY
 
Methods inherited from class org.jfree.data.AbstractXYDataset
getX, getY
 
Methods inherited from class org.jfree.data.AbstractSeriesDataset
seriesChanged
 
Methods inherited from class org.jfree.data.AbstractDataset
addChangeListener, clone, fireDatasetChanged, getGroup, notifyListeners, removeChangeListener, setGroup, validateObject
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jfree.data.IntervalXYDataset
getEndX, getEndY, getStartX, getStartY
 
Methods inherited from interface org.jfree.data.XYDataset
getX, getY
 
Methods inherited from interface org.jfree.data.Dataset
addChangeListener, getGroup, removeChangeListener, setGroup
 

Field Detail

START

public static final int START
Useful constant for controlling the x-value returned for a time period.

See Also:
Constant Field Values

MIDDLE

public static final int MIDDLE
Useful constant for controlling the x-value returned for a time period.

See Also:
Constant Field Values

END

public static final int END
Useful constant for controlling the x-value returned for a time period.

See Also:
Constant Field Values
Constructor Detail

TimeSeriesCollection

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


TimeSeriesCollection

public TimeSeriesCollection(java.util.TimeZone zone)
Constructs an empty dataset, tied to a specific timezone.

Parameters:
zone - the timezone.

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.

TimeSeriesCollection

public TimeSeriesCollection(TimeSeries series,
                            java.util.TimeZone zone)
Constructs a dataset containing a single series (more can be added), tied to a specific timezone.

Parameters:
series - the series.
zone - the timezone.
Method Detail

getPosition

public int getPosition()
Deprecated. Use getXPosition().

Returns the position of the x-value returned for a time period (START, MIDDLE, or END).

Returns:
The position.

setPosition

public void setPosition(int position)
Deprecated. Use setXPosition(...).

Sets the position - this controls the x-value that is returned for a particular time period.

Use the constants START, MIDDLE and END.

Parameters:
position - the position.

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.

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. A DatasetChangeEvent is sent to all registered listeners.

Parameters:
anchor - the anchor position.

getDomainIsPointsInTime

public boolean getDomainIsPointsInTime()
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.

setDomainIsPointsInTime

public void setDomainIsPointsInTime(boolean flag)
Sets a flag that controls whether the domain is treated as 'points in time', or time periods.

Parameters:
flag - The new value of the flag.

getSeries

public java.util.List getSeries()
Returns a list of all the series in the collection.

Returns:
The list (which is unmodifiable).

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.

getSeries

public TimeSeries getSeries(int series)
Returns a series.

Parameters:
series - The index of the series (zero-based).
Returns:
the series.

getSeries

public TimeSeries getSeries(java.lang.String name)
Returns the series with the specified name, or null if there is no such series.

Parameters:
name - the series name.
Returns:
The series with the given name.

getSeriesName

public java.lang.String getSeriesName(int series)
Returns the name of a series.

This method is provided for convenience.

Specified by:
getSeriesName in interface SeriesDataset
Specified by:
getSeriesName in class AbstractSeriesDataset
Parameters:
series - The index of the series (zero-based).
Returns:
the name of a series.

addSeries

public void addSeries(TimeSeries series)
Adds a series to the collection.

Notifies all registered listeners that the dataset has changed.

Parameters:
series - the time series.

removeSeries

public void removeSeries(TimeSeries series)
Removes the specified series from the collection.

Parameters:
series - the series to remove.

removeSeries

public void removeSeries(int index)
Removes a series from the collection.

Parameters:
index - the series index (zero-based).

removeAllSeries

public void removeAllSeries()
Removes all the series from the collection. A DatasetChangeEvent is sent to all registered listeners.


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 index of the series of interest (zero-based).
Returns:
the number of items in the specified series.

getXValue

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

Specified by:
getXValue in interface XYDataset
Parameters:
series - The series (zero-based index).
item - The item (zero-based index).
Returns:
the x-value for the specified series and item.

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.

getStartXValue

public java.lang.Number getStartXValue(int series,
                                       int item)
Returns the starting X value for the specified series and item.

Specified by:
getStartXValue in interface IntervalXYDataset
Parameters:
series - The series (zero-based index).
item - The item (zero-based index).
Returns:
the starting X value for the specified series and item.

getEndXValue

public java.lang.Number getEndXValue(int series,
                                     int item)
Returns the ending X value for the specified series and item.

Specified by:
getEndXValue in interface IntervalXYDataset
Parameters:
series - The series (zero-based index).
item - The item (zero-based index).
Returns:
the ending X value for the specified series and item.

getYValue

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

Specified by:
getYValue in interface XYDataset
Parameters:
series - The series (zero-based index).
item - The item (zero-based index).
Returns:
the y-value for the specified series and item.

getStartYValue

public java.lang.Number getStartYValue(int series,
                                       int item)
Returns the starting Y value for the specified series and item.

Specified by:
getStartYValue in interface IntervalXYDataset
Parameters:
series - The series (zero-based index).
item - The item (zero-based index).
Returns:
the starting Y value for the specified series and item.

getEndYValue

public java.lang.Number getEndYValue(int series,
                                     int item)
Returns the ending Y value for the specified series and item.

Specified by:
getEndYValue in interface IntervalXYDataset
Parameters:
series - The series (zero-based index).
item - The item (zero-based index).
Returns:
the ending Y value for the specified series and item.

getMinimumDomainValue

public java.lang.Number getMinimumDomainValue()
Returns the minimum value in the dataset (or null if all the values in the domain are null).

Specified by:
getMinimumDomainValue in interface DomainInfo
Returns:
the minimum value.

getMaximumDomainValue

public java.lang.Number getMaximumDomainValue()
Returns the maximum value in the dataset (or null if all the values in the domain are null).

Specified by:
getMaximumDomainValue in interface DomainInfo
Returns:
the maximum value.

getDomainRange

public Range getDomainRange()
Returns the range of the values in the series domain.

Specified by:
getDomainRange in interface DomainInfo
Returns:
The range (possibly null).

equals

public boolean equals(java.lang.Object obj)
Tests this time series collection for equality with another object.

Parameters:
obj - the other object.
Returns:
A boolean.

hashCode

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

Returns:
the hashcode