Package groovy.sql

Class GroovyResultSetExtension

  • All Implemented Interfaces:
    groovy.lang.GroovyObject

    public class GroovyResultSetExtension
    extends groovy.lang.GroovyObjectSupport
    GroovyResultSetExtension implements additional logic for ResultSet. Due to the version incompatibility between java6 and java5 this methods are moved here from the original GroovyResultSet class. The methods in this class are used by the proxy GroovyResultSetProxy, which will try to invoke methods on this class before invoking it on ResultSet.

    This class is not intended to be used directly. Should be used through GroovyResultSetProxy only!

    See Also:
    GroovyResultSet, GroovyResultSetProxy
    • Constructor Detail

      • GroovyResultSetExtension

        public GroovyResultSetExtension​(ResultSet set)
        Creates a GroovyResultSet implementation.
        Parameters:
        set - the result set
    • Method Detail

      • getResultSet

        protected ResultSet getResultSet()
                                  throws SQLException
        Gets the current result set.
        Returns:
        the result set
        Throws:
        SQLException - if the result set can not be returned
      • invokeMethod

        public Object invokeMethod​(String name,
                                   Object args)
        Specified by:
        invokeMethod in interface groovy.lang.GroovyObject
        Overrides:
        invokeMethod in class groovy.lang.GroovyObjectSupport
      • getProperty

        public Object getProperty​(String columnName)
        Gets the value of the designated column in the current row of as an Object.
        Specified by:
        getProperty in interface groovy.lang.GroovyObject
        Overrides:
        getProperty in class groovy.lang.GroovyObjectSupport
        Parameters:
        columnName - the SQL name of the column
        Returns:
        the returned column value
        Throws:
        groovy.lang.MissingPropertyException - if an SQLException happens while getting the object
        See Also:
        GroovyObject.getProperty(java.lang.String), ResultSet.getObject(java.lang.String)
      • setProperty

        public void setProperty​(String columnName,
                                Object newValue)
        Updates the designated column with an Object value.
        Specified by:
        setProperty in interface groovy.lang.GroovyObject
        Overrides:
        setProperty in class groovy.lang.GroovyObjectSupport
        Parameters:
        columnName - the SQL name of the column
        newValue - the updated value
        Throws:
        groovy.lang.MissingPropertyException - if an SQLException happens while setting the new value
        See Also:
        GroovyObject.setProperty(java.lang.String, java.lang.Object), ResultSet.updateObject(java.lang.String, java.lang.Object)
      • getAt

        public Object getAt​(int index)
                     throws SQLException
        Supports integer based subscript operators for accessing at numbered columns starting at zero. Negative indices are supported, they will count from the last column backwards.
        Parameters:
        index - is the number of the column to look at starting at 1
        Returns:
        the returned column value
        Throws:
        SQLException - if something goes wrong
        See Also:
        ResultSet.getObject(int)
      • putAt

        public void putAt​(int index,
                          Object newValue)
                   throws SQLException
        Supports integer based subscript operators for updating the values of numbered columns starting at zero. Negative indices are supported, they will count from the last column backwards.
        Parameters:
        index - is the number of the column to look at starting at 1
        newValue - the updated value
        Throws:
        SQLException - if something goes wrong
        See Also:
        ResultSet.updateObject(java.lang.String, java.lang.Object)
      • normalizeIndex

        protected int normalizeIndex​(int index)
                              throws SQLException
        Takes a zero based index and convert it into an SQL based 1 based index. A negative index will count backwards from the last column.
        Parameters:
        index - the raw requested index (may be negative)
        Returns:
        a JDBC index
        Throws:
        SQLException - if some exception occurs finding out the column count
      • eachRow

        public void eachRow​(groovy.lang.Closure closure)
                     throws SQLException
        Call the closure once for each row in the result set.
        Parameters:
        closure - the closure to perform on each row
        Throws:
        SQLException - if something goes wrong
      • next

        public boolean next()
                     throws SQLException
        Moves the cursor down one row from its current position. A getResultSet() cursor is initially positioned before the first row; the first call to the method next makes the first row the current row; the second call makes the second row the current row, and so on.

        If an input stream is open for the current row, a call to the method next will implicitly close it. A getResultSet() object's warning chain is cleared when a new row is read.

        Returns:
        true if the new current row is valid; false if there are no more rows
        Throws:
        SQLException - if a database access error occurs
      • previous

        public boolean previous()
                         throws SQLException
        Moves the cursor to the previous row in this getResultSet() object.
        Returns:
        true if the cursor is on a valid row; false if it is off the result set
        Throws:
        SQLException - if a database access error occurs or the result set type is TYPE_FORWARD_ONLY
        Since:
        1.2