com.google.appengine.api.files
Interface RecordReadChannel


public interface RecordReadChannel

A channel for reading records from a FileReadChannel.

The format of these records is defined by the leveldb log format: http://leveldb.googlecode.com/svn/trunk/doc/log_format.txt

An instance of RecordReadChannel may be obtained from the method: FileService.openRecordReadChannel(AppEngineFile, boolean).


Method Summary
 long position()
          Returns the position in the underlying FileReadChannel.
 void position(long newPosition)
          Sets the read position of the underlying FileReadChannel.
 java.nio.ByteBuffer readRecord()
          Reads a record from the file and returns it in a ByteBuffer.
 

Method Detail

readRecord

java.nio.ByteBuffer readRecord()
                               throws java.io.IOException
Reads a record from the file and returns it in a ByteBuffer. This ByteBuffer is reused, so if the user would like to save the result of readRecord(), they need to copy the output of this method.

Returns:
a ByteBuffer containing the record.
Throws:
java.io.IOException

position

long position()
              throws java.io.IOException
Returns the position in the underlying FileReadChannel.

Returns:
the position.
Throws:
java.io.IOException

position

void position(long newPosition)
              throws java.io.IOException
Sets the read position of the underlying FileReadChannel. The position value should only be set using the value obtained from a previous position() call.

Parameters:
newPosition - the position at which to set the reader.
Throws:
java.io.IOException