Class ExplodedStarTable

  • All Implemented Interfaces:
    StarTable

    public class ExplodedStarTable
    extends WrapperStarTable
    Wrapper table which takes any column whose value is N-element arrays and turns it into N scalar-valued columns.
    Since:
    2 Mar 2005
    Author:
    Mark Taylor (Starlink)
    • Constructor Detail

      • ExplodedStarTable

        public ExplodedStarTable​(StarTable baseTable,
                                 boolean[] colFlags)
        Constructs a table in which specified columns are exploded. All of the specified columns must have values which are fixed-length arrays.
        Parameters:
        baseTable - base table
        colFlags - array of flags the same length as the number of columns in baseTable; true elements indicate columns in the base table which should be exploded
        Throws:
        java.lang.IllegalArgumentException - if any column specified by colFlags has a type which is not a fixed-length array
      • ExplodedStarTable

        public ExplodedStarTable​(StarTable baseTable)
        Constructs a table in which all fixed-length array-valued columns are exploded.
        Parameters:
        baseTable - base table
    • 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 interface StarTable
        Overrides:
        getColumnInfo in class WrapperStarTable
        Parameters:
        icol - the column for which header information is required
        Returns:
        a ValueInfo object for column icol
      • getCell

        public java.lang.Object getCell​(long irow,
                                        int icol)
                                 throws java.io.IOException
        Description copied from interface: StarTable
        Returns the contents of a given table cell. The class of the returned object should be the same as, or a subclass of, the class returned by getColumnInfo(icol).getContentClass().
        Specified by:
        getCell in interface StarTable
        Overrides:
        getCell in class WrapperStarTable
        Parameters:
        irow - the index of the cell's row
        icol - the index of the cell's column
        Returns:
        the contents of this cell
        Throws:
        java.io.IOException - if there is an error reading the data
      • getRow

        public java.lang.Object[] getRow​(long irow)
                                  throws java.io.IOException
        Description copied from interface: StarTable
        Returns the contents of a given table row. The returned value is equivalent to an array formed of all the objects returned by getCell(irow,icol) for all the columns icol in sequence.
        Specified by:
        getRow in interface StarTable
        Overrides:
        getRow in class WrapperStarTable
        Parameters:
        irow - the index of the row to retrieve
        Returns:
        an array of the objects in each cell in row irow
        Throws:
        java.io.IOException - if there is an error reading the data
      • getRowSequence

        public RowSequence getRowSequence()
                                   throws java.io.IOException
        Description copied from interface: StarTable
        Returns an object which can iterate over all the rows in the table sequentially.
        Specified by:
        getRowSequence in interface StarTable
        Overrides:
        getRowSequence in class WrapperStarTable
        Returns:
        an object providing sequential access to the table data
        Throws:
        java.io.IOException - if there is an error providing access