org.progeeks.jfreechart
Class TimeSeriesTable

java.lang.Object
  extended by org.jfree.data.general.AbstractDataset
      extended by org.jfree.data.general.AbstractSeriesDataset
          extended by org.jfree.data.xy.AbstractXYDataset
              extended by org.jfree.data.xy.AbstractIntervalXYDataset
                  extended by org.jfree.data.time.TimeSeriesCollection
                      extended by org.progeeks.jfreechart.TimeSeriesTable
All Implemented Interfaces:
java.io.ObjectInputValidation, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, org.jfree.data.DomainInfo, org.jfree.data.general.Dataset, org.jfree.data.general.SeriesChangeListener, org.jfree.data.general.SeriesDataset, org.jfree.data.xy.IntervalXYDataset, org.jfree.data.xy.TableXYDataset, org.jfree.data.xy.XYDataset

public class TimeSeriesTable
extends org.jfree.data.time.TimeSeriesCollection
implements org.jfree.data.xy.TableXYDataset

TimeSeriesCollection which also implements the TableXYDataset interface. Can be used with StackedXYAreaRenderer. Also fills in any missing TimePeriods with 0 value entries when a series is added to the collection.

IMPORTANT: Only allow one thread to modify the child Series of this object at once or the normalization steps used to keep all the series in sync (and abide by the TableXYDataset contract) may fail.

Version:
$Revision: 1.2 $
Author:
esword
See Also:
Serialized Form

Constructor Summary
TimeSeriesTable()
           
 
Method Summary
protected  void addTimePeriod(org.jfree.data.time.RegularTimePeriod timePeriod)
          Add a 0 value item to every existing series at the specified timePeriod.
protected  void fillHoles(org.jfree.data.time.TimeSeries series)
          Iterate over the series and insert data items with 0 values in TimePeriods that don't have any data.
 int getItemCount()
           
 void seriesChanged(org.jfree.data.general.SeriesChangeEvent event)
          Ensures that the data still fits the needs of a table - no blanks in any series.
protected  void synchronizeSeries(org.jfree.data.time.TimeSeries changedSeries)
          Ensures that a given series has all the x-values that the other series have and visa-versa.
 
Methods inherited from class org.jfree.data.time.TimeSeriesCollection
addSeries, equals, getDomainBounds, getDomainIsPointsInTime, getDomainLowerBound, getDomainUpperBound, getEndX, getEndY, getItemCount, getSeries, getSeries, getSeries, getSeriesCount, getSeriesKey, getStartX, getStartY, getSurroundingItems, getX, getX, getXPosition, getXValue, getY, hashCode, removeAllSeries, removeSeries, removeSeries, setDomainIsPointsInTime, setXPosition
 
Methods inherited from class org.jfree.data.xy.AbstractIntervalXYDataset
getEndXValue, getEndYValue, getStartXValue, getStartYValue
 
Methods inherited from class org.jfree.data.xy.AbstractXYDataset
getDomainOrder, getYValue
 
Methods inherited from class org.jfree.data.general.AbstractSeriesDataset
indexOf
 
Methods inherited from class org.jfree.data.general.AbstractDataset
addChangeListener, clone, fireDatasetChanged, getGroup, hasListener, 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.xy.XYDataset
getDomainOrder, getItemCount, getX, getXValue, getY, getYValue
 
Methods inherited from interface org.jfree.data.general.SeriesDataset
getSeriesCount, getSeriesKey, indexOf
 
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
 

Constructor Detail

TimeSeriesTable

public TimeSeriesTable()
Method Detail

getItemCount

public int getItemCount()
Specified by:
getItemCount in interface org.jfree.data.xy.TableXYDataset

seriesChanged

public void seriesChanged(org.jfree.data.general.SeriesChangeEvent event)
Ensures that the data still fits the needs of a table - no blanks in any series. Ignores any events that come in while it is already processing an event. This is a (hopefully) temporary hack so that we ignore change events that we cause.

Specified by:
seriesChanged in interface org.jfree.data.general.SeriesChangeListener
Overrides:
seriesChanged in class org.jfree.data.general.AbstractSeriesDataset

fillHoles

protected void fillHoles(org.jfree.data.time.TimeSeries series)
Iterate over the series and insert data items with 0 values in TimePeriods that don't have any data. For example, if the series is based on hours and has items for 1:00, 2:00, and 5:00, this will insert items for 3:00 and 4:00.

Parameters:
series -

synchronizeSeries

protected void synchronizeSeries(org.jfree.data.time.TimeSeries changedSeries)
Ensures that a given series has all the x-values that the other series have and visa-versa.


addTimePeriod

protected void addTimePeriod(org.jfree.data.time.RegularTimePeriod timePeriod)
Add a 0 value item to every existing series at the specified timePeriod.

Parameters:
timePeriod -


Copyright © 2002-2003 Paul Speed. All Rights Reserved.