Class AbstractRDBMSQueryResult<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- org.datanucleus.store.query.AbstractQueryResult<E>
-
- org.datanucleus.store.rdbms.query.AbstractRDBMSQueryResult<E>
-
- All Implemented Interfaces:
Serializable
,Iterable<E>
,Collection<E>
,List<E>
,org.datanucleus.store.query.QueryResult<E>
- Direct Known Subclasses:
ForwardQueryResult
,ScrollableQueryResult
public abstract class AbstractRDBMSQueryResult<E> extends org.datanucleus.store.query.AbstractQueryResult<E>
Abstract representation of a QueryResult for RDBMS queries. Based on the assumption that we have a JDBC ResultSet, and we are extracting the results using a ResultObjectFactory.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<Object,Map<Integer,Object>>
bulkLoadedValueByMemberNumber
Map of field values, keyed by the "id" of the object.protected boolean
closeStatementWithResultSet
Default to closing the statement when closing the resultSet, but allow override.protected org.datanucleus.FetchPlan
fp
protected ResultObjectFactory<E>
rof
ResultObjectFactory for converting the result set into objects.protected ResultSet
rs
The ResultSet containing the results.-
Fields inherited from class org.datanucleus.store.query.AbstractQueryResult
api, closed, connectionListeners, loadResultsAtCommit, query, resultSizeMethod, size
-
Fields inherited from class java.util.AbstractList
modCount
-
-
Constructor Summary
Constructors Constructor Description AbstractRDBMSQueryResult(org.datanucleus.store.query.Query query, ResultObjectFactory<E> rof, ResultSet rs, org.datanucleus.FetchPlan fp)
Constructor of the result from a Query.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
close()
Method to close the results, meaning that they are inaccessible after this point.protected void
closeResults()
Internal method to close the ResultSet.void
disconnect()
Method to disconnect the results from the ExecutionContext, meaning that thereafter it just behaves like a List.boolean
equals(Object o)
int
hashCode()
abstract void
initialise()
void
registerMemberBulkResultSet(IteratorStatement iterStmt, ResultSet rs)
void
setCloseStatementWithResultSet(boolean flag)
-
Methods inherited from class org.datanucleus.store.query.AbstractQueryResult
add, add, addAll, addConnectionListener, assertIsOpen, clear, closingConnection, contains, containsAll, get, getSizeUsingMethod, indexOf, isEmpty, isOpen, iterator, lastIndexOf, listIterator, remove, set, size, subList, toArray, toArray
-
Methods inherited from class java.util.AbstractList
listIterator, removeRange
-
Methods inherited from class java.util.AbstractCollection
addAll, remove, removeAll, retainAll, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface java.util.List
addAll, remove, removeAll, replaceAll, retainAll, sort, spliterator
-
-
-
-
Field Detail
-
rs
protected ResultSet rs
The ResultSet containing the results.
-
rof
protected ResultObjectFactory<E> rof
ResultObjectFactory for converting the result set into objects.
-
fp
protected org.datanucleus.FetchPlan fp
-
bulkLoadedValueByMemberNumber
protected Map<Object,Map<Integer,Object>> bulkLoadedValueByMemberNumber
Map of field values, keyed by the "id" of the object. The value is a "Map<fieldNumber, fieldValue>".
-
closeStatementWithResultSet
protected boolean closeStatementWithResultSet
Default to closing the statement when closing the resultSet, but allow override.
-
-
Constructor Detail
-
AbstractRDBMSQueryResult
public AbstractRDBMSQueryResult(org.datanucleus.store.query.Query query, ResultObjectFactory<E> rof, ResultSet rs, org.datanucleus.FetchPlan fp)
Constructor of the result from a Query.- Parameters:
query
- The Queryrof
- The factory to retrieve results fromrs
- The ResultSet from the Query Statementfp
- FetchPlan
-
-
Method Detail
-
setCloseStatementWithResultSet
public void setCloseStatementWithResultSet(boolean flag)
-
registerMemberBulkResultSet
public void registerMemberBulkResultSet(IteratorStatement iterStmt, ResultSet rs)
-
initialise
public abstract void initialise() throws SQLException
- Throws:
SQLException
-
disconnect
public void disconnect()
Method to disconnect the results from the ExecutionContext, meaning that thereafter it just behaves like a List. All remaining results are read in at this point (unless selected not to be).
-
close
public void close()
Method to close the results, meaning that they are inaccessible after this point.
-
closeResults
protected void closeResults()
Internal method to close the ResultSet.- Specified by:
closeResults
in classorg.datanucleus.store.query.AbstractQueryResult<E>
-
equals
public boolean equals(Object o)
-
-