Class SlidingCategoryDataset

    • Field Detail

      • firstCategoryIndex

        private int firstCategoryIndex
        The index of the first category to present.
      • maximumCategoryCount

        private int maximumCategoryCount
        The maximum number of categories to present.
    • Constructor Detail

      • SlidingCategoryDataset

        public SlidingCategoryDataset​(CategoryDataset underlying,
                                      int firstColumn,
                                      int maxColumns)
        Creates a new instance.
        Parameters:
        underlying - the underlying dataset (null not permitted).
        firstColumn - the index of the first visible column from the underlying dataset.
        maxColumns - the maximumColumnCount.
    • Method Detail

      • getUnderlyingDataset

        public CategoryDataset getUnderlyingDataset()
        Returns the underlying dataset that was supplied to the constructor.
        Returns:
        The underlying dataset (never null).
      • getFirstCategoryIndex

        public int getFirstCategoryIndex()
        Returns the index of the first visible category.
        Returns:
        The index.
        See Also:
        setFirstCategoryIndex(int)
      • setFirstCategoryIndex

        public void setFirstCategoryIndex​(int first)
        Sets the index of the first category that should be used from the underlying dataset, and sends a DatasetChangeEvent to all registered listeners.
        Parameters:
        first - the index.
        See Also:
        getFirstCategoryIndex()
      • getMaximumCategoryCount

        public int getMaximumCategoryCount()
        Returns the maximum category count.
        Returns:
        The maximum category count.
        See Also:
        setMaximumCategoryCount(int)
      • setMaximumCategoryCount

        public void setMaximumCategoryCount​(int max)
        Sets the maximum category count and sends a DatasetChangeEvent to all registered listeners.
        Parameters:
        max - the maximum.
        See Also:
        getMaximumCategoryCount()
      • lastCategoryIndex

        private int lastCategoryIndex()
        Returns the index of the last column for this dataset, or -1.
        Returns:
        The index.
      • getColumnIndex

        public int getColumnIndex​(java.lang.Comparable key)
        Returns the index for the specified column key.
        Specified by:
        getColumnIndex in interface KeyedValues2D
        Parameters:
        key - the key.
        Returns:
        The column index, or -1 if the key is not recognised.
      • getColumnKey

        public java.lang.Comparable getColumnKey​(int column)
        Returns the column key for a given index.
        Specified by:
        getColumnKey in interface KeyedValues2D
        Parameters:
        column - the column index (zero-based).
        Returns:
        The column key.
        Throws:
        java.lang.IndexOutOfBoundsException - if row is out of bounds.
      • getRowIndex

        public int getRowIndex​(java.lang.Comparable key)
        Returns the row index for a given key.
        Specified by:
        getRowIndex in interface KeyedValues2D
        Parameters:
        key - the row key.
        Returns:
        The row index, or -1 if the key is unrecognised.
      • getRowKey

        public java.lang.Comparable getRowKey​(int row)
        Returns the row key for a given index.
        Specified by:
        getRowKey in interface KeyedValues2D
        Parameters:
        row - the row index (zero-based).
        Returns:
        The row key.
        Throws:
        java.lang.IndexOutOfBoundsException - if row is out of bounds.
      • getRowKeys

        public java.util.List getRowKeys()
        Returns the row keys.
        Specified by:
        getRowKeys in interface KeyedValues2D
        Returns:
        The keys.
      • getValue

        public java.lang.Number getValue​(java.lang.Comparable rowKey,
                                         java.lang.Comparable columnKey)
        Returns the value for a pair of keys.
        Specified by:
        getValue in interface KeyedValues2D
        Parameters:
        rowKey - the row key (null not permitted).
        columnKey - the column key (null not permitted).
        Returns:
        The value (possibly null).
        Throws:
        UnknownKeyException - if either key is not defined in the dataset.
      • getColumnCount

        public int getColumnCount()
        Returns the number of columns in the table.
        Specified by:
        getColumnCount in interface Values2D
        Returns:
        The column count.
      • getRowCount

        public int getRowCount()
        Returns the number of rows in the table.
        Specified by:
        getRowCount in interface Values2D
        Returns:
        The row count.
      • getValue

        public java.lang.Number getValue​(int row,
                                         int column)
        Returns a value from the table.
        Specified by:
        getValue in interface Values2D
        Parameters:
        row - the row index (zero-based).
        column - the column index (zero-based).
        Returns:
        The value (possibly null).
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests this SlidingCategoryDataset 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 an independent copy of the dataset. Note that:
        • the underlying dataset is only cloned if it implements the PublicCloneable interface;
        • the listeners registered with this dataset are not carried over to the cloned dataset.
        Overrides:
        clone in class AbstractDataset
        Returns:
        An independent copy of the dataset.
        Throws:
        java.lang.CloneNotSupportedException - if the dataset cannot be cloned for any reason.