Package org.apache.commons.dbutils
Class ResultSetIterator
- java.lang.Object
-
- org.apache.commons.dbutils.ResultSetIterator
-
public class ResultSetIterator extends Object implements Iterator<Object[]>
Wraps a
ResultSet
in anIterator<Object[]>
. This is useful when you want to present a non-database application layer with domain neutral data.This implementation requires the
ResultSet.isLast()
method to be implemented.
-
-
Constructor Summary
Constructors Constructor Description ResultSetIterator(ResultSet resultSet)
Constructor for ResultSetIterator.ResultSetIterator(ResultSet resultSet, RowProcessor convert)
Constructor for ResultSetIterator.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
hasNext()
Returns true if there are more rows in the ResultSet.static Iterable<Object[]>
iterable(ResultSet resultSet)
Generates anIterable
, suitable for use in for-each loops.Object[]
next()
Returns the next row as anObject[]
.void
remove()
Deletes the current row from theResultSet
.protected void
rethrow(SQLException e)
Rethrow the SQLException as a RuntimeException.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Constructor Detail
-
ResultSetIterator
public ResultSetIterator(ResultSet resultSet)
Constructor for ResultSetIterator.- Parameters:
resultSet
- Wrap thisResultSet
in anIterator
.
-
ResultSetIterator
public ResultSetIterator(ResultSet resultSet, RowProcessor convert)
Constructor for ResultSetIterator.- Parameters:
resultSet
- Wrap thisResultSet
in anIterator
.convert
- The processor to use when converting a row into anObject[]
. Defaults to aBasicRowProcessor
.
-
-
Method Detail
-
iterable
public static Iterable<Object[]> iterable(ResultSet resultSet)
Generates anIterable
, suitable for use in for-each loops.- Parameters:
resultSet
- Wrap thisResultSet
in anIterator
.- Returns:
- an
Iterable
, suitable for use in for-each loops.
-
hasNext
public boolean hasNext()
Returns true if there are more rows in the ResultSet.- Specified by:
hasNext
in interfaceIterator<Object[]>
- Returns:
- boolean
true
if there are more rows - Throws:
RuntimeException
- if an SQLException occurs.
-
next
public Object[] next()
Returns the next row as anObject[]
.- Specified by:
next
in interfaceIterator<Object[]>
- Returns:
- An
Object[]
with the same number of elements as columns in theResultSet
. - Throws:
RuntimeException
- if an SQLException occurs.- See Also:
Iterator.next()
-
remove
public void remove()
Deletes the current row from theResultSet
.- Specified by:
remove
in interfaceIterator<Object[]>
- Throws:
RuntimeException
- if an SQLException occurs.- See Also:
Iterator.remove()
-
rethrow
protected void rethrow(SQLException e)
Rethrow the SQLException as a RuntimeException. This implementation creates a new RuntimeException with the SQLException's error message.- Parameters:
e
- SQLException to rethrow- Since:
- 1.1
-
-