Package groovy.sql

Class GroovyResultSetExtension

java.lang.Object
groovy.lang.GroovyObjectSupport
groovy.sql.GroovyResultSetExtension
All Implemented Interfaces:
GroovyObject

public class GroovyResultSetExtension
extends 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 Summary

    Constructors
    Constructor Description
    GroovyResultSetExtension​(java.sql.ResultSet set)
    Creates a GroovyResultSet implementation.
  • Method Summary

    Modifier and Type Method Description
    void add​(java.util.Map values)
    Adds a new row to the result set
    void eachRow​(Closure closure)
    Call the closure once for each row in the result set.
    java.lang.Object getAt​(int index)
    Supports integer based subscript operators for accessing at numbered columns starting at zero.
    java.lang.Object getProperty​(java.lang.String columnName)
    Gets the value of the designated column in the current row of as an Object.
    protected java.sql.ResultSet getResultSet()
    Gets the current result set.
    java.lang.Object invokeMethod​(java.lang.String name, java.lang.Object args)
    Invokes the given method.
    boolean next()
    Moves the cursor down one row from its current position.
    protected int normalizeIndex​(int index)
    Takes a zero based index and convert it into an SQL based 1 based index.
    boolean previous()
    Moves the cursor to the previous row in this getResultSet() object.
    void putAt​(int index, java.lang.Object newValue)
    Supports integer based subscript operators for updating the values of numbered columns starting at zero.
    void setProperty​(java.lang.String columnName, java.lang.Object newValue)
    Updates the designated column with an Object value.
    java.lang.String toString()  

    Methods inherited from class groovy.lang.GroovyObjectSupport

    getMetaClass, setMetaClass

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • GroovyResultSetExtension

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

    • getResultSet

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

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • invokeMethod

      public java.lang.Object invokeMethod​(java.lang.String name, java.lang.Object args)
      Description copied from interface: GroovyObject
      Invokes the given method.
      Parameters:
      name - the name of the method to call
      args - the arguments to use for the method call
      Returns:
      the result of invoking the method
    • getProperty

      public java.lang.Object getProperty​(java.lang.String columnName)
      Gets the value of the designated column in the current row of as an Object.
      Parameters:
      columnName - the SQL name of the column
      Returns:
      the returned column value
      Throws:
      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​(java.lang.String columnName, java.lang.Object newValue)
      Updates the designated column with an Object value.
      Parameters:
      columnName - the SQL name of the column
      newValue - the updated value
      Throws:
      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 java.lang.Object getAt​(int index) throws java.sql.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:
      java.sql.SQLException - if something goes wrong
      See Also:
      ResultSet.getObject(int)
    • putAt

      public void putAt​(int index, java.lang.Object newValue) throws java.sql.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:
      java.sql.SQLException - if something goes wrong
      See Also:
      ResultSet.updateObject(java.lang.String, java.lang.Object)
    • add

      public void add​(java.util.Map values) throws java.sql.SQLException
      Adds a new row to the result set
      Parameters:
      values - a map containing the mappings for column names and values
      Throws:
      java.sql.SQLException - if something goes wrong
      See Also:
      ResultSet.insertRow(), ResultSet.updateObject(java.lang.String, java.lang.Object), ResultSet.moveToInsertRow()
    • normalizeIndex

      protected int normalizeIndex​(int index) throws java.sql.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:
      java.sql.SQLException - if some exception occurs finding out the column count
    • eachRow

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

      public boolean next() throws java.sql.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:
      java.sql.SQLException - if a database access error occurs
    • previous

      public boolean previous() throws java.sql.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:
      java.sql.SQLException - if a database access error occurs or the result set type is TYPE_FORWARD_ONLY
      Since:
      1.2