Package net.sf.basedb.core
Class DynamicResultIterator
java.lang.Object
net.sf.basedb.core.DynamicResultIterator
- All Implemented Interfaces:
AutoCloseable
,Iterator<SqlResult>
,QueryResult
,ResultIterator<SqlResult>
,SqlResultIterator
public class DynamicResultIterator extends Object implements SqlResultIterator
An iterator view of the result of an
AbstractSqlQuery
.- Version:
- 2.0
- Author:
- Nicklas
- See Also:
AbstractSqlQuery.iterate(DbControl)
- Last modified
- $Date: 2014-04-09 14:21:20 +0200 (on, 09 apr 2014) $
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
DynamicResultIterator.SqlResultImpl
Implements the SqlResult interface. -
Field Summary
Fields Modifier and Type Field Description private boolean
checkNext
private boolean
hasNext
private boolean
isClosed
private int
limit
private static org.slf4j.Logger
log
Logger.private ResultSet
results
The results of the query.private int
returnedRows
private SqlResult
sqlResult
private long
totalCount
The total number of items. -
Constructor Summary
Constructors Constructor Description DynamicResultIterator(ResultSet results, long totalCount, int limit)
Create a new result iterator. -
Method Summary
Modifier and Type Method Description void
close()
From the ResultIterator interface ---------------------------------int
getIndex(String name)
Get the index number of a selected column.long
getTotalCount()
From the QueryResult interface ---------------------------------boolean
hasNext()
boolean
isClosed()
Check if the iterator has been closed.SqlResult
next()
Get the results in the next row.void
remove()
Not supported.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
-
Field Details
-
log
private static final org.slf4j.Logger logLogger. -
results
The results of the query. -
totalCount
private final long totalCountThe total number of items. -
limit
private final int limit -
returnedRows
private int returnedRows -
sqlResult
-
hasNext
private boolean hasNext -
checkNext
private boolean checkNext -
isClosed
private boolean isClosed
-
-
Constructor Details
-
DynamicResultIterator
DynamicResultIterator(ResultSet results, long totalCount, int limit)Create a new result iterator.- Parameters:
results
- TheResultSet
object containing the resultstotalCount
- The total number of rowslimit
- The maximum numbre of rows that was specified for the query
-
-
Method Details
-
getTotalCount
public long getTotalCount()From the QueryResult interface ---------------------------------- Specified by:
getTotalCount
in interfaceQueryResult
- Returns:
- The total number of items, or -1 if not known
- See Also:
Query.setReturnTotalCount(boolean)
-
close
public void close()From the ResultIterator interface ---------------------------------- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceResultIterator<SqlResult>
-
isClosed
public boolean isClosed()Description copied from interface:ResultIterator
Check if the iterator has been closed.- Specified by:
isClosed
in interfaceResultIterator<SqlResult>
-
hasNext
public boolean hasNext() -
next
Get the results in the next row. The actualSqlResult
object is always the same object. It just changes the underlying pointer to the next row in the result set. If you need to store data from a previous row you must copy the values to another place.- Specified by:
next
in interfaceIterator<SqlResult>
- Returns:
- A
SqlResult
object - Throws:
NoSuchElementException
- If there are no more results
-
remove
public void remove()Not supported.- Specified by:
remove
in interfaceIterator<SqlResult>
- Throws:
UnsupportedOperationException
- Always
-
getIndex
Description copied from interface:SqlResultIterator
Get the index number of a selected column. Use this method to find the index of a column and then use theSqlResult.getXxx(index)
methods to get the value of that column.- Specified by:
getIndex
in interfaceSqlResultIterator
- Parameters:
name
- The name of a selected column- Returns:
- The index number
- Throws:
SQLException
- If there is an error
-