Package groovy.sql

Class GroovyResultSetProxy

java.lang.Object
groovy.sql.GroovyResultSetProxy
All Implemented Interfaces:
java.lang.reflect.InvocationHandler

public final class GroovyResultSetProxy
extends java.lang.Object
implements java.lang.reflect.InvocationHandler
GroovyResultSetProxy is used to create a proxy for GroovyResultSet. Due to the version incompatibility between java 6 and older versions methods with additional logic were moved into an extension class. When getting properties or calling methods, the runtime will try to first execute these on the extension and then on the ResultSet itself. This way it is possible to replace and add methods. To overload methods from ResultSet all methods have to be implemented on the extension class.
  • Constructor Summary

    Constructors
    Constructor Description
    GroovyResultSetProxy​(GroovyResultSetExtension ext)
    Creates a new proxy instance with a custom extension.
    GroovyResultSetProxy​(java.sql.ResultSet set)
    Creates a new proxy instance.
  • Method Summary

    Modifier and Type Method Description
    GroovyResultSet getImpl()
    Gets a proxy instance that can be used as GroovyResultSet.
    java.lang.Object invoke​(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
    Invokes a method for the GroovyResultSet.

    Methods inherited from class java.lang.Object

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

    • GroovyResultSetProxy

      public GroovyResultSetProxy​(java.sql.ResultSet set)
      Creates a new proxy instance. This will create the extension automatically using GroovyResultSetExtension
      Parameters:
      set - the result set to delegate to
      See Also:
      GroovyResultSetExtension
    • GroovyResultSetProxy

      public GroovyResultSetProxy​(GroovyResultSetExtension ext)
      Creates a new proxy instance with a custom extension.
      Parameters:
      ext - the extension
      See Also:
      GroovyResultSetExtension
  • Method Details

    • invoke

      public java.lang.Object invoke​(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable
      Invokes a method for the GroovyResultSet. This will try to invoke the given method first on the extension and then on the result set given as proxy parameter.
      Specified by:
      invoke in interface java.lang.reflect.InvocationHandler
      Parameters:
      proxy - the result set
      method - the method name of this method will be used to make a call on the extension. If this fails the call will be done on the proxy instead
      args - for the call
      Throws:
      java.lang.Throwable
      See Also:
      ResultSet, InvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
    • getImpl

      public GroovyResultSet getImpl()
      Gets a proxy instance that can be used as GroovyResultSet.
      Returns:
      the proxy