public class CursoredStreamPolicy extends CursorPolicy
Purpose: Used to support cursored streams in a read query.
Responsibilities: Execute the cursored read and build the stream.
Modifier and Type | Field and Description |
---|---|
protected int |
initialReadSize |
protected ValueReadQuery |
sizeQuery |
pageSize, query
Constructor and Description |
---|
CursoredStreamPolicy()
default constructor
|
CursoredStreamPolicy(ReadQuery query,
int pageSize)
set the initial read size to match the page size
|
CursoredStreamPolicy(ReadQuery query,
int initialReadSize,
int pageSize) |
CursoredStreamPolicy(ReadQuery query,
int initialReadSize,
int pageSize,
ValueReadQuery sizeQuery) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
execute()
INTERNAL:
Execute the cursored select and build the stream.
|
int |
getInitialReadSize()
Specifies the number of elements to be read initially into a cursored stream.
|
ValueReadQuery |
getSizeQuery()
Return the query used to read the size.
|
boolean |
hasSizeQuery()
INTERNAL:
Return if a custom size query is defined.
|
boolean |
isCursoredStreamPolicy() |
void |
prepare(DatabaseQuery query,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Prepare and validate.
|
java.lang.Object |
remoteExecute()
INTERNAL:
Execute the cursored select and build the stream.
|
void |
setInitialReadSize(int initialReadSize)
Specifies the number of elements to be read initially into a cursored stream
|
void |
setSizeQuery(ValueReadQuery sizeQuery)
Set the query used to read the size.
|
clone, createChangeEvent, getPageSize, getQuery, hasNext, isCursorPolicy, iteratorFor, next, overridesRead, setPageSize, setQuery, sizeFor, toStringInfo
addAdditionalFieldsToQuery, addAll, addAll, addFieldsForMapKey, addInto, addInto, addInto, addInto, addNestedJoinsQueriesForMapKey, addNextValueFromIteratorInto, buildChangeSetForNewObjectInCollection, buildCloneForKey, buildCollectionEntry, buildContainerFromVector, buildDefaultPolicy, buildKey, buildKeyFromJoinedRow, buildPolicyFor, buildPolicyFor, buildReferencesPKList, buildSelectionQueryForDirectCollectionMapping, cascadeDiscoverAndPersistUnregisteredNewObjects, cascadePerformRemoveIfRequired, cascadeRegisterNewIfRequired, clear, clone, cloneFor, collectObjectForNewCollection, compareCollectionsForChange, compareKeys, concatenateContainers, containerInstance, containerInstance, contains, contains, convertClassNamesToClasses, copyMapDataToRow, createChangeSetForKeys, createWrappedObjectFromExistingWrappedObject, deleteWrappedObject, equals, getAdditionalFieldsForJoin, getAdditionalTablesForJoinQuery, getChangeValuesFrom, getCloneDataFromChangeSet, getConstructor, getContainerClass, getContainerClassName, getDefaultContainerClass, getDescriptorForMapKey, getElementDescriptor, getIdentityFieldsForMapKey, getKeyMappingDataForWriteQuery, getKeySelectionCriteria, getKeyType, hasElementDescriptor, hasOrder, initialize, initializeConstructor, isCollectionPolicy, isDirectMapPolicy, isEmpty, isListPolicy, isMapKeyObject, isMappedKeyMapPolicy, isMapPolicy, isOrderedListPolicy, isScrollableCursorPolicy, isValidContainer, isValidContainerType, iterateOnMapKey, keyFrom, keyFromEntry, keyFromIterator, mergeCascadeParts, mergeChanges, mergeChanges, next, nextEntry, nextEntry, postCalculateChanges, postCalculateChanges, postInitialize, prepareForExecution, processAdditionalWritableMapKeyFields, propagatesEventsToCollection, propogatePostDelete, propogatePostInsert, propogatePostUpdate, propogatePreDelete, propogatePreInsert, propogatePreUpdate, recordAddToCollectionInChangeRecord, recordPrivateOwnedRemovals, recordRemoveFromCollectionInChangeRecord, recordUpdateToCollectionInChangeRecord, removeFrom, removeFrom, removeFrom, requiresDataModificationEvents, setConstructor, setContainerClass, setContainerClassName, setDefaultContainerClass, setElementDescriptor, setKeyName, setKeyName, shouldAddAll, shouldIncludeKeyInDeleteEvent, shouldUpdateForeignKeysPostInsert, toString, unwrapElement, unwrapIteratorResult, updateChangeRecordForSelfMerge, updateJoinedMappingIndexesForMapKey, valueFromPKList, vectorFor
protected int initialReadSize
protected ValueReadQuery sizeQuery
public CursoredStreamPolicy()
public CursoredStreamPolicy(ReadQuery query, int pageSize)
public CursoredStreamPolicy(ReadQuery query, int initialReadSize, int pageSize)
public CursoredStreamPolicy(ReadQuery query, int initialReadSize, int pageSize, ValueReadQuery sizeQuery)
public java.lang.Object execute()
execute
in class CursorPolicy
public int getInitialReadSize()
public ValueReadQuery getSizeQuery()
public boolean hasSizeQuery()
public boolean isCursoredStreamPolicy()
isCursoredStreamPolicy
in class org.eclipse.persistence.internal.queries.ContainerPolicy
public void prepare(DatabaseQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session) throws QueryException
prepare
in class CursorPolicy
QueryException
public java.lang.Object remoteExecute()
remoteExecute
in class CursorPolicy
public void setInitialReadSize(int initialReadSize)
public void setSizeQuery(ValueReadQuery sizeQuery)