Class RandomResultSetStarTable

  • All Implemented Interfaces:
    StarTable

    public class RandomResultSetStarTable
    extends RandomStarTable
    StarTable implementation based on a random-access ResultSet. Such results sets have a type of ResultSet.TYPE_SCROLL_* and are generally produced from by using a Statement which has been constructed using corresponding type. This implementation is thread-safe.
    Since:
    23 Jul 2007
    Author:
    Mark Taylor
    • Constructor Detail

      • RandomResultSetStarTable

        public RandomResultSetStarTable​(java.sql.ResultSet rset)
                                 throws java.sql.SQLException
        Constructor.
        Parameters:
        rset - result set containing data
        Throws:
        java.lang.IllegalArgumentException - if rset is not random access
        java.sql.SQLException
      • RandomResultSetStarTable

        public RandomResultSetStarTable​(StarResultSet srset)
        Constructor.
        Parameters:
        srset - result set containing data
        Throws:
        java.lang.IllegalArgumentException - if srset is not random access
    • Method Detail

      • getResultSet

        public java.sql.ResultSet getResultSet()
        Returns the result set on which this table is built.
        Returns:
        result set
      • 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
      • getRowCount

        public long getRowCount()
        Description copied from class: RandomStarTable
        The number of rows in this table. Implementations must supply a non-negative return value.
        Specified by:
        getRowCount in interface StarTable
        Specified by:
        getRowCount in class RandomStarTable
        Returns:
        the number of rows in the table
      • getColumnAuxDataInfos

        public java.util.List getColumnAuxDataInfos()
        Description copied from class: AbstractStarTable
        Goes through the table columns (ColumnInfo objects) and picks out all the AuxData items which exist, generalising where necessary and returning a union of them in alphabetical order by name. Subclasses should override this if they can do better, for instance providing an order for the keys.
        Specified by:
        getColumnAuxDataInfos in interface StarTable
        Overrides:
        getColumnAuxDataInfos in class AbstractStarTable
        Returns:
        a list of all the auxiliary metadata ValueInfo items which in fact crop up in column metadata
        See Also:
        ColumnInfo.getAuxData()
      • getCell

        public java.lang.Object getCell​(long lrow,
                                        int icol)
                                 throws java.io.IOException
        Description copied from class: AbstractStarTable
        The AbstractStarTable implementation of this method throws an UnsupportedOperationException, since unless otherwise provided there is no random access.
        Specified by:
        getCell in interface StarTable
        Overrides:
        getCell in class AbstractStarTable
        Parameters:
        lrow - 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 lrow)
                                  throws java.io.IOException
        Description copied from class: AbstractStarTable
        The AbstractStarTable implementation of this method constructs a row by repeated invocation of AbstractStarTable.getCell(long, int).
        Specified by:
        getRow in interface StarTable
        Overrides:
        getRow in class AbstractStarTable
        Parameters:
        lrow - 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