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, toString
public 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.IOException
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 java.lang.Object[] getRow()
public java.lang.Object getCell(int icol)
public RowSequence getRowSequence() throws java.io.IOException
StarTable
getRowSequence
in interface StarTable
getRowSequence
in class WrapperStarTable
java.io.IOException
- if there is an error providing accesspublic RowSplittable getRowSplittable() throws java.io.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
java.io.IOException
RowRunner
public RowAccess getRowAccess()
StarTable
getRowAccess
in interface StarTable
getRowAccess
in class WrapperStarTable