org.jfree.data.time
Class TimeTableXYDataset

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.time.TimeTableXYDataset
All Implemented Interfaces:
java.lang.Cloneable, Dataset, DomainInfo, java.util.EventListener, IntervalXYDataset, java.io.ObjectInputValidation, java.io.Serializable, SeriesChangeListener, SeriesDataset, TableXYDataset, XYDataset

public class TimeTableXYDataset
extends AbstractIntervalXYDataset
implements java.lang.Cloneable, IntervalXYDataset, DomainInfo, TableXYDataset

A dataset for regular time periods that implements the TableXYDataset interface.

Author:
andreas.schroeder
See Also:
TableXYDataset, Serialized Form

Constructor Summary
TimeTableXYDataset()
          Creates a new dataset.
TimeTableXYDataset(java.util.TimeZone zone)
          Creates a new dataset with the given time zone.
TimeTableXYDataset(java.util.TimeZone zone, java.util.Locale locale)
          Creates a new dataset with the given time zone and locale.
 
Method Summary
 void add(TimePeriod period, double y, java.lang.String seriesName)
          Adds a new data item to the dataset and sends a DatasetChangeEvent to all registered listeners.
 void add(TimePeriod period, java.lang.Number y, java.lang.String seriesName, boolean notify)
          Adds a new data item to the dataset.
 java.lang.Object clone()
          Returns a clone 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.
 boolean getDomainIsPointsInTime()
          Returns a flag that controls whether the domain is treated as 'points in time'.
 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.
 double getEndXValue(int series, int item)
          Returns the end x-value (as a double primitive) for an item within a series.
 java.lang.Number getEndY(int series, int item)
          Returns the ending Y value for the specified series and item.
 int getItemCount()
          Returns the number of items in ALL series.
 int getItemCount(int series)
          Returns the number of items in a series.
 int getSeriesCount()
          Returns the number of series in the dataset.
 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.
 double getStartXValue(int series, int item)
          Returns the start x-value (as a double primitive) for an item within a series.
 java.lang.Number getStartY(int series, int item)
          Returns the starting Y value for the specified series and item.
 TimePeriod getTimePeriod(int item)
          Returns the time period for the specified item.
 java.lang.Number getX(int series, int item)
          Returns the x-value for an item within a series.
 TimePeriodAnchor getXPosition()
          Returns the position within each time period that is used for the X value.
 double getXValue(int series, int item)
          Returns the x-value (as a double primitive) for an item within a series.
 java.lang.Number getY(int series, int item)
          Returns the y-value for an item within a series.
 void remove(TimePeriod period, java.lang.String seriesName)
          Removes an existing data item from the dataset.
 void remove(TimePeriod period, java.lang.String seriesName, boolean notify)
          Removes an existing data item from the dataset.
 void setDomainIsPointsInTime(boolean flag)
          Sets a flag that controls whether the domain is treated as 'points in time', or time periods.
 void setXPosition(TimePeriodAnchor anchor)
          Sets the position within each time period that is used for the X values, then sends a DatasetChangeEvent to all registered listeners.
 
Methods inherited from class org.jfree.data.xy.AbstractIntervalXYDataset
getEndYValue, getStartYValue
 
Methods inherited from class org.jfree.data.xy.AbstractXYDataset
getDomainOrder, getYValue
 
Methods inherited from class org.jfree.data.general.AbstractSeriesDataset
seriesChanged
 
Methods inherited from class org.jfree.data.general.AbstractDataset
addChangeListener, fireDatasetChanged, getGroup, notifyListeners, removeChangeListener, setGroup, validateObject
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jfree.data.xy.IntervalXYDataset
getEndYValue, getStartYValue
 
Methods inherited from interface org.jfree.data.xy.XYDataset
getDomainOrder, getYValue
 
Methods inherited from interface org.jfree.data.general.Dataset
addChangeListener, getGroup, removeChangeListener, setGroup
 

Constructor Detail

TimeTableXYDataset

public TimeTableXYDataset()
Creates a new dataset.


TimeTableXYDataset

public TimeTableXYDataset(java.util.TimeZone zone)
Creates a new dataset with the given time zone.

Parameters:
zone - the time zone to use (null not permitted).

TimeTableXYDataset

public TimeTableXYDataset(java.util.TimeZone zone,
                          java.util.Locale locale)
Creates a new dataset with the given time zone and locale.

Parameters:
zone - the time zone to use (null not permitted).
locale - the locale to use (null not permitted).
Method Detail

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

Parameters:
flag - the new value of the flag.

getXPosition

public TimePeriodAnchor getXPosition()
Returns the position within each time period that is used for the X value.

Returns:
The anchor position (never null).

setXPosition

public void setXPosition(TimePeriodAnchor anchor)
Sets the position within each time period that is used for the X values, then sends a DatasetChangeEvent to all registered listeners.

Parameters:
anchor - the anchor position (null not permitted).

add

public void add(TimePeriod period,
                double y,
                java.lang.String seriesName)
Adds a new data item to the dataset and sends a DatasetChangeEvent to all registered listeners.

Parameters:
period - the time period.
y - the value for this period.
seriesName - the name of the series to add the value.

add

public void add(TimePeriod period,
                java.lang.Number y,
                java.lang.String seriesName,
                boolean notify)
Adds a new data item to the dataset.

Parameters:
period - the time period (null not permitted).
y - the value for this period (null permitted).
seriesName - the name of the series to add the value (null not permitted).
notify - whether dataset listener are notified or not.

remove

public void remove(TimePeriod period,
                   java.lang.String seriesName)
Removes an existing data item from the dataset.

Parameters:
period - the (existing!) time period of the value to remove (null not permitted).
seriesName - the (existing!) series name to remove the value (null not permitted).

remove

public void remove(TimePeriod period,
                   java.lang.String seriesName,
                   boolean notify)
Removes an existing data item from the dataset.

Parameters:
period - the (existing!) time period of the value to remove (null not permitted).
seriesName - the (existing!) series name to remove the value (null not permitted).
notify - whether dataset listener are notified or not.

getTimePeriod

public TimePeriod getTimePeriod(int item)
Returns the time period for the specified item. Bear in mind that all series share the same set of time periods.

Parameters:
item - the item index (0 <= i <= getItemCount()).
Returns:
The time period.

getItemCount

public int getItemCount()
Returns the number of items in ALL series.

Specified by:
getItemCount in interface TableXYDataset
Returns:
The item count.

getItemCount

public int getItemCount(int series)
Returns the number of items in a series. This is the same value that is returned by getItemCount() since all series share the same x-values (time periods).

Specified by:
getItemCount in interface XYDataset
Parameters:
series - the series (zero-based index, ignored).
Returns:
The number of items within the series.

getSeriesCount

public int getSeriesCount()
Returns the number of series in the dataset.

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 (zero-based index).
Returns:
The name of the series.

getX

public java.lang.Number getX(int series,
                             int item)
Returns the x-value for an item within a series. The x-values may or may not be returned in ascending order, that is up to the class implementing the interface.

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

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 class AbstractXYDataset
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 (zero-based index).
item - the item within a series (zero-based index).
Returns:
The starting X value for the specified series and item.

getStartXValue

public double getStartXValue(int series,
                             int item)
Returns the start x-value (as a double primitive) for an item within a series.

Specified by:
getStartXValue in interface IntervalXYDataset
Overrides:
getStartXValue in class AbstractIntervalXYDataset
Parameters:
series - the series index (zero-based).
item - the item index (zero-based).
Returns:
The 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 (zero-based index).
item - the item within a series (zero-based index).
Returns:
The ending X value for the specified series and item.

getEndXValue

public double getEndXValue(int series,
                           int item)
Returns the end x-value (as a double primitive) for an item within a series.

Specified by:
getEndXValue in interface IntervalXYDataset
Overrides:
getEndXValue in class AbstractIntervalXYDataset
Parameters:
series - the series index (zero-based).
item - the item index (zero-based).
Returns:
The value.

getY

public java.lang.Number getY(int series,
                             int item)
Returns the y-value for an item within a series.

Specified by:
getY in interface XYDataset
Parameters:
series - the series (zero-based index).
item - the item (zero-based index).
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 (zero-based index).
item - the item within a series (zero-based index).
Returns:
The starting Y value for the specified series and item.

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 (zero-based index).
item - the item within a series (zero-based index).
Returns:
The ending Y value for the specified series and item.

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.

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 controls whether or not the x-intervals are taken into account.
Returns:
The range.

equals

public boolean equals(java.lang.Object obj)
Tests this dataset for equality with an arbitrary object.

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 class AbstractDataset
Returns:
A clone.
Throws:
java.lang.CloneNotSupportedException - if the dataset cannot be cloned.