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
ResultSetin 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 booleanhasNext()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[].voidremove()Deletes the current row from theResultSet.protected voidrethrow(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 thisResultSetin anIterator.
-
ResultSetIterator
public ResultSetIterator(ResultSet resultSet, RowProcessor convert)
Constructor for ResultSetIterator.- Parameters:
resultSet- Wrap thisResultSetin 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 thisResultSetin 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:
hasNextin interfaceIterator<Object[]>- Returns:
- boolean
trueif there are more rows - Throws:
RuntimeException- if an SQLException occurs.
-
next
public Object[] next()
Returns the next row as anObject[].- Specified by:
nextin 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:
removein 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
-
-