org.apache.lucene.store
Class BufferedIndexOutput

java.lang.Object
  extended by org.apache.lucene.store.DataOutput
      extended by org.apache.lucene.store.IndexOutput
          extended by org.apache.lucene.store.BufferedIndexOutput
All Implemented Interfaces:
Closeable
Direct Known Subclasses:
FSDirectory.FSIndexOutput

public abstract class BufferedIndexOutput
extends IndexOutput

Base implementation class for buffered IndexOutput.


Field Summary
static int DEFAULT_BUFFER_SIZE
          The default buffer size in bytes (16384).
 
Constructor Summary
BufferedIndexOutput()
          Creates a new BufferedIndexOutput with the default buffer size (16384 bytes see DEFAULT_BUFFER_SIZE)
BufferedIndexOutput(int bufferSize)
          Creates a new BufferedIndexOutput with the given buffer size.
 
Method Summary
 void close()
          Closes this stream to further operations.
 void flush()
          Forces any buffered output to be written.
protected abstract  void flushBuffer(byte[] b, int offset, int len)
          Expert: implements buffer write.
 int getBufferSize()
          Returns size of the used output buffer in bytes.
 long getFilePointer()
          Returns the current position in this file, where the next write will occur.
abstract  long length()
          The number of bytes in the file.
 void seek(long pos)
          Sets current position in this file, where the next write will occur.
 void writeByte(byte b)
          Writes a single byte.
 void writeBytes(byte[] b, int offset, int length)
          Writes an array of bytes.
 
Methods inherited from class org.apache.lucene.store.IndexOutput
setLength
 
Methods inherited from class org.apache.lucene.store.DataOutput
copyBytes, writeBytes, writeInt, writeLong, writeShort, writeString, writeStringSet, writeStringStringMap, writeVInt, writeVLong
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_BUFFER_SIZE

public static final int DEFAULT_BUFFER_SIZE
The default buffer size in bytes (16384).

See Also:
Constant Field Values
Constructor Detail

BufferedIndexOutput

public BufferedIndexOutput()
Creates a new BufferedIndexOutput with the default buffer size (16384 bytes see DEFAULT_BUFFER_SIZE)


BufferedIndexOutput

public BufferedIndexOutput(int bufferSize)
Creates a new BufferedIndexOutput with the given buffer size.

Parameters:
bufferSize - the buffer size in bytes used to buffer writes internally.
Throws:
IllegalArgumentException - if the given buffer size is less or equal to 0
Method Detail

writeByte

public void writeByte(byte b)
               throws IOException
Description copied from class: DataOutput
Writes a single byte.

The most primitive data type is an eight-bit byte. Files are accessed as sequences of bytes. All other data types are defined as sequences of bytes, so file formats are byte-order independent.

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

writeBytes

public void writeBytes(byte[] b,
                       int offset,
                       int length)
                throws IOException
Description copied from class: DataOutput
Writes an array of bytes.

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

flush

public void flush()
           throws IOException
Description copied from class: IndexOutput
Forces any buffered output to be written.

Specified by:
flush in class IndexOutput
Throws:
IOException

flushBuffer

protected abstract void flushBuffer(byte[] b,
                                    int offset,
                                    int len)
                             throws IOException
Expert: implements buffer write. Writes bytes at the current position in the output.

Parameters:
b - the bytes to write
offset - the offset in the byte array
len - the number of bytes to write
Throws:
IOException

close

public void close()
           throws IOException
Description copied from class: IndexOutput
Closes this stream to further operations.

Specified by:
close in interface Closeable
Specified by:
close in class IndexOutput
Throws:
IOException

getFilePointer

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

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

seek

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

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

length

public abstract long length()
                     throws IOException
Description copied from class: IndexOutput
The number of bytes in the file.

Specified by:
length in class IndexOutput
Throws:
IOException

getBufferSize

public final int getBufferSize()
Returns size of the used output buffer in bytes.



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