org.eclipse.persistence.queries
Class Cursor

java.lang.Object
  extended by org.eclipse.persistence.queries.Cursor
All Implemented Interfaces:
Serializable, Enumeration, Iterator
Direct Known Subclasses:
CursoredStream, ScrollableCursor

public abstract class Cursor
extends Object
implements Enumeration, Iterator, Serializable

Purpose: Abstract class for CursoredStream and ScrolableCursor

See Also:
Serialized Form

Field Summary
 CursorPolicy policy
          Query policy that initialize the stream.
 ReadQuery query
          Read query that initialize the stream.
 
Constructor Summary
Cursor()
          INTERNAL: Default constructor.
Cursor(org.eclipse.persistence.internal.databaseaccess.DatabaseCall call, CursorPolicy policy)
          INTERNAL:
 
Method Summary
 void clear()
          PUBLIC: Release all objects read in so far.
 void close()
          PUBLIC: Closes the stream.
 org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor getAccessor()
          INTERNAL: Return the accessor associated with the cursor.
 org.eclipse.persistence.internal.sessions.AbstractSession getExecutionSession()
          INTERNAL: Returns the session the underlying call was executed on.
 Vector<org.eclipse.persistence.internal.helper.DatabaseField> getFields()
          INTERNAL: Return the fields for the stream.
 Map<Object,Object> getInitiallyConformingIndex()
          INTERNAL: Conforming instances found in memory when building the result.
 List<Object> getObjectCollection()
          INTERNAL: Return the internal object collection that stores the objects.
 int getPageSize()
          INTERNAL: Return the number of items to be faulted in for the stream.
 CursorPolicy getPolicy()
          INTERNAL: Return the cursor policy.
abstract  int getPosition()
          INTERNAL: Return the position of the stream inside the object collection.
 ReadQuery getQuery()
          INTERNAL: Return the query associated with the stream.
 ResultSet getResultSet()
          INTERNAL: Return the result set (cursor).
 Expression getSelectionCriteriaClone()
          INTERNAL: The clone of the selection criteria is needed for in-memory conforming each object read from the Cursor.
 org.eclipse.persistence.internal.sessions.AbstractSession getSession()
          INTERNAL: Return the handle to the session
 boolean isClosed()
          PUBLIC: Return if the stream is closed.
 void remove()
          PUBLIC: Remove is not support with cursors.
 void setInitiallyConformingIndex(Map<Object,Object> index)
          INTERNAL: Conforming instances found in memory when building the result.
 void setObjectCollection(List<Object> collection)
          INTERNAL: Set the internal object collection
 void setPolicy(CursorPolicy policy)
          INTERNAL: Set the cursor policy.
 void setSelectionCriteriaClone(Expression expression)
          INTERNAL: The clone of the selection criteria is needed for in-memory conforming each object read from the Cursor.
 void setSession(org.eclipse.persistence.internal.sessions.AbstractSession databaseSession)
          INTERNAL: Set the session handle
 void setSize(int size)
          INTERNAL: Set the cache size
 void setTranslationRow(org.eclipse.persistence.internal.sessions.AbstractRecord row)
          INTERNAL: Sets the translation row this query was executed with.
 int size()
          PUBLIC: Retrieve the size of the open cursor by executing a count on the same query as the cursor.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Enumeration
hasMoreElements, nextElement
 
Methods inherited from interface java.util.Iterator
hasNext, next
 

Field Detail

query

public transient ReadQuery query
Read query that initialize the stream.


policy

public transient CursorPolicy policy
Query policy that initialize the stream.

Constructor Detail

Cursor

public Cursor()
INTERNAL: Default constructor.


Cursor

public Cursor(org.eclipse.persistence.internal.databaseaccess.DatabaseCall call,
              CursorPolicy policy)
INTERNAL:

Method Detail

close

public void close()
           throws DatabaseException
PUBLIC: Closes the stream. This should be performed whenever the user has finished with the stream.

Throws:
DatabaseException

getAccessor

public org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor getAccessor()
INTERNAL: Return the accessor associated with the cursor.


getFields

public Vector<org.eclipse.persistence.internal.helper.DatabaseField> getFields()
INTERNAL: Return the fields for the stream.


getInitiallyConformingIndex

public Map<Object,Object> getInitiallyConformingIndex()
INTERNAL: Conforming instances found in memory when building the result. These objects are returned first by the cursor, and a fast lookup is needed to make sure the same objects appearing in the cursor are filtered out.


getObjectCollection

public List<Object> getObjectCollection()
INTERNAL: Return the internal object collection that stores the objects.


getPageSize

public int getPageSize()
INTERNAL: Return the number of items to be faulted in for the stream.


getPolicy

public CursorPolicy getPolicy()
INTERNAL: Return the cursor policy.


getPosition

public abstract int getPosition()
INTERNAL: Return the position of the stream inside the object collection.


getQuery

public ReadQuery getQuery()
INTERNAL: Return the query associated with the stream.


getResultSet

public ResultSet getResultSet()
INTERNAL: Return the result set (cursor).


getSelectionCriteriaClone

public Expression getSelectionCriteriaClone()
INTERNAL: The clone of the selection criteria is needed for in-memory conforming each object read from the Cursor.


getSession

public org.eclipse.persistence.internal.sessions.AbstractSession getSession()
INTERNAL: Return the handle to the session


getExecutionSession

public org.eclipse.persistence.internal.sessions.AbstractSession getExecutionSession()
INTERNAL: Returns the session the underlying call was executed on. This root session knows the database platform.


isClosed

public boolean isClosed()
PUBLIC: Return if the stream is closed.


setInitiallyConformingIndex

public void setInitiallyConformingIndex(Map<Object,Object> index)
INTERNAL: Conforming instances found in memory when building the result. These objects are returned first by the cursor, and a fast lookup is needed to make sure the same objects appearing in the cursor are filtered out.


setObjectCollection

public void setObjectCollection(List<Object> collection)
INTERNAL: Set the internal object collection


setPolicy

public void setPolicy(CursorPolicy policy)
INTERNAL: Set the cursor policy.


setSelectionCriteriaClone

public void setSelectionCriteriaClone(Expression expression)
INTERNAL: The clone of the selection criteria is needed for in-memory conforming each object read from the Cursor.


setSession

public void setSession(org.eclipse.persistence.internal.sessions.AbstractSession databaseSession)
INTERNAL: Set the session handle


setSize

public void setSize(int size)
INTERNAL: Set the cache size


setTranslationRow

public void setTranslationRow(org.eclipse.persistence.internal.sessions.AbstractRecord row)
INTERNAL: Sets the translation row this query was executed with. Used for incremental conforming.


size

public int size()
         throws DatabaseException
PUBLIC: Retrieve the size of the open cursor by executing a count on the same query as the cursor. If this cursor is conforming size() can only be an estimate. cursor size plus number of conforming instances found in memory will be returned. The union (actual result) may be smaller than this.

Throws:
DatabaseException

remove

public void remove()
            throws QueryException
PUBLIC: Remove is not support with cursors.

Specified by:
remove in interface Iterator
Throws:
QueryException

clear

public void clear()
PUBLIC: Release all objects read in so far. This should be performed when reading in a large collection of objects in order to preserve memory.