Class ResultImpl

  • All Implemented Interfaces:
    Result

    public class ResultImpl
    extends Object
    implements Result

    This class creates a cached version of a ResultSet. It's represented as a Result implementation, capable of returing an array of Row objects containing a Column instance for each column in the row.

    Note -- this is a private copy for the RI to avoid making the corresponding class in javax.servlet.* public.

    • Constructor Detail

      • ResultImpl

        public ResultImpl​(ResultSet rs)
                   throws SQLException
        Build a Result object from a ResultSet object.
        Parameters:
        rs - an open ResultSet, positioned before the first row
        Throws:
        SQLException - if a database error occurs
      • ResultImpl

        public ResultImpl​(ResultSet rs,
                          int maxRows)
                   throws SQLException
        Build a Result object from a ResultSet object.
        Parameters:
        rs - an open ResultSet, positioned before the first row
        maxRows - query maximum rows limit
        Throws:
        SQLException - if a database error occurs
      • ResultImpl

        public ResultImpl​(ResultSet rs,
                          int startRow,
                          int maxRows)
                   throws SQLException
        This constructor reads the ResultSet and saves a cached copy.
        Parameters:
        rs - an open ResultSet, positioned before the first row
        startRow - beginning row to be cached
        maxRows - query maximum rows limit
        Throws:
        SQLException - if a database error occurs
    • Method Detail

      • getRows

        public SortedMap[] getRows()
        Returns an array of SortedMap objects. The SortedMap object key is the ColumnName and the value is the ColumnValue. SortedMap was created using the CASE_INSENSITIVE_ORDER Comparator so the key is the case insensitive representation of the ColumnName.
        Specified by:
        getRows in interface Result
        Returns:
        an array of Map, or null if there are no rows
      • getRowsByIndex

        public Object[][] getRowsByIndex()
        Returns an array of Object[] objects. The first index designates the Row, the second the Column. The array stores the value at the specified row and column.
        Specified by:
        getRowsByIndex in interface Result
        Returns:
        an array of Object[], or null if there are no rows
      • getColumnNames

        public String[] getColumnNames()
        Returns an array of String objects. The array represents the names of the columns arranged in the same order as in the getRowsByIndex() method.
        Specified by:
        getColumnNames in interface Result
        Returns:
        an array of String[]
      • getRowCount

        public int getRowCount()
        Returns the number of rows in the cached ResultSet
        Specified by:
        getRowCount in interface Result
        Returns:
        the number of cached rows, or -1 if the Result could not be initialized due to SQLExceptions
      • isLimitedByMaxRows

        public boolean isLimitedByMaxRows()
        Returns true of the query was limited by a maximum row setting
        Specified by:
        isLimitedByMaxRows in interface Result
        Returns:
        true if the query was limited by a MaxRows attribute