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 setvoid
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 anObject
.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 thisgetResultSet()
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 anObject
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.SQLExceptionGets 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 classjava.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 callargs
- 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 anObject
.- 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 anObject
value.- Parameters:
columnName
- the SQL name of the columnnewValue
- 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.SQLExceptionSupports 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.SQLExceptionSupports 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 1newValue
- 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.SQLExceptionAdds 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.SQLExceptionTakes 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
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.SQLExceptionMoves the cursor down one row from its current position. AgetResultSet()
cursor is initially positioned before the first row; the first call to the methodnext
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. AgetResultSet()
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.SQLExceptionMoves the cursor to the previous row in thisgetResultSet()
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 isTYPE_FORWARD_ONLY
- Since:
- 1.2
-