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
An iterator view of the result of an
AbstractSqlQuery
.- Version:
- 2.0
- Author:
- Nicklas
- See Also:
- Last modified
- $Date: 2014-04-09 14:21:20 +0200 (on, 09 apr 2014) $
-
Nested Class Summary
Modifier and TypeClassDescriptionprivate class
Implements the SqlResult interface. -
Field Summary
-
Constructor Summary
ConstructorDescriptionDynamicResultIterator
(ResultSet results, long totalCount, int limit) Create a new result iterator. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
From the ResultIterator interface ---------------------------------int
Get the index number of a selected column.long
From the QueryResult interface ---------------------------------boolean
hasNext()
boolean
isClosed()
Check if the iterator has been closed.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
Logger. -
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:
-
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
-