org.knime.base.node.util
Interface DataArray

All Superinterfaces:
DataTable, Iterable<DataRow>
All Known Implementing Classes:
DefaultDataArray, FuzzyHierarchyFilterRowContainer

public interface DataArray
extends DataTable, Iterable<DataRow>

Can be used to locally store a certain number of rows. It provides random access to the stored rows. It maintains the min and max value for each column (min/max with respect to the row sample stored - not the entire data table). It provides a list of all values seen for each string column (i.e. a list of all values appearing in the rows stored - not the entire data table).

Author:
Peter Ohl, University of Konstanz

Method Summary
 DataTableSpec getDataTableSpec()
          Get the table spec corresponding the the rows.
 int getFirstRowNumber()
           
 DataCell getMaxValue(int colIdx)
           
 DataCell getMinValue(int colIdx)
           
 DataRow getRow(int idx)
          Returns the row from the container with index idx.
 Set<DataCell> getValues(int colIdx)
          Returns a set of all different values seen in the specified column.
 RowIterator iterator()
          Returns a row iterator which returns each row one-by-one from the table.
 int size()
           
 

Method Detail

getRow

DataRow getRow(int idx)
Returns the row from the container with index idx. Index starts at zero and must be less than the size of the container (which could be less than the number of rows requested at construction time as the table could be shorter than that). The original row number in the table can be reconstructed by adding the index to the result of the getFirstRowNumber() method.

Parameters:
idx - the index of the row to return (must be between 0 and size of the row container)
Returns:
the row from the container with index idx
Throws:
IndexOutOfBoundsException - if the row does not exist

getValues

Set<DataCell> getValues(int colIdx)
Returns a set of all different values seen in the specified column. Will always return null if the idx doesn't specifiy a column of type StringCell (or derived from that). The list will be in the order the values appeared in the rows read in. It contains only the values showing in these rows, the complete table may contain more values. The list doesn't contain "missing value" cells.

Parameters:
colIdx - the index of the column to return the possible values for
Returns:
a list of possible values of the specified column in the order they appear in the rows read. The list includes only values seen in the rows stored in the container. Returns null for non-string columns.

getMinValue

DataCell getMinValue(int colIdx)
Parameters:
colIdx - the index of the column to return the min value for
Returns:
the minimum value seen in the specified column in the rows read in (the entire table could contain a smaller value). Or the min value set with the corresponding setter method. Will return null if the number of rows actually stored is zero, or the column contains only missing cells.

getMaxValue

DataCell getMaxValue(int colIdx)
Parameters:
colIdx - the index of the column to return the max value for
Returns:
the maximum value seen in the specified column in the rows read in (the entire table could contain a larger value). Or the max value set with the corresponding setter method. Will return null if the number of rows actually stored is zero, or the column contains only missing cells.

size

int size()
Returns:
the size of the container, i.e. the number of rows actually stored. Could be different from the number fo rows requested, if the table is shorter than the sum of the first row and the number of rows specified to the constructor.

getFirstRowNumber

int getFirstRowNumber()
Returns:
the number of the row with index 0 - i.e. the original row number in the underlying data table of any row with index i in the container can be reconstructed by i + getFirstRowNumber().

iterator

RowIterator iterator()
Description copied from interface: DataTable
Returns a row iterator which returns each row one-by-one from the table.

Specified by:
iterator in interface DataTable
Specified by:
iterator in interface Iterable<DataRow>
Returns:
an iterator to traverse the container. Unfortunately the iterator returns objects, i.e. you would have to use a typecast to DataRow to obtain the real type of the object.
See Also:
DataRow

getDataTableSpec

DataTableSpec getDataTableSpec()
Get the table spec corresponding the the rows. The domain information is ensured to be included, i.e. for all string compatible columns it contains the possible values and for all double compatible columns it contains lower and upper bounds.

Specified by:
getDataTableSpec in interface DataTable
Returns:
the table spec belonging to the rows stored.


Copyright, 2003 - 2010. All rights reserved.
University of Konstanz, Germany.
Chair for Bioinformatics and Information Mining, Prof. Dr. Michael R. Berthold.
You may not modify, publish, transmit, transfer or sell, reproduce, create derivative works from, distribute, perform, display, or in any way exploit any of the content, in whole or in part, except as otherwise expressly permitted in writing by the copyright owner or as specified in the license file distributed with this product.