Class MetadataStarTable

java.lang.Object
uk.ac.starlink.table.AbstractStarTable
uk.ac.starlink.table.MetadataStarTable
All Implemented Interfaces:
Closeable, AutoCloseable, StarTable

public class MetadataStarTable extends AbstractStarTable
Utility StarTable implementation which contains only metadata, no data. Suitable for passing to TableSink.acceptMetadata(uk.ac.starlink.table.StarTable).
Since:
14 Oct 2011
Author:
Mark Taylor
  • Constructor Details

    • 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 column
      rowCount - row count, may be -1 to indicate unknown
  • Method Details

    • 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 interface StarTable
      Specified by:
      getColumnInfo in class AbstractStarTable
      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 interface StarTable
      Specified by:
      getColumnCount in class AbstractStarTable
      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 interface StarTable
      Specified by:
      getRowSequence in class AbstractStarTable
      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 interface StarTable
      Overrides:
      getRowAccess in class AbstractStarTable
      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 interface StarTable
      Overrides:
      getRowSplittable in class AbstractStarTable
      Returns:
      Tables.getDefaultRowSplittable(this)
      See Also:
    • 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 interface StarTable
      Specified by:
      getRowCount in class AbstractStarTable
      Returns:
      the number of rows, or -1