Class VOStarTable

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

public class VOStarTable extends uk.ac.starlink.table.AbstractStarTable
A StarTable implementation based on a VOTable.

Some of the FIELD attributes defined by the VOTable format correspond to standard information in the corresponding ColumnInfo object, and some do not. Those that do are accessed using the relevant ColumnInfo getter/setter methods directly, for instance

     String ucd = table.getColumnInfo(0).getUCD();
 
The ones that don't are stored in the ColumnInfo's auxiliary metadata keyed using the various *_INFO public static variables defined in this class. These are accessed using the ColumnInfo.getAuxDatum(uk.ac.starlink.table.ValueInfo) method, for instance:
     String id = (String) table.getColumnInfo(0)
                               .getAuxDatumValue(VOStarTable.ID_INFO);
 
In the same way, if you set an auxiliary metadata item under one of these keys, like this:
     DescribedValue idVal = new DescribedValue(VOStarTable.ID_INFO, "COL0");
     table.getColumnInfo(0).setAuxDatum(idVal);
 
then if the result is written to a VOTable the relevant attribute will be attached to the corresponding FIELD element.
Author:
Mark Taylor (Starlink)
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for COOSYS epoch attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for COOSYS equinox attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for COOSYS refposition attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for COOSYS system attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for VOTable datatype attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for VOTable ID attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for VOTable precision attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for VOTable ref attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for TIMESYS refposition attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for TIMESYS timeorigin attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for TIMESYS timescale attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for VOTable type attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for VOTable ucd attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for VOTable utype attribute.
    static final uk.ac.starlink.table.ValueInfo
    ValueInfo for VOTable width attribute.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Construct a VOStarTable from a TABLE element.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    getCell(long lrow, int icol)
     
    List<uk.ac.starlink.table.ValueInfo>
     
    int
     
    uk.ac.starlink.table.ColumnInfo
    getColumnInfo(int icol)
     
    List<uk.ac.starlink.table.DescribedValue>
     
    static int
    getRefColumnIndex(String colRef, uk.ac.starlink.table.StarTable table)
    Identifies the column that was labelled with a given ID attribute.
    getRow(long lrow)
     
    uk.ac.starlink.table.RowAccess
     
    long
     
    uk.ac.starlink.table.RowSequence
     
    static uk.ac.starlink.table.ValueInfo
    Returns a ValueInfo object suitable for holding the values in a VOTable Field (or Param) object.
    boolean
     

    Methods inherited from class uk.ac.starlink.table.AbstractStarTable

    checkedLongToInt, getName, getRowSplittable, getURL, 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
  • Field Details

    • ID_INFO

      public static final uk.ac.starlink.table.ValueInfo ID_INFO
      ValueInfo for VOTable ID attribute.
    • UCD_INFO

      public static final uk.ac.starlink.table.ValueInfo UCD_INFO
      ValueInfo for VOTable ucd attribute.
    • UTYPE_INFO

      public static final uk.ac.starlink.table.ValueInfo UTYPE_INFO
      ValueInfo for VOTable utype attribute.
    • WIDTH_INFO

      public static final uk.ac.starlink.table.ValueInfo WIDTH_INFO
      ValueInfo for VOTable width attribute.
    • PRECISION_INFO

      public static final uk.ac.starlink.table.ValueInfo PRECISION_INFO
      ValueInfo for VOTable precision attribute.
    • REF_INFO

      public static final uk.ac.starlink.table.ValueInfo REF_INFO
      ValueInfo for VOTable ref attribute.
    • TYPE_INFO

      public static final uk.ac.starlink.table.ValueInfo TYPE_INFO
      ValueInfo for VOTable type attribute.
    • DATATYPE_INFO

      public static final uk.ac.starlink.table.ValueInfo DATATYPE_INFO
      ValueInfo for VOTable datatype attribute.
    • COOSYS_SYSTEM_INFO

      public static final uk.ac.starlink.table.ValueInfo COOSYS_SYSTEM_INFO
      ValueInfo for COOSYS system attribute.
    • COOSYS_EPOCH_INFO

      public static final uk.ac.starlink.table.ValueInfo COOSYS_EPOCH_INFO
      ValueInfo for COOSYS epoch attribute.
    • COOSYS_REFPOSITION_INFO

      public static final uk.ac.starlink.table.ValueInfo COOSYS_REFPOSITION_INFO
      ValueInfo for COOSYS refposition attribute.
    • COOSYS_EQUINOX_INFO

      public static final uk.ac.starlink.table.ValueInfo COOSYS_EQUINOX_INFO
      ValueInfo for COOSYS equinox attribute.
    • TIMESYS_TIMEORIGIN_INFO

      public static final uk.ac.starlink.table.ValueInfo TIMESYS_TIMEORIGIN_INFO
      ValueInfo for TIMESYS timeorigin attribute.
    • TIMESYS_TIMESCALE_INFO

      public static final uk.ac.starlink.table.ValueInfo TIMESYS_TIMESCALE_INFO
      ValueInfo for TIMESYS timescale attribute.
    • TIMESYS_REFPOSITION_INFO

      public static final uk.ac.starlink.table.ValueInfo TIMESYS_REFPOSITION_INFO
      ValueInfo for TIMESYS refposition attribute.
  • Constructor Details

    • VOStarTable

      public VOStarTable(TableElement votable) throws IOException
      Construct a VOStarTable from a TABLE element. The data itself is inferred or constructed from the state and content of the element.
      Parameters:
      votable - Table VOElement
      Throws:
      IOException
  • Method Details

    • getColumnCount

      public int getColumnCount()
      Specified by:
      getColumnCount in interface uk.ac.starlink.table.StarTable
      Specified by:
      getColumnCount in class uk.ac.starlink.table.AbstractStarTable
    • getRowCount

      public long getRowCount()
      Specified by:
      getRowCount in interface uk.ac.starlink.table.StarTable
      Specified by:
      getRowCount in class uk.ac.starlink.table.AbstractStarTable
    • isRandom

      public boolean isRandom()
      Specified by:
      isRandom in interface uk.ac.starlink.table.StarTable
      Overrides:
      isRandom in class uk.ac.starlink.table.AbstractStarTable
    • getColumnInfo

      public uk.ac.starlink.table.ColumnInfo getColumnInfo(int icol)
      Specified by:
      getColumnInfo in interface uk.ac.starlink.table.StarTable
      Specified by:
      getColumnInfo in class uk.ac.starlink.table.AbstractStarTable
    • getParameters

      public List<uk.ac.starlink.table.DescribedValue> getParameters()
      Specified by:
      getParameters in interface uk.ac.starlink.table.StarTable
      Overrides:
      getParameters in class uk.ac.starlink.table.AbstractStarTable
    • getColumnAuxDataInfos

      public List<uk.ac.starlink.table.ValueInfo> getColumnAuxDataInfos()
      Specified by:
      getColumnAuxDataInfos in interface uk.ac.starlink.table.StarTable
      Overrides:
      getColumnAuxDataInfos in class uk.ac.starlink.table.AbstractStarTable
    • getRowSequence

      public uk.ac.starlink.table.RowSequence getRowSequence() throws IOException
      Specified by:
      getRowSequence in interface uk.ac.starlink.table.StarTable
      Specified by:
      getRowSequence in class uk.ac.starlink.table.AbstractStarTable
      Throws:
      IOException
    • getRowAccess

      public uk.ac.starlink.table.RowAccess getRowAccess() throws IOException
      Specified by:
      getRowAccess in interface uk.ac.starlink.table.StarTable
      Overrides:
      getRowAccess in class uk.ac.starlink.table.AbstractStarTable
      Throws:
      IOException
    • getRow

      public Object[] getRow(long lrow) throws IOException
      Specified by:
      getRow in interface uk.ac.starlink.table.StarTable
      Overrides:
      getRow in class uk.ac.starlink.table.AbstractStarTable
      Throws:
      IOException
    • getCell

      public Object getCell(long lrow, int icol) throws IOException
      Specified by:
      getCell in interface uk.ac.starlink.table.StarTable
      Overrides:
      getCell in class uk.ac.starlink.table.AbstractStarTable
      Throws:
      IOException
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface uk.ac.starlink.table.StarTable
      Overrides:
      close in class uk.ac.starlink.table.AbstractStarTable
      Throws:
      IOException
    • getValueInfo

      public static uk.ac.starlink.table.ValueInfo getValueInfo(FieldElement field)
      Returns a ValueInfo object suitable for holding the values in a VOTable Field (or Param) object. The datatype, array shape and other metadata in the returned object are taken from the relevant bits of the supplied field.
      Parameters:
      field - the FieldElement object for which the ValueInfo is to be constructed
      Returns:
      a ValueInfo suitable for field
    • getRefColumnIndex

      public static int getRefColumnIndex(String colRef, uk.ac.starlink.table.StarTable table)
      Identifies the column that was labelled with a given ID attribute.
      Parameters:
      colRef - ID string
      table - table to interrogate; this will presumably be based on a VOStarTable, but it may be some kind of wrapped form of one
      Returns:
      index of the column in table whose FIELD element had an ID attribute of colRef, or -1 if none exists