public class CursoredStream extends Cursor
Purpose: Stream class which is used to deal with large collections returned from TOPLink queries more efficiently.
Responsibilities: Wraps a database result set cursor to provide a stream on the resulting selected objects.
Constructor and Description |
---|
CursoredStream()
INTERNAL: Initialize the state of the stream
|
CursoredStream(org.eclipse.persistence.internal.databaseaccess.DatabaseCall call, CursoredStreamPolicy policy)
INTERNAL: Initialize the state of the stream
|
Modifier and Type | Method and Description |
---|---|
boolean |
atEnd()
PUBLIC: Return whether the cursored stream is at its end.
|
int |
available()
PUBLIC: Returns the number of objects that can be read from this input without blocking.
|
Expression |
buildCountDistinctExpression(java.util.List includeFields, ExpressionBuilder builder)
INTERNAL: Must build the count on the primary key fields, not * as * is not allowed if there was a distinct.
|
void |
clear()
PUBLIC: Release all objects read in so far.
|
int |
getPageSize()
INTERNAL: Return the page size for the stream.
|
int |
getPosition()
INTERNAL: Return the position of the stream inside the object collection
|
boolean |
hasMoreElements()
PUBLIC: Return whether the cursored stream has any more elements.
|
boolean |
hasNext()
PUBLIC: Return whether the cursored stream has any more elements.
|
void |
mark(int readAheadLimit)
PUBLIC: Mark the present position in the stream.
|
boolean |
markSupported()
PUBLIC: Tests if this input stream supports the
mark and reset methods. |
java.lang.Object |
next()
PUBLIC: Return the next object from the collection, if beyond the read limit read from the cursor.
|
java.util.List<java.lang.Object> |
next(int numberOfElements)
PUBLIC: Return a Vector of at most numberOfElements of the next objects from the collection.
|
java.lang.Object |
nextElement()
PUBLIC: Return the next object from the collection, if beyond the read limit read from the cursor.
|
java.util.Vector |
nextElements(int numberOfElements)
PUBLIC: Return a Vector of at most numberOfElements of the next objects from the collection.
|
java.lang.Object |
peek()
PUBLIC: Return the next object in the stream, without incrementing the stream's position.
|
java.lang.Object |
read()
PUBLIC: This method differs slightly from conventional read() operation on a Java stream.
|
java.util.List<java.lang.Object> |
read(int number)
PUBLIC: This method differs slightly from conventional read() operation on a Java stream.
|
void |
releasePrevious()
PUBLIC: Release all objects read in so far.
|
void |
reset()
PUBLIC: Repositions this stream to the position at the time the mark method was last called on this stream.
|
close, getAccessor, getExecutionSession, getFields, getInitiallyConformingIndex, getObjectCollection, getPolicy, getQuery, getResultSet, getSelectionCriteriaClone, getSession, isClosed, remove, setInitiallyConformingIndex, setObjectCollection, setPolicy, setSelectionCriteriaClone, setSession, setSize, setTranslationRow, size
public CursoredStream()
public CursoredStream(org.eclipse.persistence.internal.databaseaccess.DatabaseCall call, CursoredStreamPolicy policy)
public boolean atEnd() throws DatabaseException
DatabaseException
public int available() throws DatabaseException
DatabaseException
public Expression buildCountDistinctExpression(java.util.List includeFields, ExpressionBuilder builder)
public int getPageSize()
getPageSize
in class Cursor
public int getPosition()
getPosition
in class Cursor
public boolean hasMoreElements()
public boolean hasNext()
public void mark(int readAheadLimit)
readAheadLimit
- Limit on the number of characters that may be read while still preserving the mark. Because the stream's input comes from the database, there is no actual limit, so this argument is ignored.public boolean markSupported()
mark
and reset
methods. The markSupported
method of InputStream
returns false
.public java.lang.Object nextElement()
public java.lang.Object next()
public java.util.Vector nextElements(int numberOfElements)
public java.util.List<java.lang.Object> next(int numberOfElements)
public java.lang.Object peek() throws DatabaseException
DatabaseException
public java.lang.Object read() throws DatabaseException, QueryException
-
- throws exception if read pass end of streamDatabaseException
QueryException
public java.util.List<java.lang.Object> read(int number) throws DatabaseException
number
- - number of objects to be returned-
- throws exception if read pass end of streamDatabaseException
public void clear()
public void releasePrevious()
public void reset()