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>>bulkLoadedValueByMemberNumberMap of field values, keyed by the "id" of the object.protected booleancloseStatementWithResultSetDefault to closing the statement when closing the resultSet, but allow override.protected org.datanucleus.FetchPlanfpprotected ResultObjectFactory<E>rofResultObjectFactory for converting the result set into objects.protected ResultSetrsThe 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 voidclose()Method to close the results, meaning that they are inaccessible after this point.protected voidcloseResults()Internal method to close the ResultSet.voiddisconnect()Method to disconnect the results from the ExecutionContext, meaning that thereafter it just behaves like a List.booleanequals(Object o)inthashCode()abstract voidinitialise()voidregisterMemberBulkResultSet(IteratorStatement iterStmt, ResultSet rs)voidsetCloseStatementWithResultSet(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:
closeResultsin classorg.datanucleus.store.query.AbstractQueryResult<E>
-
equals
public boolean equals(Object o)
-
-