org.apache.cayenne.access.jdbc
Class JDBCResultIterator

java.lang.Object
  extended by org.apache.cayenne.access.jdbc.JDBCResultIterator
All Implemented Interfaces:
ResultIterator

public class JDBCResultIterator
extends Object
implements ResultIterator

A ResultIterator over the underlying JDBC ResultSet.

Since:
1.2

Field Summary
protected  boolean closed
           
protected  boolean closingConnection
           
protected  Connection connection
           
protected  boolean nextRow
           
protected  QueryMetadata queryMetadata
           
protected  ResultSet resultSet
           
protected  RowDescriptor rowDescriptor
           
protected  Statement statement
           
 
Constructor Summary
JDBCResultIterator(Connection connection, Statement statement, ResultSet resultSet, RowDescriptor descriptor, QueryMetadata queryMetadata)
          Creates new JDBCResultIterator that reads from provided ResultSet.
 
Method Summary
 List<?> allRows()
          Returns all yet unread rows from ResultSet without closing it.
protected  void checkNextRow()
          Moves internal ResultSet cursor position down one row.
 void close()
          Closes ResultIterator and associated ResultSet.
 RowDescriptor getRowDescriptor()
           
 boolean hasNextRow()
          Returns true if there is at least one more record that can be read from the iterator.
 boolean isClosingConnection()
          Returns true if this iterator is responsible for closing its connection, otherwise a user of the iterator must close the connection after closing the iterator.
 Object 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 setClosingConnection(boolean flag)
          Sets the closingConnection property.
 void skipRow()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

connection

protected Connection connection

statement

protected Statement statement

resultSet

protected ResultSet resultSet

rowDescriptor

protected RowDescriptor rowDescriptor

queryMetadata

protected QueryMetadata queryMetadata

closingConnection

protected boolean closingConnection

closed

protected boolean closed

nextRow

protected boolean nextRow
Constructor Detail

JDBCResultIterator

public JDBCResultIterator(Connection connection,
                          Statement statement,
                          ResultSet resultSet,
                          RowDescriptor descriptor,
                          QueryMetadata queryMetadata)
                   throws CayenneException
Creates new JDBCResultIterator that reads from provided ResultSet.

Throws:
CayenneException
Since:
3.0
Method Detail

allRows

public List<?> allRows()
                throws CayenneException
Description copied from interface: ResultIterator
Returns all yet unread rows from ResultSet without closing it.

Specified by:
allRows in interface ResultIterator
Throws:
CayenneException
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

nextRow

public Object nextRow()
               throws CayenneException
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
Throws:
CayenneException
Since:
3.0

skipRow

public void skipRow()
             throws CayenneException
Specified by:
skipRow in interface ResultIterator
Throws:
CayenneException
Since:
3.0

close

public void close()
           throws CayenneException
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 ResultIterator
Throws:
CayenneException

checkNextRow

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

Throws:
CayenneException

isClosingConnection

public boolean isClosingConnection()
Returns true if this iterator is responsible for closing its connection, otherwise a user of the iterator must close the connection after closing the iterator.


setClosingConnection

public void setClosingConnection(boolean flag)
Sets the closingConnection property.


getRowDescriptor

public RowDescriptor getRowDescriptor()


Copyright © 2001-2011 Apache Cayenne. All Rights Reserved.