Package org.apache.cayenne.access.jdbc
Class JDBCResultIterator<T>
java.lang.Object
org.apache.cayenne.access.jdbc.JDBCResultIterator<T>
- All Implemented Interfaces:
AutoCloseable
,Iterable<T>
,ResultIterator<T>
A ResultIterator over the underlying JDBC ResultSet.
- Since:
- 1.2
-
Field Summary
-
Constructor Summary
ConstructorDescriptionJDBCResultIterator
(Statement statement, ResultSet resultSet, RowReader<T> rowReader) Creates new JDBCResultIterator that reads from provided ResultSet. -
Method Summary
Modifier and TypeMethodDescriptionallRows()
Returns all yet unread rows from ResultSet without closing it.protected void
Moves internal ResultSet cursor position down one row.void
close()
Closes ResultIterator and associated ResultSet.boolean
Returns true if there is at least one more record that can be read from the iterator.iterator()
nextRow()
Returns the next result row that is, depending on the query, may be a scalar value, a DataRow, or an Object[] array containing a mix of scalars and DataRows.void
skipRow()
Goes past current row.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
statement
-
resultSet
-
closed
protected boolean closed -
nextRow
protected boolean nextRow
-
-
Constructor Details
-
JDBCResultIterator
Creates new JDBCResultIterator that reads from provided ResultSet.- Since:
- 4.0
-
-
Method Details
-
iterator
-
allRows
Description copied from interface:ResultIterator
Returns all yet unread rows from ResultSet without closing it.- Specified by:
allRows
in interfaceResultIterator<T>
- Since:
- 3.0
-
hasNextRow
public boolean hasNextRow()Returns true if there is at least one more record that can be read from the iterator.- Specified by:
hasNextRow
in interfaceResultIterator<T>
-
nextRow
Description copied from interface:ResultIterator
Returns the next result row that is, depending on the query, may be a scalar value, a DataRow, or an Object[] array containing a mix of scalars and DataRows.- Specified by:
nextRow
in interfaceResultIterator<T>
- Since:
- 3.0
-
skipRow
public void skipRow()Description copied from interface:ResultIterator
Goes past current row. If the row is not needed, this may save some time on data conversion.- Specified by:
skipRow
in interfaceResultIterator<T>
- Since:
- 3.0
-
close
Closes ResultIterator and associated ResultSet. This method must be called explicitly when the user is finished processing the records. Otherwise unused database resources will not be released properly.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceResultIterator<T>
- Throws:
NoSuchElementException
-
checkNextRow
protected void checkNextRow()Moves internal ResultSet cursor position down one row. Checks if the next row is available.
-