Module platform

Class TimeSeriesCollection

All Implemented Interfaces:
VetoableChangeListener, ObjectInputValidation, Serializable, Cloneable, EventListener, DomainInfo, Dataset, SeriesChangeListener, SeriesDataset, IntervalXYDataset, XYDataset, XYDomainInfo, XYRangeInfo

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:
  • Constructor Details

    • TimeSeriesCollection

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

      public TimeSeriesCollection(TimeZone zone)
      Constructs an empty dataset, tied to a specific timezone.
      Parameters:
      zone - the timezone (null permitted, will use TimeZone.getDefault() in that case).
    • 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 (null permitted).
    • TimeSeriesCollection

      public TimeSeriesCollection(TimeSeries series, TimeZone zone)
      Constructs a dataset containing a single series (more can be added), tied to a specific timezone.
      Parameters:
      series - a series to add to the collection (null permitted).
      zone - the timezone (null permitted, will use TimeZone.getDefault() in that case).
  • Method Details

    • getDomainOrder

      public DomainOrder getDomainOrder()
      Returns the order of the domain values in this dataset.
      Specified by:
      getDomainOrder in interface XYDataset
      Overrides:
      getDomainOrder in class AbstractXYDataset
      Returns:
      DomainOrder.ASCENDING
    • 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 (never null).
    • 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, then sends a DatasetChangeEvent is sent to all registered listeners.
      Parameters:
      anchor - the anchor position (null not permitted).
    • getSeries

      public 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.
    • indexOf

      public int indexOf(TimeSeries series)
      Returns the index of the specified series, or -1 if that series is not present in the dataset.
      Parameters:
      series - the series (null not permitted).
      Returns:
      The series index.
    • 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(Comparable key)
      Returns the series with the specified key, or null if there is no such series.
      Parameters:
      key - the series key (null permitted).
      Returns:
      The series with the given key.
    • getSeriesKey

      public Comparable getSeriesKey(int series)
      Returns the key for a series.
      Specified by:
      getSeriesKey in interface SeriesDataset
      Specified by:
      getSeriesKey in class AbstractSeriesDataset
      Parameters:
      series - the index of the series (zero-based).
      Returns:
      The key for a series.
    • getSeriesIndex

      public int getSeriesIndex(Comparable key)
      Returns the index of the series with the specified key, or -1 if no series has that key.
      Parameters:
      key - the key (null not permitted).
      Returns:
      The index.
    • addSeries

      public void addSeries(TimeSeries series)
      Adds a series to the collection and sends a DatasetChangeEvent to all registered listeners.
      Parameters:
      series - the series (null not permitted).
    • removeSeries

      public void removeSeries(TimeSeries series)
      Removes the specified series from the collection and sends a DatasetChangeEvent to all registered listeners.
      Parameters:
      series - the series (null not permitted).
    • 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 and sends a DatasetChangeEvent 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 series index (zero-based).
      Returns:
      The item count.
    • 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 (zero-based index).
      item - the item (zero-based index).
      Returns:
      The x-value.
    • getX

      public Number getX(int series, int item)
      Returns the x-value for the specified series and item.
      Specified by:
      getX in interface XYDataset
      Parameters:
      series - the series (zero-based index).
      item - the item (zero-based index).
      Returns:
      The value.
    • getX

      protected long getX(RegularTimePeriod period)
      Returns the x-value for a time period.
      Parameters:
      period - the time period (null not permitted).
      Returns:
      The x-value.
    • getStartX

      public 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 (zero-based index).
      Returns:
      The value.
    • getEndX

      public 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 (zero-based index).
      Returns:
      The value.
    • getY

      public Number getY(int series, int item)
      Returns the y-value for the specified series and item.
      Specified by:
      getY in interface XYDataset
      Parameters:
      series - the series (zero-based index).
      item - the item (zero-based index).
      Returns:
      The value (possibly null).
    • getStartY

      public 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 (zero-based index).
      Returns:
      The value (possibly null).
    • getEndY

      public 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 - te series (zero-based index).
      item - the item (zero-based index).
      Returns:
      The value (possibly null).
    • 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.
    • 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 determines whether or not the x-interval is taken into account.
      Returns:
      The range.
    • getDomainBounds

      public Range getDomainBounds(List visibleSeriesKeys, boolean includeInterval)
      Returns the bounds of the domain values for the specified series.
      Specified by:
      getDomainBounds in interface XYDomainInfo
      Parameters:
      visibleSeriesKeys - a list of keys for the visible series.
      includeInterval - include the x-interval?
      Returns:
      A range.
    • getRangeBounds

      public Range getRangeBounds(boolean includeInterval)
      Returns the bounds for the y-values in the dataset.
      Parameters:
      includeInterval - ignored for this dataset.
      Returns:
      The range of value in the dataset (possibly null).
    • getRangeBounds

      public Range getRangeBounds(List visibleSeriesKeys, Range xRange, boolean includeInterval)
      Returns the bounds for the y-values in the dataset.
      Specified by:
      getRangeBounds in interface XYRangeInfo
      Parameters:
      visibleSeriesKeys - the visible series keys.
      xRange - the x-range (null not permitted).
      includeInterval - ignored.
      Returns:
      The bounds.
    • vetoableChange

      public void vetoableChange(PropertyChangeEvent e) throws PropertyVetoException
      Receives notification that the key for one of the series in the collection has changed, and vetos it if the key is already present in the collection.
      Specified by:
      vetoableChange in interface VetoableChangeListener
      Parameters:
      e - the event.
      Throws:
      PropertyVetoException
    • equals

      public boolean equals(Object obj)
      Tests this time series collection for equality with another object.
      Overrides:
      equals in class Object
      Parameters:
      obj - the other object.
      Returns:
      A boolean.
    • hashCode

      public int hashCode()
      Returns a hash code value for the object.
      Overrides:
      hashCode in class Object
      Returns:
      The hashcode
    • clone

      public Object clone() throws CloneNotSupportedException
      Returns a clone of this time series collection.
      Overrides:
      clone in class AbstractDataset
      Returns:
      A clone.
      Throws:
      CloneNotSupportedException - if there is a problem cloning.