org.apache.lucene.store

## Class ByteBuffersIndexOutput

- java.lang.Object
- - org.apache.lucene.store.DataOutput
  - - org.apache.lucene.store.IndexOutput
    - - org.apache.lucene.store.ByteBuffersIndexOutput

All Implemented Interfaces:
  Closeable, AutoCloseable

    public final class ByteBuffersIndexOutput
    extends IndexOutput

An `IndexOutput` writing to a `ByteBuffersDataOutput`.

### Constructor Summary

Constructors
Constructor and Description
`ByteBuffersIndexOutput(ByteBuffersDataOutput delegate, String resourceDescription, String name)`
`ByteBuffersIndexOutput(ByteBuffersDataOutput delegate, String resourceDescription, String name, Checksum checksum, Consumer<ByteBuffersDataOutput> onClose)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `close()` Closes this stream to further operations.
`void` `copyBytes(DataInput input, long numBytes)` Copy numBytes bytes from input to ourself.
`long` `getChecksum()` Returns the current checksum of bytes written so far
`long` `getFilePointer()` Returns the current position in this file, where the next write will occur.
`void` `writeByte(byte b)` Writes a single byte.
`void` `writeBytes(byte[] b, int length)` Writes an array of bytes.
`void` `writeBytes(byte[] b, int offset, int length)` Writes an array of bytes.
`void` `writeInt(int i)` Writes an int as four bytes.
`void` `writeLong(long i)` Writes a long as eight bytes.
`void` `writeMapOfStrings(Map<String,String> map)` Writes a String map.
`void` `writeSetOfStrings(Set<String> set)` Writes a String set.
`void` `writeShort(short i)` Writes a short as two bytes.
`void` `writeString(String s)` Writes a string.

### Methods inherited from class org.apache.lucene.store.IndexOutput

`getName, toString`

### Methods inherited from class org.apache.lucene.store.DataOutput

`writeVInt, writeVLong, writeZInt, writeZLong`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### ByteBuffersIndexOutput

    public ByteBuffersIndexOutput(ByteBuffersDataOutput delegate,
                                  String resourceDescription,
                                  String name)

#### ByteBuffersIndexOutput

    public ByteBuffersIndexOutput(ByteBuffersDataOutput delegate,
                                  String resourceDescription,
                                  String name,
                                  Checksum checksum,
                                  Consumer<ByteBuffersDataOutput> onClose)

### Method Detail

#### 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 interface `AutoCloseable`
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`

#### getChecksum

    public long getChecksum()
                     throws IOException

Description copied from class: `IndexOutput`
Returns the current checksum of bytes written so far

Specified by:
  `getChecksum` in class `IndexOutput`
Throws:
  `IOException`

#### 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)`

#### writeBytes

    public void writeBytes(byte[] b,
                           int length)
                    throws IOException

Description copied from class: `DataOutput`
Writes an array of bytes.

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

#### writeInt

    public void writeInt(int i)
                  throws IOException

Description copied from class: `DataOutput`
Writes an int as four bytes.

32-bit unsigned integer written as four bytes, high-order bytes first.

Overrides:
  `writeInt` in class `DataOutput`
Throws:
  `IOException`
See Also:
  `DataInput.readInt()`

#### writeShort

    public void writeShort(short i)
                    throws IOException

Description copied from class: `DataOutput`
Writes a short as two bytes.

Overrides:
  `writeShort` in class `DataOutput`
Throws:
  `IOException`
See Also:
  `DataInput.readShort()`

#### writeLong

    public void writeLong(long i)
                   throws IOException

Description copied from class: `DataOutput`
Writes a long as eight bytes.

64-bit unsigned integer written as eight bytes, high-order bytes first.

Overrides:
  `writeLong` in class `DataOutput`
Throws:
  `IOException`
See Also:
  `DataInput.readLong()`

#### writeString

    public void writeString(String s)
                     throws IOException

Description copied from class: `DataOutput`
Writes a string.

Writes strings as UTF-8 encoded bytes. First the length, in bytes, is written as a `VInt`, followed by the bytes.

Overrides:
  `writeString` in class `DataOutput`
Throws:
  `IOException`
See Also:
  `DataInput.readString()`

#### copyBytes

    public void copyBytes(DataInput input,
                          long numBytes)
                   throws IOException

Description copied from class: `DataOutput`
Copy numBytes bytes from input to ourself.

Overrides:
  `copyBytes` in class `DataOutput`
Throws:
  `IOException`

#### writeMapOfStrings

    public void writeMapOfStrings(Map<String,String> map)
                           throws IOException

Description copied from class: `DataOutput`
Writes a String map.

First the size is written as an `vInt`, followed by each key-value pair written as two consecutive `String`s.

Overrides:
  `writeMapOfStrings` in class `DataOutput`
Parameters:
  `map` - Input map.
Throws:
  `IOException`

#### writeSetOfStrings

    public void writeSetOfStrings(Set<String> set)
                           throws IOException

Description copied from class: `DataOutput`
Writes a String set.

First the size is written as an `vInt`, followed by each value written as a `String`.

Overrides:
  `writeSetOfStrings` in class `DataOutput`
Parameters:
  `set` - Input set.
Throws:
  `IOException`