org.jfree.data.time
public class DynamicTimeSeriesCollection extends AbstractIntervalXYDataset implements IntervalXYDataset, DomainInfo, RangeInfo
Like FastTimeSeriesCollection, this class is a functional replacement for JFreeChart's TimeSeriesCollection _and_ TimeSeries classes. FastTimeSeriesCollection is appropriate for a fixed time range; for real-time applications this subclass adds the ability to append new data and discard the oldest. In this class, the arrays used in FastTimeSeriesCollection become FIFO's. NOTE:As presented here, all data is assumed >= 0, an assumption which is embodied only in methods associated with interface RangeInfo.
| Nested Class Summary | |
|---|---|
| protected class | DynamicTimeSeriesCollection.ValueSequence
A wrapper for a fixed array of float values. |
| Field Summary | |
|---|---|
| static int | END
Useful constant for controlling the x-value returned for a time period. |
| protected int | historyCount The history count. |
| static int | MIDDLE
Useful constant for controlling the x-value returned for a time period. |
| protected RegularTimePeriod[] | pointsInTime Storage for the x-values. |
| static int | START
Useful constant for controlling the x-value returned for a time
period. |
| protected DynamicTimeSeriesCollection.ValueSequence[] | valueHistory An array for storing the objects that represent each series. |
| protected Calendar | workingCalendar A working calendar (to recycle) |
| Constructor Summary | |
|---|---|
| DynamicTimeSeriesCollection(int nSeries, int nMoments)
Constructs a dataset with capacity for N series, tied to default
timezone.
| |
| DynamicTimeSeriesCollection(int nSeries, int nMoments, TimeZone zone)
Constructs an empty dataset, tied to a specific timezone.
| |
| DynamicTimeSeriesCollection(int nSeries, int nMoments, RegularTimePeriod timeSample)
Creates a new dataset.
| |
| DynamicTimeSeriesCollection(int nSeries, int nMoments, RegularTimePeriod timeSample, TimeZone zone)
Creates a new dataset.
| |
| Method Summary | |
|---|---|
| void | addSeries(float[] values, int seriesNumber, Comparable seriesKey)
Adds a series to the dataset. |
| void | addValue(int seriesNumber, int index, float value)
Adds a value to a series.
|
| RegularTimePeriod | advanceTime()
Adjust the array offset as needed when a new time-period is added:
Increments the indices "oldestAt" and "newestAt", mod(array length),
zeroes the series values at newestAt, returns the new TimePeriod.
|
| void | appendData(float[] newData)
Appends new data.
|
| void | appendData(float[] newData, int insertionIndex, int refresh)
Appends data at specified index, for loading up with data from file(s).
|
| protected void | findDomainLimits()
Finds the domain limits. |
| protected double | findMaxValue()
Returns the maximum value.
|
| protected void | fireSeriesChanged()
Sends a SeriesChangeEvent to all registered listeners. |
| Range | getDomainBounds(boolean includeInterval)
Returns the range of the values in this dataset's domain.
|
| 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 end x-value.
|
| Number | getEndY(int series, int item)
Returns the end y-value.
|
| int | getItemCount(int series)
Returns the number of items in a series.
|
| int | getNewestIndex()
Returns the index of the newest data item.
|
| RegularTimePeriod | getNewestTime()
Returns the newest time.
|
| int | getOldestIndex()
Returns the index of the oldest data item.
|
| RegularTimePeriod | getOldestTime()
Returns the oldest time.
|
| int | getPosition()
Returns the x position type (START, MIDDLE or END).
|
| Range | getRangeBounds(boolean includeInterval)
Returns the value range.
|
| double | getRangeLowerBound(boolean includeInterval)
Returns the minimum range value.
|
| double | getRangeUpperBound(boolean includeInterval)
Returns the maximum range value.
|
| 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 start x-value.
|
| Number | getStartY(int series, int item)
Returns the start y-value.
|
| Number | getX(int series, int item)
Returns the x-value.
|
| Number | getY(int series, int item)
Returns the y-value.
|
| double | getYValue(int series, int item)
Returns the y-value.
|
| void | invalidateRangeInfo()
Invalidates the range info. |
| int | offsetFromNewest(int delta)
Returns the actual index to a time offset by "delta" from newestAt.
|
| int | offsetFromOldest(int delta)
? |
| void | setPosition(int position)
Sets the x position type (START, MIDDLE or END).
|
| void | setSeriesKey(int seriesNumber, Comparable key)
Sets the name of a series. |
| long | setTimeBase(RegularTimePeriod start)
Fill the pointsInTime with times using TimePeriod.next():
Will silently return if the time array was already populated.
|
| protected int | translateGet(int toFetch)
Re-map an index, for use in retrieving data.
|
| protected int | wrapOffset(int protoIndex)
? |
Parameters: nSeries the number of series to be accommodated. nMoments the number of TimePeriods to be spanned.
Parameters: nSeries the number of series to be accommodated nMoments the number of TimePeriods to be spanned zone the timezone.
Parameters: nSeries the number of series. nMoments the number of items per series. timeSample a time period sample.
Parameters: nSeries the number of series. nMoments the number of items per series. timeSample a time period sample. zone the time zone.
Parameters: values the y-values. seriesNumber the series index (zero-based). seriesKey the series key. Use this as-is during setup only, or add the synchronized keyword around the copy loop.
Parameters: seriesNumber the series index. index ??. value the value.
Returns: The new time period.
Parameters: newData the data.
Parameters: newData the data insertionIndex the index value at which to put it refresh value of n in "refresh the display on every nth call" (ignored if <= 0 )
Returns: The maximum value.
Parameters: includeInterval a flag that determines whether or not the x-interval is taken into account.
Returns: The range.
Parameters: includeInterval a flag that determines whether or not the x-interval is taken into account.
Returns: The minimum value.
Parameters: includeInterval a flag that determines whether or not the x-interval is taken into account.
Returns: The maximum value.
Parameters: series the series index (zero-based). item the item index (zero-based).
Returns: The value.
Parameters: series the series index (zero-based). item the item index (zero-based).
Returns: The value.
For this implementation, all series have the same number of items.
Parameters: series the series index (zero-based).
Returns: The item count.
Returns: The index.
Returns: The newest time.
Returns: The index.
Returns: The oldest time.
Returns: The x position type.
Parameters: includeInterval a flag that determines whether or not the y-interval is taken into account.
Returns: The range.
Parameters: includeInterval a flag that determines whether or not the y-interval is taken into account.
Returns: The minimum range value.
Parameters: includeInterval a flag that determines whether or not the y-interval is taken into account.
Returns: The maximum range value.
Returns: The series count.
Parameters: series the series index (zero-based).
Returns: The key.
Parameters: series the series index (zero-based). item the item index (zero-based).
Returns: The value.
Parameters: series the series index (zero-based). item the item index (zero-based).
Returns: The value.
Parameters: series the series index (zero-based). item the item index (zero-based).
Returns: The value.
Parameters: series the series index (zero-based). item the item index (zero-based).
Returns: The value.
Parameters: series the series index (zero-based). item the item index (zero-based).
Returns: The value.
Parameters: delta the delta.
Returns: The offset.
Parameters: delta ??
Returns: The offset.
Parameters: position The x position type.
Parameters: seriesNumber the series. key the new key.
Parameters: start the start.
Returns: ??.
Parameters: toFetch the index.
Returns: The translated index.
Parameters: protoIndex the index.
Returns: The offset.