Interface Dataset

All Superinterfaces:
Serializable
All Known Subinterfaces:
NonSerializableDataset
All Known Implementing Classes:
AbstractDataset, ArrayDataset, BasicDataset, BasicStreamingDataset, CacheAggregateDataset, ColumnAttributesDataSet, ColumnFilteredDataSet, DatasetUtilities.PyDataSet, JsonDataset, MutableDataset, NonSerializingDataset, OptimizedDataSet, RowFilteredDataSet, StreamingDataset, TimeMaskedDataset

public interface Dataset extends Serializable
A Dataset represents tabular data. It is a collection of zero or more rows, each of which have the same column structure. A column has a defined name and datatype. Datasets are typically immutable.
  • Method Summary

    Modifier and Type
    Method
    Description
    default int
    binarySearch(int column, Object key)
    Performs a binary search on the specified column, looking for the specified key.
    default List<Object>
    getColumnAsList(int col)
     
    int
    Returns the number of columns.
    int
    Returns the index of the given column, case-insensitive
    getColumnName(int col)
    Returns the name of the given column.
    Returns an unmodifiable list of this dataset's column names, in order.
    getColumnType(int col)
    Returns the type of the given column.
    Returns an unmodifiable list of this dataset's column types, in order.
    double
    getPrimitiveValueAt(int row, int col)
    If the given column is a numeric type or a Date, then the value will be returned as a double.
    getQualityAt(int row, int col)
    Returns the quality of the value at the given location.
    int
    Return the number of rows in this dataset
    getValueAt(int row, int col)
    Returns the value in the dataset at the given location.
    getValueAt(int row, String colName)
    Returns the value at the given row and at a column named colName.
    default boolean
    Whether this dataset has any quality data to report.
  • Method Details

    • getColumnNames

      List<String> getColumnNames()
      Returns an unmodifiable list of this dataset's column names, in order.
    • getColumnTypes

      List<Class<?>> getColumnTypes()
      Returns an unmodifiable list of this dataset's column types, in order.
    • getColumnCount

      int getColumnCount()
      Returns the number of columns.
    • getRowCount

      int getRowCount()
      Return the number of rows in this dataset
    • getColumnAsList

      default List<Object> getColumnAsList(int col)
    • getColumnIndex

      int getColumnIndex(String name)
      Returns the index of the given column, case-insensitive
      Parameters:
      name - the name of the column to look up
      Returns:
      the index of the column
      Throws:
      ArrayIndexOutOfBoundsException - if the column isn't found.
    • getColumnName

      String getColumnName(int col)
      Returns the name of the given column.
      Throws:
      IndexOutOfBoundsException - if the given index is out of range.
    • getColumnType

      Class<?> getColumnType(int col)
      Returns the type of the given column.
      Throws:
      IndexOutOfBoundsException - if the given index is out of range.
    • getValueAt

      Object getValueAt(int row, int col)
      Returns the value in the dataset at the given location.
      Throws:
      ArrayIndexOutOfBoundsException - if the given row, col is out of range.
    • getQualityAt

      QualityCode getQualityAt(int row, int col)
      Returns the quality of the value at the given location.
      Throws:
      ArrayIndexOutOfBoundsException - if the given row, col is out of range and hasQualityData() returns true.
    • getValueAt

      Object getValueAt(int row, String colName)
      Returns the value at the given row and at a column named colName. Column name matching is case insensitive.
      Throws:
      ArrayIndexOutOfBoundsException - if the column isn't found.
    • getPrimitiveValueAt

      double getPrimitiveValueAt(int row, int col)
      If the given column is a numeric type or a Date, then the value will be returned as a double. (Charts uses this functionality to provide a seamless interface with certain optimized dataset implementations.
      Throws:
      IllegalArgumentException - if the value at row, col is not a number or date.
      UnsupportedOperationException - if the Dataset implementation declines to implement this operation.
    • binarySearch

      default int binarySearch(int column, Object key)
      Performs a binary search on the specified column, looking for the specified key. Column MUST be sorted in ascending order. Dataset provides an inefficient default implementation of binary search that allocates a new array list for the entire column.
      Returns:
      index of the search key, if it is contained in the list; otherwise, (-(insertion point) - 1). The insertion point is defined as the point at which the key would be inserted into the list: the index of the first element greater than the key, or list.size(), if all elements in the list are less than the specified key. Note that this guarantees the return value will be greater than or equal to 0, but only if the key is found.
      Throws:
      ClassCastException - if the given type is not Comparable.
      UnsupportedOperationException - if the Dataset implementation declines to implement this operation.
    • hasQualityData

      default boolean hasQualityData()
      Whether this dataset has any quality data to report. If false, getQualityAt is expected to return QualityCode.Good.
      See Also: