Module org.eclipse.persistence.core
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
,CoreContainerPolicy<AbstractSession>
Purpose: Used to support cursored streams in a read query.
Responsibilities: Execute the cursored read and build the stream.
- Since:
- TOPLink/Java 1.2
- See Also:
-
Field Summary
Fields inherited from class org.eclipse.persistence.queries.CursorPolicy
pageSize, query
Fields inherited from class org.eclipse.persistence.internal.queries.ContainerPolicy
constructor, defaultContainerClass, elementDescriptor
-
Constructor Summary
ConstructorDescriptiondefault 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.int
Specifies the number of elements to be read initially into a cursored stream.Return the query used to read the size.boolean
INTERNAL: Return if a custom size query is defined.boolean
void
prepare
(DatabaseQuery query, AbstractSession session) INTERNAL: Prepare and validate.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 streamvoid
setSizeQuery
(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, toStringInfo
Methods 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:
execute
in 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:
isCursoredStreamPolicy
in classContainerPolicy
-
prepare
INTERNAL: Prepare and validate.- Overrides:
prepare
in classCursorPolicy
- Throws:
QueryException
-
remoteExecute
INTERNAL: Execute the cursored select and build the stream.- Specified by:
remoteExecute
in 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.
-