Class XYSeriesCollection

    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        For serialization.
        See Also:
        Constant Field Values
      • data

        private java.util.List data
        The series that are included in the collection.
      • intervalDelegate

        private IntervalXYDelegate intervalDelegate
        The interval delegate (used to calculate the start and end x-values).
    • Constructor Detail

      • XYSeriesCollection

        public XYSeriesCollection()
        Constructs an empty dataset.
      • XYSeriesCollection

        public XYSeriesCollection​(XYSeries series)
        Constructs a dataset and populates it with a single series.
        Parameters:
        series - the series (null ignored).
    • Method Detail

      • addSeries

        public void addSeries​(XYSeries series)
        Adds a series to the collection and sends a DatasetChangeEvent to all registered listeners.
        Parameters:
        series - the series (null not permitted).
        Throws:
        java.lang.IllegalArgumentException - if the key for the series is null or not unique within the dataset.
      • removeSeries

        public void removeSeries​(int series)
        Removes a series from the collection and sends a DatasetChangeEvent to all registered listeners.
        Parameters:
        series - the series index (zero-based).
      • removeSeries

        public void removeSeries​(XYSeries series)
        Removes a series from the collection and sends a DatasetChangeEvent to all registered listeners.
        Parameters:
        series - the series (null not permitted).
      • removeAllSeries

        public void removeAllSeries()
        Removes all the series from the collection and sends a DatasetChangeEvent to all registered listeners.
      • getSeries

        public java.util.List getSeries()
        Returns a list of all the series in the collection.
        Returns:
        The list (which is unmodifiable).
      • indexOf

        public int indexOf​(XYSeries 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 XYSeries getSeries​(int series)
        Returns a series from the collection.
        Parameters:
        series - the series index (zero-based).
        Returns:
        The series.
        Throws:
        java.lang.IllegalArgumentException - if series is not in the range 0 to getSeriesCount() - 1.
      • getSeries

        public XYSeries getSeries​(java.lang.Comparable key)
        Returns a series from the collection.
        Parameters:
        key - the key (null not permitted).
        Returns:
        The series with the specified key.
        Throws:
        UnknownKeyException - if key is not found in the collection.
      • getSeriesKey

        public java.lang.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 series index (in the range 0 to getSeriesCount() - 1).
        Returns:
        The key for a series.
        Throws:
        java.lang.IllegalArgumentException - if series is not in the specified range.
      • getSeriesIndex

        public int getSeriesIndex​(java.lang.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.
      • getItemCount

        public int getItemCount​(int series)
        Returns the number of items in the specified series.
        Specified by:
        getItemCount in interface XYDataset
        Parameters:
        series - the series (zero-based index).
        Returns:
        The item count.
        Throws:
        java.lang.IllegalArgumentException - if series is not in the range 0 to getSeriesCount() - 1.
      • getX

        public java.lang.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.
      • getStartX

        public java.lang.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 starting X value.
      • getEndX

        public java.lang.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 ending X value.
      • getY

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

        public java.lang.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 starting Y value.
      • getEndY

        public java.lang.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 - the series (zero-based index).
        item - the item (zero-based index).
        Returns:
        The ending Y value.
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests this collection for equality with an arbitrary object.
        Overrides:
        equals in class AbstractDataset
        Parameters:
        obj - the object (null permitted).
        Returns:
        A boolean.
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Returns a clone of this instance.
        Specified by:
        clone in interface PublicCloneable
        Overrides:
        clone in class AbstractDataset
        Returns:
        A clone.
        Throws:
        java.lang.CloneNotSupportedException - if there is a problem.
      • hashCode

        public int hashCode()
        Returns a hash code.
        Overrides:
        hashCode in class AbstractDataset
        Returns:
        A hash code.
      • 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 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 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 the x-interval is taken into account.
        Returns:
        The range (or null if the dataset contains no values).
      • getIntervalWidth

        public double getIntervalWidth()
        Returns the interval width. This is used to calculate the start and end x-values, if/when the dataset is used as an IntervalXYDataset.
        Returns:
        The interval width.
      • setIntervalWidth

        public void setIntervalWidth​(double width)
        Sets the interval width and sends a DatasetChangeEvent to all registered listeners.
        Parameters:
        width - the width (negative values not permitted).
      • getIntervalPositionFactor

        public double getIntervalPositionFactor()
        Returns the interval position factor.
        Returns:
        The interval position factor.
      • setIntervalPositionFactor

        public void setIntervalPositionFactor​(double factor)
        Sets the interval position factor. This controls where the x-value is in relation to the interval surrounding the x-value (0.0 means the x-value will be positioned at the start, 0.5 in the middle, and 1.0 at the end).
        Parameters:
        factor - the factor.
      • isAutoWidth

        public boolean isAutoWidth()
        Returns whether the interval width is automatically calculated or not.
        Returns:
        Whether the width is automatically calculated or not.
      • setAutoWidth

        public void setAutoWidth​(boolean b)
        Sets the flag that indicates whether the interval width is automatically calculated or not.
        Parameters:
        b - a boolean.
      • getRangeBounds

        public Range getRangeBounds​(boolean includeInterval)
        Returns the range of the values in this dataset's range.
        Specified by:
        getRangeBounds in interface RangeInfo
        Parameters:
        includeInterval - ignored.
        Returns:
        The range (or null if the dataset contains no values).
      • getRangeLowerBound

        public double getRangeLowerBound​(boolean includeInterval)
        Returns the minimum y-value in the dataset.
        Specified by:
        getRangeLowerBound in interface RangeInfo
        Parameters:
        includeInterval - a flag that determines whether the y-interval is taken into account.
        Returns:
        The minimum value.
      • getRangeUpperBound

        public double getRangeUpperBound​(boolean includeInterval)
        Returns the maximum y-value in the dataset.
        Specified by:
        getRangeUpperBound in interface RangeInfo
        Parameters:
        includeInterval - a flag that determines whether the y-interval is taken into account.
        Returns:
        The maximum value.
      • vetoableChange

        public void vetoableChange​(java.beans.PropertyChangeEvent e)
                            throws java.beans.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 java.beans.VetoableChangeListener
        Parameters:
        e - the event.
        Throws:
        java.beans.PropertyVetoException - if the series name is already present in the collection.
      • writeObject

        private void writeObject​(java.io.ObjectOutputStream stream)
                          throws java.io.IOException
        Provides serialization support.
        Parameters:
        stream - the output stream.
        Throws:
        java.io.IOException - if there is an I/O error.
      • readObject

        private void readObject​(java.io.ObjectInputStream stream)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Provides serialization support.
        Parameters:
        stream - the input stream.
        Throws:
        java.io.IOException - if there is an I/O error.
        java.lang.ClassNotFoundException - if there is a classpath problem.