Class ScrollableCursorPolicy

java.lang.Object
org.eclipse.persistence.internal.queries.ContainerPolicy
org.eclipse.persistence.queries.CursorPolicy
org.eclipse.persistence.queries.ScrollableCursorPolicy
All Implemented Interfaces:
Serializable, Cloneable, org.eclipse.persistence.internal.core.queries.CoreContainerPolicy<org.eclipse.persistence.internal.sessions.AbstractSession>

public class ScrollableCursorPolicy extends CursorPolicy
PUBLIC: ScrollableCursorPolicy allows for additional options to be specified for ReadAllQuery or DataReadQuery. These options are passed through to the JDBC result set, the JDBC driver must support JDBC2 scrolling cursors and the options used. Example:

ScrollableCursorPolicy policy = new ScrollableCursorPolicy()

policy.setResultSetType(ScrollableCursorPolicy.TYPE_SCROLL_INSENSITIVE);

query.useScrollableCursor(policy);

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    JDBC 2.0 The concurrency mode for a ResultSet object that may NOT be updated.
    static final int
    JDBC 2.0 The concurrency mode for a ResultSet object that may be updated.
    static final int
    JDBC 2.0 The rows in a result set will be processed in a forward direction; first-to-last.
    static final int
    JDBC 2.0 The rows in a result set will be processed in a reverse direction; last-to-first.
    static final int
    JDBC 2.0 The order in which rows in a result set will be processed is unknown.
    protected int
     
    protected int
     
    static final int
    JDBC 2.0 The type for a ResultSet object whose cursor may move only forward.
    static final int
    JDBC 2.0 The type for a ResultSet object that is scrollable but generally not sensitive to changes made by others.
    static final int
    JDBC 2.0 The type for a ResultSet object that is scrollable and generally sensitive to changes made by others.

    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

    Constructors
    Constructor
    Description
    PUBLIC: Create a new scrollable cursor policy.
    ScrollableCursorPolicy(ReadQuery query, int pageSize)
    INTERNAL: Create a cursor policy with the pagesize.
  • Method Summary

    Modifier and Type
    Method
    Description
    INTERNAL: Execute the cursored select and build the stream.
    int
    PUBLIC: The ResultSetConcurrency specifies if the resultset is updatable.
    int
    PUBLIC: The ResultSetType specifies if the resultset is sensitive to changes made by others.
    boolean
     
    INTERNAL: Execute the cursored select and build the stream.
    void
    setResultSetConcurrency(int resultSetConcurrency)
    PUBLIC: The ResultSetConcurrency specifies if the resultset is updatable.
    void
    setResultSetType(int resultSetType)
    PUBLIC: The ResultSetType specifies if the resultset is sensitive to changes made by others.

    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, isCursoredStreamPolicy, isDirectMapPolicy, isEmpty, isListPolicy, isMapKeyObject, isMappedKeyMapPolicy, isMapPolicy, isOrderedListPolicy, 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

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • resultSetType

      protected int resultSetType
    • resultSetConcurrency

      protected int resultSetConcurrency
    • FETCH_FORWARD

      public static final int FETCH_FORWARD
      JDBC 2.0 The rows in a result set will be processed in a forward direction; first-to-last.
      See Also:
    • FETCH_REVERSE

      public static final int FETCH_REVERSE
      JDBC 2.0 The rows in a result set will be processed in a reverse direction; last-to-first.
      See Also:
    • FETCH_UNKNOWN

      public static final int FETCH_UNKNOWN
      JDBC 2.0 The order in which rows in a result set will be processed is unknown.
      See Also:
    • TYPE_FORWARD_ONLY

      public static final int TYPE_FORWARD_ONLY
      JDBC 2.0 The type for a ResultSet object whose cursor may move only forward.
      See Also:
    • TYPE_SCROLL_INSENSITIVE

      public static final int TYPE_SCROLL_INSENSITIVE
      JDBC 2.0 The type for a ResultSet object that is scrollable but generally not sensitive to changes made by others.
      See Also:
    • TYPE_SCROLL_SENSITIVE

      public static final int TYPE_SCROLL_SENSITIVE
      JDBC 2.0 The type for a ResultSet object that is scrollable and generally sensitive to changes made by others.
      See Also:
    • CONCUR_READ_ONLY

      public static final int CONCUR_READ_ONLY
      JDBC 2.0 The concurrency mode for a ResultSet object that may NOT be updated.
      See Also:
    • CONCUR_UPDATABLE

      public static final int CONCUR_UPDATABLE
      JDBC 2.0 The concurrency mode for a ResultSet object that may be updated.
      See Also:
  • Constructor Details

    • ScrollableCursorPolicy

      public ScrollableCursorPolicy()
      PUBLIC: Create a new scrollable cursor policy.
    • ScrollableCursorPolicy

      public ScrollableCursorPolicy(ReadQuery query, int pageSize)
      INTERNAL: Create a cursor policy with the pagesize.
  • Method Details

    • execute

      public Object execute()
      INTERNAL: Execute the cursored select and build the stream.
      Specified by:
      execute in class CursorPolicy
    • getResultSetConcurrency

      public int getResultSetConcurrency()
      PUBLIC: The ResultSetConcurrency specifies if the resultset is updatable. It is one of, CONCUR_READ_ONLY, CONCUR_UPDATABLE
    • getResultSetType

      public int getResultSetType()
      PUBLIC: The ResultSetType specifies if the resultset is sensitive to changes made by others. It is one of, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE
    • isScrollableCursorPolicy

      public boolean isScrollableCursorPolicy()
      Overrides:
      isScrollableCursorPolicy in class org.eclipse.persistence.internal.queries.ContainerPolicy
    • remoteExecute

      public Object remoteExecute()
      INTERNAL: Execute the cursored select and build the stream.
      Specified by:
      remoteExecute in class CursorPolicy
    • setResultSetConcurrency

      public void setResultSetConcurrency(int resultSetConcurrency)
      PUBLIC: The ResultSetConcurrency specifies if the resultset is updatable. It is one of, CONCUR_READ_ONLY, CONCUR_UPDATABLE
    • setResultSetType

      public void setResultSetType(int resultSetType)
      PUBLIC: The ResultSetType specifies if the resultset is sensitive to changes made by others. It is one of, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE