org.apache.lucene.store
Class RAMInputStream

java.lang.Object
  extended by org.apache.lucene.store.DataInput
      extended by org.apache.lucene.store.IndexInput
          extended by org.apache.lucene.store.RAMInputStream
All Implemented Interfaces:
Closeable, Cloneable

public class RAMInputStream
extends IndexInput
implements Cloneable

A memory-resident IndexInput implementation.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

Field Summary
 
Fields inherited from class org.apache.lucene.store.IndexInput
copyBuf
 
Constructor Summary
RAMInputStream(RAMFile f)
           
 
Method Summary
 void close()
          Closes the stream to further operations.
 void copyBytes(IndexOutput out, long numBytes)
          Copies numBytes bytes to the given IndexOutput.
 long getFilePointer()
          Returns the current position in this file, where the next read will occur.
 long length()
          The number of bytes in the file.
 byte readByte()
          Reads and returns a single byte.
 void readBytes(byte[] b, int offset, int len)
          Reads a specified number of bytes into an array at the specified offset.
 void seek(long pos)
          Sets current position in this file, where the next read will occur.
 
Methods inherited from class org.apache.lucene.store.IndexInput
skipChars
 
Methods inherited from class org.apache.lucene.store.DataInput
clone, readBytes, readChars, readInt, readLong, readShort, readString, readStringStringMap, readVInt, readVLong, setModifiedUTF8StringsMode
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RAMInputStream

public RAMInputStream(RAMFile f)
               throws IOException
Throws:
IOException
Method Detail

close

public void close()
Description copied from class: IndexInput
Closes the stream to further operations.

Specified by:
close in interface Closeable
Specified by:
close in class IndexInput

length

public long length()
Description copied from class: IndexInput
The number of bytes in the file.

Specified by:
length in class IndexInput

readByte

public byte readByte()
              throws IOException
Description copied from class: DataInput
Reads and returns a single byte.

Specified by:
readByte in class DataInput
Throws:
IOException
See Also:
DataOutput.writeByte(byte)

readBytes

public void readBytes(byte[] b,
                      int offset,
                      int len)
               throws IOException
Description copied from class: DataInput
Reads a specified number of bytes into an array at the specified offset.

Specified by:
readBytes in class DataInput
Parameters:
b - the array to read bytes into
offset - the offset in the array to start storing bytes
len - the number of bytes to read
Throws:
IOException
See Also:
DataOutput.writeBytes(byte[],int)

copyBytes

public void copyBytes(IndexOutput out,
                      long numBytes)
               throws IOException
Description copied from class: IndexInput
Copies numBytes bytes to the given IndexOutput.

NOTE: this method uses an intermediate buffer to copy the bytes. Consider overriding it in your implementation, if you can make a better, optimized copy.

NOTE ensure that there are enough bytes in the input to copy to output. Otherwise, different exceptions may be thrown, depending on the implementation.

Overrides:
copyBytes in class IndexInput
Throws:
IOException

getFilePointer

public long getFilePointer()
Description copied from class: IndexInput
Returns the current position in this file, where the next read will occur.

Specified by:
getFilePointer in class IndexInput
See Also:
IndexInput.seek(long)

seek

public void seek(long pos)
          throws IOException
Description copied from class: IndexInput
Sets current position in this file, where the next read will occur.

Specified by:
seek in class IndexInput
Throws:
IOException
See Also:
IndexInput.getFilePointer()


Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.