Package org.eclipse.persistence.queries
Class CursoredStreamPolicy
java.lang.Object
org.eclipse.persistence.internal.queries.ContainerPolicy
org.eclipse.persistence.queries.CursorPolicy
org.eclipse.persistence.queries.CursoredStreamPolicy
- All Implemented Interfaces:
Serializable,Cloneable,org.eclipse.persistence.internal.core.queries.CoreContainerPolicy<org.eclipse.persistence.internal.sessions.AbstractSession>
Purpose: Used to support cursored streams in a read query.
Responsibilities: Execute the cursored read and build the stream.
- See Also:
- Author:
- James Sutherland
-
Field Summary
FieldsFields inherited from class org.eclipse.persistence.queries.CursorPolicy
pageSize, queryFields inherited from class org.eclipse.persistence.internal.queries.ContainerPolicy
constructor, defaultContainerClass, elementDescriptor -
Constructor Summary
ConstructorsConstructorDescriptiondefault constructorCursoredStreamPolicy(ReadQuery query, int pageSize) set the initial read size to match the page sizeCursoredStreamPolicy(ReadQuery query, int initialReadSize, int pageSize) CursoredStreamPolicy(ReadQuery query, int initialReadSize, int pageSize, ValueReadQuery sizeQuery) -
Method Summary
Modifier and TypeMethodDescriptionexecute()INTERNAL: Execute the cursored select and build the stream.intSpecifies the number of elements to be read initially into a cursored stream.Return the query used to read the size.booleanINTERNAL: Return if a custom size query is defined.booleanvoidprepare(DatabaseQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session) INTERNAL: Prepare and validate.INTERNAL: Execute the cursored select and build the stream.voidsetInitialReadSize(int initialReadSize) Specifies the number of elements to be read initially into a cursored streamvoidsetSizeQuery(ValueReadQuery sizeQuery) Set the query used to read the size.Methods inherited from class org.eclipse.persistence.queries.CursorPolicy
clone, createChangeEvent, getPageSize, getQuery, hasNext, isCursorPolicy, iteratorFor, next, overridesRead, setPageSize, setQuery, sizeFor, toStringInfoMethods inherited from class org.eclipse.persistence.internal.queries.ContainerPolicy
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, hashCode, 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
-
Field Details
-
initialReadSize
protected int initialReadSize -
sizeQuery
-
-
Constructor Details
-
CursoredStreamPolicy
public CursoredStreamPolicy()default constructor -
CursoredStreamPolicy
set the initial read size to match the page size -
CursoredStreamPolicy
-
CursoredStreamPolicy
public CursoredStreamPolicy(ReadQuery query, int initialReadSize, int pageSize, ValueReadQuery sizeQuery)
-
-
Method Details
-
execute
INTERNAL: Execute the cursored select and build the stream.- Specified by:
executein classCursorPolicy
-
getInitialReadSize
public int getInitialReadSize()Specifies the number of elements to be read initially into a cursored stream. -
getSizeQuery
Return the query used to read the size. This is required for SQL read queries. -
hasSizeQuery
public boolean hasSizeQuery()INTERNAL: Return if a custom size query is defined. -
isCursoredStreamPolicy
public boolean isCursoredStreamPolicy()- Overrides:
isCursoredStreamPolicyin classorg.eclipse.persistence.internal.queries.ContainerPolicy
-
prepare
public void prepare(DatabaseQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session) throws QueryException INTERNAL: Prepare and validate.- Overrides:
preparein classCursorPolicy- Throws:
QueryException
-
remoteExecute
INTERNAL: Execute the cursored select and build the stream.- Specified by:
remoteExecutein classCursorPolicy
-
setInitialReadSize
public void setInitialReadSize(int initialReadSize) Specifies the number of elements to be read initially into a cursored stream -
setSizeQuery
Set the query used to read the size. This is required for SQL read queries.
-