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.