Package uk.ac.starlink.table
Class MetadataStarTable
- java.lang.Object
-
- uk.ac.starlink.table.AbstractStarTable
-
- uk.ac.starlink.table.MetadataStarTable
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,StarTable
public class MetadataStarTable extends AbstractStarTable
Utility StarTable implementation which contains only metadata, no data. Suitable for passing toTableSink.acceptMetadata(uk.ac.starlink.table.StarTable)
.- Since:
- 14 Oct 2011
- Author:
- Mark Taylor
-
-
Constructor Summary
Constructors Constructor Description MetadataStarTable(ColumnInfo[] colInfos)
Constructs a metadata table with given column metadata and an indeterminate number of rows.MetadataStarTable(ColumnInfo[] colInfos, long rowCount)
Constructs a metadata table with given column metadata and a given number of rows.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getColumnCount()
Returns the number of columns in this table.ColumnInfo
getColumnInfo(int icol)
Returns the object describing the data in a given column.RowAccess
getRowAccess()
Returns an object which can provide random access to this table's data, if random access is implemented.long
getRowCount()
Returns the number of rows in this table, if known.RowSequence
getRowSequence()
Returns an object which can iterate over all the rows in the table sequentially.RowSplittable
getRowSplittable()
Returns a default splittable which relies on table random access if available, or otherwise provides only sequential access (no splits).-
Methods inherited from class uk.ac.starlink.table.AbstractStarTable
checkedLongToInt, close, getCell, getColumnAuxDataInfos, getName, getParameters, getRow, getURL, isRandom, setName, setParameters, setURL
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface uk.ac.starlink.table.StarTable
getParameterByName, setParameter
-
-
-
-
Constructor Detail
-
MetadataStarTable
public MetadataStarTable(ColumnInfo[] colInfos)
Constructs a metadata table with given column metadata and an indeterminate number of rows.- Parameters:
colInfos
- metadata items for each column
-
MetadataStarTable
public MetadataStarTable(ColumnInfo[] colInfos, long rowCount)
Constructs a metadata table with given column metadata and a given number of rows.- Parameters:
colInfos
- metadata items for each columnrowCount
- row count, may be -1 to indicate unknown
-
-
Method Detail
-
getColumnInfo
public ColumnInfo getColumnInfo(int icol)
Description copied from interface:StarTable
Returns the object describing the data in a given column.- Specified by:
getColumnInfo
in interfaceStarTable
- Specified by:
getColumnInfo
in classAbstractStarTable
- Parameters:
icol
- the column for which header information is required- Returns:
- a ValueInfo object for column icol
-
getColumnCount
public int getColumnCount()
Description copied from interface:StarTable
Returns the number of columns in this table.- Specified by:
getColumnCount
in interfaceStarTable
- Specified by:
getColumnCount
in classAbstractStarTable
- Returns:
- the number of columns
-
getRowSequence
public RowSequence getRowSequence()
Description copied from interface:StarTable
Returns an object which can iterate over all the rows in the table sequentially. Each such returned object is safe for use within a single thread, but not in general from multiple threads concurrently.- Specified by:
getRowSequence
in interfaceStarTable
- Specified by:
getRowSequence
in classAbstractStarTable
- Returns:
- new RowSequence
-
getRowAccess
public RowAccess getRowAccess()
Description copied from interface:StarTable
Returns an object which can provide random access to this table's data, if random access is implemented. Each such returned object is safe for use within a single thread, but not in general from multiple threads concurrently.- Specified by:
getRowAccess
in interfaceStarTable
- Overrides:
getRowAccess
in classAbstractStarTable
- Returns:
- new RowAccess
-
getRowSplittable
public RowSplittable getRowSplittable()
Description copied from class:AbstractStarTable
Returns a default splittable which relies on table random access if available, or otherwise provides only sequential access (no splits).It is often possible to provide a better implementation than this.
- Specified by:
getRowSplittable
in interfaceStarTable
- Overrides:
getRowSplittable
in classAbstractStarTable
- Returns:
Tables.getDefaultRowSplittable(this)
- See Also:
RowRunner
-
getRowCount
public long getRowCount()
Description copied from interface:StarTable
Returns the number of rows in this table, if known. If the number of rows cannot be (easily) determined, a value of -1 will be returned.- Specified by:
getRowCount
in interfaceStarTable
- Specified by:
getRowCount
in classAbstractStarTable
- Returns:
- the number of rows, or -1
-
-