Package 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
Description
`ByteBuffersIndexOutput(ByteBuffersDataOutput delegate, String resourceDescription, String name)`
`ByteBuffersIndexOutput(ByteBuffersDataOutput delegate, String resourceDescription, String name, Checksum checksum, Consumer<ByteBuffersDataOutput> onClose)`

## Method Summary

Modifier and Type
Method
Description
`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.
`byte[]`
`toArrayCopy()`
`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 (LE byte order).
`void`
`writeLong(long i)`
Writes a long as eight bytes (LE byte order).
`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 (LE byte order).
`void`
`writeString(String s)`
Writes a string.

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

`alignFilePointer, alignOffset, getName, toString`

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

`writeGroupVInts, writeVInt, writeVLong, writeZInt, writeZLong`

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

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

## Constructor Details

### ByteBuffersIndexOutput

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

### ByteBuffersIndexOutput

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

## Method Details

### close

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

Specified by:
  `close` in interface `AutoCloseable`
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`

### 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 (LE byte order).

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

### writeShort

public void writeShort(short i) throws IOException
Description copied from class: `DataOutput`
Writes a short as two bytes (LE byte order).

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

### writeLong

public void writeLong(long i) throws IOException
Description copied from class: `DataOutput`
Writes a long as eight bytes (LE byte order).

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

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

### toArrayCopy

public byte[] toArrayCopy()