public abstract class SelectorStarTable extends WrapperStarTable
isIncluded(uk.ac.starlink.table.RowSequence) method for each row of the base
table as it is iterated over.baseTable| Constructor and Description |
|---|
SelectorStarTable(StarTable baseTable)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
getCell(int icol) |
java.lang.Object[] |
getRow() |
RowAccess |
getRowAccess()
Returns an object which can provide random access to this
table's data, if random access is implemented.
|
long |
getRowCount()
Returns -1 (length unknown).
|
RowSequence |
getRowSequence()
Returns an object which can iterate over all the rows in the table
sequentially.
|
RowSplittable |
getRowSplittable()
Returns an object which can iterate over all the rows in the table,
but which may also be requested to split recursively
for potentially parallel processing.
|
abstract boolean |
isIncluded(RowSequence baseSeq)
Evaluated to determine whether rows of the base table are included
in this one.
|
boolean |
isRandom()
Returns false.
|
checkedLongToInt, close, getBaseTable, getCell, getColumnAuxDataInfos, getColumnCount, getColumnInfo, getName, getParameterByName, getParameters, getRow, getURL, setName, setParameter, setURL, toStringpublic SelectorStarTable(StarTable baseTable)
baseTable - table on which this is basedpublic abstract boolean isIncluded(RowSequence baseSeq) throws java.io.IOException
baseSeq - row sequence of the base tablebaseSeq
is to be includedjava.io.IOExceptionpublic boolean isRandom()
isRandom in interface StarTableisRandom in class WrapperStarTabletrue if table random access methods are availablepublic long getRowCount()
getRowCount in interface StarTablegetRowCount in class WrapperStarTablepublic java.lang.Object[] getRow()
public java.lang.Object getCell(int icol)
public RowSequence getRowSequence() throws java.io.IOException
StarTablegetRowSequence in interface StarTablegetRowSequence in class WrapperStarTablejava.io.IOException - if there is an error providing accesspublic RowSplittable getRowSplittable() throws java.io.IOException
StarTableThe return value must be non-null, and may provide splitting
arrangements specially appropriate for the implementation.
If this table 'wraps' an upstream table, it is usually best to
base the implementation on calls to the the upstream
getRowSplittable method, so that upstream policy
about how to divide up the table is respected.
However, implementations without special requirements may return
Tables.getDefaultRowSplittable(this).
getRowSplittable in interface StarTablegetRowSplittable in class WrapperStarTablejava.io.IOExceptionRowRunnerpublic RowAccess getRowAccess()
StarTablegetRowAccess in interface StarTablegetRowAccess in class WrapperStarTable