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 |
---|---|
Object |
getCell(int icol) |
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, toString
public SelectorStarTable(StarTable baseTable)
baseTable
- table on which this is basedpublic abstract boolean isIncluded(RowSequence baseSeq) throws IOException
baseSeq
- row sequence of the base tablebaseSeq
is to be includedIOException
public boolean isRandom()
isRandom
in interface StarTable
isRandom
in class WrapperStarTable
true
if table random access methods are availablepublic long getRowCount()
getRowCount
in interface StarTable
getRowCount
in class WrapperStarTable
public Object[] getRow()
public Object getCell(int icol)
public RowSequence getRowSequence() throws IOException
StarTable
getRowSequence
in interface StarTable
getRowSequence
in class WrapperStarTable
IOException
- if there is an error providing accesspublic RowSplittable getRowSplittable() throws IOException
StarTable
The 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 StarTable
getRowSplittable
in class WrapperStarTable
IOException
RowRunner
public RowAccess getRowAccess()
StarTable
getRowAccess
in interface StarTable
getRowAccess
in class WrapperStarTable
Copyright © 2024 Central Laboratory of the Research Councils. All Rights Reserved.