Interface RowAccess

  • All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable, RowData
    All Known Implementing Classes:
    EmptyRowSequence, WrapperRowAccess

    public interface RowAccess
    extends RowData, java.io.Closeable
    Provides random access to table data. An instance of this class is not in general safe for use from multiple threads.
    Since:
    24 Jul 2020
    Author:
    Mark Taylor
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void close()
      Closes this reader.
      java.lang.Object getCell​(int icol)
      Returns the contents of a given cell at the current row.
      java.lang.Object[] getRow()
      Returns the contents of all the cells at the current row.
      void setRowIndex​(long irow)
      Sets the row index to which subsequent data accesses will refer.
    • Method Detail

      • setRowIndex

        void setRowIndex​(long irow)
                  throws java.io.IOException
        Sets the row index to which subsequent data accesses will refer.

        This method must be called before the first invocation of getCell(int)/getRow(), otherwise behaviour is undefined (but implementations will likely throw an unchecked exception on subsequent getCell/getRow calls). The effect of setting the value to an out of range value is undefined; it may throw an exception here, or during subsequent calls, or behave otherwise.

        Parameters:
        irow - row index
        Throws:
        java.io.IOException
      • getCell

        java.lang.Object getCell​(int icol)
                          throws java.io.IOException
        Returns the contents of a given cell at the current row.

        Behaviour is undefined if the row index has not been set, or has been set to a value for which no table row exists; however implementations are encouraged to throw suitable RuntimeException in this case.

        Specified by:
        getCell in interface RowData
        Parameters:
        icol - column index
        Returns:
        contents of given column at current row
        Throws:
        java.io.IOException - if there's a problem reading the value
      • getRow

        java.lang.Object[] getRow()
                           throws java.io.IOException
        Returns the contents of all the cells at the current row.

        Note the returned object may be reused between invocations,

        Behaviour is undefined if the row index has not been set, or has been set to a value for which no table row exists; however implementations are encouraged to throw a suitable RuntimeException in this case.

        Specified by:
        getRow in interface RowData
        Returns:
        array with one element for each column in the table
        Throws:
        java.io.IOException
      • close

        void close()
            throws java.io.IOException
        Closes this reader. The effect of calling any of the other methods following a close is undefined.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException