Interface Dataset
-
- All Superinterfaces:
java.io.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 java.io.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
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default int
binarySearch(int column, java.lang.Object key)
Performs a binary search on the specified column, looking for the specified key.default java.util.List<java.lang.Object>
getColumnAsList(int col)
int
getColumnCount()
Returns the number of columns.int
getColumnIndex(java.lang.String name)
Returns the index of the given column, case insensitivejava.lang.String
getColumnName(int col)
Returns the name of the given column.java.util.List<java.lang.String>
getColumnNames()
Returns an unmodifiable list of this dataset's column names, in order.java.lang.Class<?>
getColumnType(int col)
Returns the type of the given column.java.util.List<java.lang.Class<?>>
getColumnTypes()
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.QualityCode
getQualityAt(int row, int col)
Returns the quality of the value at the given location.int
getRowCount()
Return the number of rows in this datasetjava.lang.Object
getValueAt(int row, int col)
Returns the value in the dataset at the given location.java.lang.Object
getValueAt(int row, java.lang.String colName)
Returns the value at the given row and at a column named colName.default boolean
hasQualityData()
Whether this dataset has any quality data to report.
-
-
-
Method Detail
-
getColumnNames
java.util.List<java.lang.String> getColumnNames()
Returns an unmodifiable list of this dataset's column names, in order.
-
getColumnTypes
java.util.List<java.lang.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 java.util.List<java.lang.Object> getColumnAsList(int col)
-
getColumnIndex
int getColumnIndex(java.lang.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:
java.lang.ArrayIndexOutOfBoundsException
- if the column isn't found.
-
getColumnName
java.lang.String getColumnName(int col)
Returns the name of the given column.- Throws:
java.lang.IndexOutOfBoundsException
- if the given index is out of range.
-
getColumnType
java.lang.Class<?> getColumnType(int col)
Returns the type of the given column.- Throws:
java.lang.IndexOutOfBoundsException
- if the given index is out of range.
-
getValueAt
java.lang.Object getValueAt(int row, int col)
Returns the value in the dataset at the given location.- Throws:
java.lang.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:
java.lang.ArrayIndexOutOfBoundsException
- if the given row, col is out of range andhasQualityData()
returns true.
-
getValueAt
java.lang.Object getValueAt(int row, java.lang.String colName)
Returns the value at the given row and at a column named colName. Column name matching is case insensitive.- Throws:
java.lang.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:
java.lang.IllegalArgumentException
- if the value at row, col is not a number or date.java.lang.UnsupportedOperationException
- if the Dataset implementation declines to implement this operation.
-
binarySearch
default int binarySearch(int column, java.lang.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:
java.lang.ClassCastException
- if the given type is notComparable
.java.lang.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 returnQualityCode.Good
.- See Also:
getQualityAt(int, int)
-
-