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

    All Methods Instance Methods Concrete Methods
    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 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 `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()