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, 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()