public abstract class CursorPolicy
extends org.eclipse.persistence.internal.queries.ContainerPolicy
Purpose: Abstract class for all Cursor-related policy objects
Modifier and Type | Field and Description |
---|---|
protected int |
pageSize |
protected ReadQuery |
query |
Constructor and Description |
---|
CursorPolicy()
INTERNAL:
default constructor
|
CursorPolicy(ReadQuery query,
int pageSize)
INTERNAL:
|
Modifier and Type | Method and Description |
---|---|
org.eclipse.persistence.internal.queries.ContainerPolicy |
clone(ReadQuery query)
INTERNAL:
|
CollectionChangeEvent |
createChangeEvent(java.lang.Object collectionOwner,
java.lang.String propertyName,
java.lang.Object collectionChanged,
java.lang.Object elementChanged,
int changeType,
java.lang.Integer index,
boolean isChangeApplied)
INTERNAL:
Creates a CollectionChangeEvent for the container
|
abstract java.lang.Object |
execute()
INTERNAL:
Execute the cursored select and build the stream.
|
int |
getPageSize()
Return the number of elements to be read into a cursored stream
when more elements are needed from the database.
|
ReadQuery |
getQuery()
INTERNAL:
Return the query.
|
boolean |
hasNext(java.lang.Object iterator)
INTERNAL:
Return whether the iterator has more objects.
|
boolean |
isCursorPolicy() |
java.lang.Object |
iteratorFor(java.lang.Object container)
INTERNAL:
Return an iterator for the given container.
|
protected java.lang.Object |
next(java.lang.Object iterator)
INTERNAL:
Return the next object on the queue.
|
boolean |
overridesRead()
INTERNAL:
This can be used by collection such as cursored stream to gain control over execution.
|
void |
prepare(DatabaseQuery query,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Prepare and validate.
|
abstract java.lang.Object |
remoteExecute()
INTERNAL:
Execute the cursored select and build the stream.
|
void |
setPageSize(int pageSize)
Set the number of elements to be read into a cursored stream
when more elements are needed from the database.
|
void |
setQuery(ReadQuery query)
INTERNAL:
Set the query.
|
int |
sizeFor(java.lang.Object container)
INTERNAL:
Return the size of container.
|
protected java.lang.Object |
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, isCursoredStreamPolicy, 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 pageSize
protected ReadQuery query
public CursorPolicy()
public CursorPolicy(ReadQuery query, int pageSize)
public org.eclipse.persistence.internal.queries.ContainerPolicy clone(ReadQuery query)
clone
in class org.eclipse.persistence.internal.queries.ContainerPolicy
public CollectionChangeEvent createChangeEvent(java.lang.Object collectionOwner, java.lang.String propertyName, java.lang.Object collectionChanged, java.lang.Object elementChanged, int changeType, java.lang.Integer index, boolean isChangeApplied)
createChangeEvent
in class org.eclipse.persistence.internal.queries.ContainerPolicy
public abstract java.lang.Object execute()
execute
in class org.eclipse.persistence.internal.queries.ContainerPolicy
public int getPageSize()
public ReadQuery getQuery()
public boolean hasNext(java.lang.Object iterator)
hasNext
in interface org.eclipse.persistence.internal.core.queries.CoreContainerPolicy<org.eclipse.persistence.internal.sessions.AbstractSession>
hasNext
in class org.eclipse.persistence.internal.queries.ContainerPolicy
iterator
- java.lang.Objectpublic boolean isCursorPolicy()
isCursorPolicy
in class org.eclipse.persistence.internal.queries.ContainerPolicy
public java.lang.Object iteratorFor(java.lang.Object container)
iteratorFor
in interface org.eclipse.persistence.internal.core.queries.CoreContainerPolicy<org.eclipse.persistence.internal.sessions.AbstractSession>
iteratorFor
in class org.eclipse.persistence.internal.queries.ContainerPolicy
ContainerPolicy.hasNext(java.lang.Object)
,
ContainerPolicy.next(java.lang.Object)
protected java.lang.Object next(java.lang.Object iterator)
next
in class org.eclipse.persistence.internal.queries.ContainerPolicy
ContainerPolicy.iteratorFor(java.lang.Object)
public boolean overridesRead()
overridesRead
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 org.eclipse.persistence.internal.queries.ContainerPolicy
QueryException
public abstract java.lang.Object remoteExecute()
remoteExecute
in class org.eclipse.persistence.internal.queries.ContainerPolicy
public void setPageSize(int pageSize)
public void setQuery(ReadQuery query)
public int sizeFor(java.lang.Object container)
sizeFor
in interface org.eclipse.persistence.internal.core.queries.CoreContainerPolicy<org.eclipse.persistence.internal.sessions.AbstractSession>
sizeFor
in class org.eclipse.persistence.internal.queries.ContainerPolicy
protected java.lang.Object toStringInfo()
toStringInfo
in class org.eclipse.persistence.internal.queries.ContainerPolicy