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

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

      Constructs an empty dataset, tied to a specific timezone.
      Parameters:
      zone - the timezone (null permitted, will use TimeZone.getDefault() in that case).
    • TimeSeriesCollection

      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

      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

      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

      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

      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 AbstractDataset
      Parameters:
      obj - the other object.
      Returns:
      A boolean.
    • hashCode

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

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