|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.lucene.store.DataInput org.apache.lucene.store.IndexInput org.apache.lucene.store.BufferedIndexInput
public abstract class BufferedIndexInput
Base implementation class for buffered IndexInput
.
Field Summary | |
---|---|
protected byte[] |
buffer
|
static int |
BUFFER_SIZE
Default buffer size |
Fields inherited from class org.apache.lucene.store.IndexInput |
---|
copyBuf |
Constructor Summary | |
---|---|
BufferedIndexInput()
|
|
BufferedIndexInput(int bufferSize)
Inits BufferedIndexInput with a specific bufferSize |
Method Summary | |
---|---|
Object |
clone()
Returns a clone of this stream. |
void |
copyBytes(IndexOutput out,
long numBytes)
Copies numBytes bytes to the given IndexOutput . |
protected int |
flushBuffer(IndexOutput out,
long numBytes)
Flushes the in-memory bufer to the given output, copying at most numBytes . |
int |
getBufferSize()
Returns buffer size. |
long |
getFilePointer()
Returns the current position in this file, where the next read will occur. |
protected void |
newBuffer(byte[] newBuffer)
|
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 |
readBytes(byte[] b,
int offset,
int len,
boolean useBuffer)
Reads a specified number of bytes into an array at the specified offset with control over whether the read should be buffered (callers who have their own buffer should pass in "false" for useBuffer). |
int |
readInt()
Reads four bytes and returns an int. |
protected abstract void |
readInternal(byte[] b,
int offset,
int length)
Expert: implements buffer refill. |
long |
readLong()
Reads eight bytes and returns a long. |
int |
readVInt()
Reads an int stored in variable-length format. |
long |
readVLong()
Reads a long stored in variable-length format. |
void |
seek(long pos)
Sets current position in this file, where the next read will occur. |
protected abstract void |
seekInternal(long pos)
Expert: implements seek. |
void |
setBufferSize(int newSize)
Change the buffer size used by this IndexInput |
Methods inherited from class org.apache.lucene.store.IndexInput |
---|
close, length, skipChars |
Methods inherited from class org.apache.lucene.store.DataInput |
---|
readChars, readShort, readString, readStringStringMap, setModifiedUTF8StringsMode |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int BUFFER_SIZE
protected byte[] buffer
Constructor Detail |
---|
public BufferedIndexInput()
public BufferedIndexInput(int bufferSize)
Method Detail |
---|
public byte readByte() throws IOException
DataInput
readByte
in class DataInput
IOException
DataOutput.writeByte(byte)
public void setBufferSize(int newSize)
protected void newBuffer(byte[] newBuffer)
public int getBufferSize()
public void readBytes(byte[] b, int offset, int len) throws IOException
DataInput
readBytes
in class DataInput
b
- the array to read bytes intooffset
- the offset in the array to start storing byteslen
- the number of bytes to read
IOException
DataOutput.writeBytes(byte[],int)
public void readBytes(byte[] b, int offset, int len, boolean useBuffer) throws IOException
DataInput
BufferedIndexInput
respects this parameter.
readBytes
in class DataInput
b
- the array to read bytes intooffset
- the offset in the array to start storing byteslen
- the number of bytes to readuseBuffer
- set to false if the caller will handle
buffering.
IOException
DataOutput.writeBytes(byte[],int)
public int readInt() throws IOException
DataInput
readInt
in class DataInput
IOException
DataOutput.writeInt(int)
public long readLong() throws IOException
DataInput
readLong
in class DataInput
IOException
DataOutput.writeLong(long)
public int readVInt() throws IOException
DataInput
readVInt
in class DataInput
IOException
DataOutput.writeVInt(int)
public long readVLong() throws IOException
DataInput
readVLong
in class DataInput
IOException
protected abstract void readInternal(byte[] b, int offset, int length) throws IOException
b
- the array to read bytes intooffset
- the offset in the array to start storing byteslength
- the number of bytes to read
IOException
public long getFilePointer()
IndexInput
getFilePointer
in class IndexInput
IndexInput.seek(long)
public void seek(long pos) throws IOException
IndexInput
seek
in class IndexInput
IOException
IndexInput.getFilePointer()
protected abstract void seekInternal(long pos) throws IOException
readInternal(byte[],int,int)
will occur.
IOException
readInternal(byte[],int,int)
public Object clone()
DataInput
Clones of a stream access the same data, and are positioned at the same point as the stream they were cloned from.
Expert: Subclasses must ensure that clones may be positioned at different points in the input from each other and from the stream they were cloned from.
clone
in class DataInput
protected int flushBuffer(IndexOutput out, long numBytes) throws IOException
numBytes
.
NOTE: this method does not refill the buffer, however it does advance the buffer position.
IOException
public void copyBytes(IndexOutput out, long numBytes) throws IOException
IndexInput
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.
copyBytes
in class IndexInput
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |