EclipseLink 2.3.2, build 'v20111125-r10461' API Reference

org.eclipse.persistence.queries
Class CursorPolicy

java.lang.Object
  extended by org.eclipse.persistence.internal.queries.ContainerPolicy
      extended by org.eclipse.persistence.queries.CursorPolicy
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
CursoredStreamPolicy, ScrollableCursorPolicy

public abstract class CursorPolicy
extends org.eclipse.persistence.internal.queries.ContainerPolicy

Purpose: Abstract class for all Cursor-related policy objects

See Also:
Serialized Form

Field Summary
protected  int pageSize
           
protected  ReadQuery query
           
 
Fields inherited from class org.eclipse.persistence.internal.queries.ContainerPolicy
constructor, defaultContainerClass, elementDescriptor
 
Constructor Summary
CursorPolicy()
          INTERNAL: default constructor
CursorPolicy(ReadQuery query, int pageSize)
          INTERNAL:
 
Method Summary
 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()
           
 
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, hasOrder, initialize, initializeConstructor, isCollectionPolicy, isCursoredStreamPolicy, isDirectMapPolicy, isEmpty, isListPolicy, isMapKeyObject, isMappedKeyMapPolicy, isMapPolicy, isOrderedListPolicy, isScrollableCursorPolicy, isValidContainer, isValidContainerType, iterateOnMapKey, keyFrom, keyFromEntry, keyFromIterator, mergeCascadeParts, 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, updateJoinedMappingIndexesForMapKey, valueFromPKList, vectorFor
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

pageSize

protected int pageSize

query

protected ReadQuery query
Constructor Detail

CursorPolicy

public CursorPolicy()
INTERNAL: default constructor


CursorPolicy

public CursorPolicy(ReadQuery query,
                    int pageSize)
INTERNAL:

Method Detail

clone

public org.eclipse.persistence.internal.queries.ContainerPolicy clone(ReadQuery query)
INTERNAL:

Overrides:
clone in class org.eclipse.persistence.internal.queries.ContainerPolicy

createChangeEvent

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)
INTERNAL: Creates a CollectionChangeEvent for the container

Specified by:
createChangeEvent in class org.eclipse.persistence.internal.queries.ContainerPolicy

execute

public abstract java.lang.Object execute()
INTERNAL: Execute the cursored select and build the stream.

Overrides:
execute in class org.eclipse.persistence.internal.queries.ContainerPolicy

getPageSize

public int getPageSize()
Return the number of elements to be read into a cursored stream when more elements are needed from the database.


getQuery

public ReadQuery getQuery()
INTERNAL: Return the query.


hasNext

public boolean hasNext(java.lang.Object iterator)
INTERNAL: Return whether the iterator has more objects.

Specified by:
hasNext in class org.eclipse.persistence.internal.queries.ContainerPolicy
Parameters:
iterator - java.lang.Object
Returns:
boolean true if iterator has more objects

isCursorPolicy

public boolean isCursorPolicy()
Overrides:
isCursorPolicy in class org.eclipse.persistence.internal.queries.ContainerPolicy

iteratorFor

public java.lang.Object iteratorFor(java.lang.Object container)
INTERNAL: Return an iterator for the given container. This iterator can then be used as a parameter to #hasNext() and #next().

Specified by:
iteratorFor in class org.eclipse.persistence.internal.queries.ContainerPolicy
See Also:
ContainerPolicy.hasNext(java.lang.Object), ContainerPolicy.next(java.lang.Object)

next

protected java.lang.Object next(java.lang.Object iterator)
INTERNAL: Return the next object on the queue. The iterator is the one returned from #iteratorFor().

Specified by:
next in class org.eclipse.persistence.internal.queries.ContainerPolicy
See Also:
ContainerPolicy.iteratorFor(java.lang.Object)

overridesRead

public boolean overridesRead()
INTERNAL: This can be used by collection such as cursored stream to gain control over execution.

Overrides:
overridesRead in class org.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:
prepare in class org.eclipse.persistence.internal.queries.ContainerPolicy
Throws:
QueryException

remoteExecute

public abstract java.lang.Object remoteExecute()
INTERNAL: Execute the cursored select and build the stream.

Overrides:
remoteExecute in class org.eclipse.persistence.internal.queries.ContainerPolicy

setPageSize

public void setPageSize(int pageSize)
Set the number of elements to be read into a cursored stream when more elements are needed from the database.


setQuery

public void setQuery(ReadQuery query)
INTERNAL: Set the query.


sizeFor

public int sizeFor(java.lang.Object container)
INTERNAL: Return the size of container.

Overrides:
sizeFor in class org.eclipse.persistence.internal.queries.ContainerPolicy

toStringInfo

protected java.lang.Object toStringInfo()
Overrides:
toStringInfo in class org.eclipse.persistence.internal.queries.ContainerPolicy

EclipseLink 2.3.2, build 'v20111125-r10461' API Reference