Class JDBCResultIterator<T>

java.lang.Object
org.apache.cayenne.access.jdbc.JDBCResultIterator<T>
All Implemented Interfaces:
AutoCloseable, Iterable<T>, ResultIterator<T>

public class JDBCResultIterator<T> extends Object implements ResultIterator<T>
A ResultIterator over the underlying JDBC ResultSet.
Since:
1.2
  • Field Details

    • statement

      protected Statement statement
    • resultSet

      protected ResultSet resultSet
    • closed

      protected boolean closed
    • nextRow

      protected boolean nextRow
  • Constructor Details

    • JDBCResultIterator

      public JDBCResultIterator(Statement statement, ResultSet resultSet, RowReader<T> rowReader)
      Creates new JDBCResultIterator that reads from provided ResultSet.
      Since:
      4.0
  • Method Details

    • iterator

      public Iterator<T> iterator()
      Specified by:
      iterator in interface Iterable<T>
      Since:
      4.0
    • allRows

      public List<T> allRows()
      Description copied from interface: ResultIterator
      Returns all yet unread rows from ResultSet without closing it.
      Specified by:
      allRows in interface ResultIterator<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 interface ResultIterator<T>
    • nextRow

      public 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 interface ResultIterator<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 interface ResultIterator<T>
      Since:
      3.0
    • close

      public void close() throws NoSuchElementException
      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 interface AutoCloseable
      Specified by:
      close in interface ResultIterator<T>
      Throws:
      NoSuchElementException
    • checkNextRow

      protected void checkNextRow()
      Moves internal ResultSet cursor position down one row. Checks if the next row is available.