Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

B32476-03

oracle.toplink.queryframework
Class CursoredStream

java.lang.Object
  extended by oracle.toplink.queryframework.Cursor
      extended by oracle.toplink.queryframework.CursoredStream
All Implemented Interfaces:
java.io.Serializable, java.util.Enumeration

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.

Since:
TOPLink/Java 1.0
See Also:
Serialized Form

Field Summary
 
Fields inherited from class oracle.toplink.queryframework.Cursor
policy
 
Method Summary
 boolean atEnd()
          Return whether the cursored stream is at its end.
 int available()
          Returns the number of objects that can be read from this input without blocking.
 boolean hasMoreElements()
          Return whether the cursored stream has any more elements.
 void mark(int readAheadLimit)
          Mark the present position in the stream.
 boolean markSupported()
          Tests if this input stream supports the mark and reset methods.
 java.lang.Object nextElement()
          Return the next object from the collection, if beyond the read limit read from the cursor.
 java.util.Vector nextElements(int numberOfElements)
          Return a Vector of at most numberOfElements of the next objects from the collection.
 java.lang.Object peek()
          Return the next object in the stream, without increamenting the stream's position.
 java.lang.Object read()
          This method differs slightly from conventinal read() operation on a Java stream.
 java.util.Vector read(int number)
          This method differs slightly from conventinal read() operation on a Java stream.
 void releasePrevious()
          Release all objects read in so far.
 void reset()
          Repositions this stream to the position at the time the mark method was last called on this stream.
 
Methods inherited from class oracle.toplink.queryframework.Cursor
close, isClosed, size
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

atEnd

public boolean atEnd()
              throws DatabaseException
Return whether the cursored stream is at its end.

Throws:
DatabaseException

available

public int available()
              throws DatabaseException
Returns the number of objects that can be read from this input without blocking.

Throws:
DatabaseException

hasMoreElements

public boolean hasMoreElements()
Return whether the cursored stream has any more elements.


mark

public void mark(int readAheadLimit)
Mark the present position in the stream. Subsequent calls to reset() will attempt to reposition the stream to this point.

Parameters:
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.

markSupported

public boolean markSupported()
Tests if this input stream supports the mark and reset methods. The markSupported method of InputStream returns false.


nextElement

public java.lang.Object nextElement()
Return the next object from the collection, if beyond the read limit read from the cursor.

Returns:
the next object in stream

nextElements

public java.util.Vector nextElements(int numberOfElements)
Return a Vector of at most numberOfElements of the next objects from the collection. If there aren't that many objects left to read, just return what is available.

Returns:
the next objects in stream

peek

public java.lang.Object peek()
                      throws DatabaseException
Return the next object in the stream, without increamenting the stream's position.

Throws:
DatabaseException

read

public java.lang.Object read()
                      throws DatabaseException,
                             QueryException
This method differs slightly from conventinal read() operation on a Java stream. This method return the next object in the collection rather than specifying the number of bytes to be read in. Return the next object from the collection, if beyond the read limit read from the cursor

Returns:
- next object in stream
Throws:
- - throws exception if read pass end of stream
DatabaseException
QueryException

read

public java.util.Vector read(int number)
                      throws DatabaseException
This method differs slightly from conventinal read() operation on a Java stream. This method returns the next number of objects in the collection in a vector. Return the next object from the collection, if beyond the read limit read from the cursor

Parameters:
number - - number of objects to be returned
Returns:
- vector containing next number of objects
Throws:
- - throws exception if read pass end of stream
DatabaseException

releasePrevious

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


reset

public void reset()
Repositions this stream to the position at the time the mark method was last called on this stream.


Copyright © 1998, 2010, Oracle. All Rights Reserved.