Interface UserDataReader


  • public interface UserDataReader
    Reader that can interrogate a RowData to return the coordinate and mask values specified by a DataSpec. It is applied to a RowData obtained from the DataSpec's source table.

    Instances of this object are not expected to be usable from multiple concurrent threads.

    Since:
    10 Feb 2013
    Author:
    Mark Taylor
    See Also:
    DataSpec
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean getMaskFlag​(uk.ac.starlink.table.RowData rdata, long irow)
      Returns the mask flag for a row.
      java.lang.Object[] getUserCoordValues​(uk.ac.starlink.table.RowData rdata, long irow, int icoord)
      Returns a user coordinate value array for a given coordinate in a row.
    • Method Detail

      • getMaskFlag

        boolean getMaskFlag​(uk.ac.starlink.table.RowData rdata,
                            long irow)
                     throws java.io.IOException
        Returns the mask flag for a row.
        Parameters:
        rdata - row data for the row
        irow - row index of the row
        Returns:
        true iff the row of interest is included in the data set
        Throws:
        java.io.IOException
      • getUserCoordValues

        java.lang.Object[] getUserCoordValues​(uk.ac.starlink.table.RowData rdata,
                                              long irow,
                                              int icoord)
                                       throws java.io.IOException
        Returns a user coordinate value array for a given coordinate in a row. The returned value is an array which may be re-used, so it should not be assumed to retain its contents between calls to this method.
        Parameters:
        rdata - row data
        irow - row index corresponding to the row
        icoord - coordinate index to read
        Returns:
        array of user values (not storage values) for the specified coordinate at the row of interest
        Throws:
        java.io.IOException