org.apache.lucene.store

## Class RAMOutputStream

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

- All Implemented Interfaces:
    Closeable, AutoCloseable, Accountable

      public class RAMOutputStream
      extends IndexOutput
      implements Accountable

  A memory-resident `IndexOutput` implementation.
  NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RAMOutputStream()` Construct an empty output buffer.
    `RAMOutputStream(RAMFile f, boolean checksum)` Creates this, with no name.
    `RAMOutputStream(String name, RAMFile f, boolean checksum)` Creates this, with specified name.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Closes this stream to further operations.
    `protected void` | `flush()` Forces any buffered output to be written.
    `long` | `getChecksum()` Returns the current checksum of bytes written so far
    `Collection<Accountable>` | `getChildResources()` Returns nested resources of this class.
    `long` | `getFilePointer()` Returns the current position in this file, where the next write will occur.
    `long` | `ramBytesUsed()` Returns byte usage of all buffers.
    `void` | `reset()` Resets this to an empty file.
    `void` | `writeByte(byte b)` Writes a single byte.
    `void` | `writeBytes(byte[] b, int offset, int len)` Writes an array of bytes.
    `void` | `writeTo(byte[] bytes, int offset)` Copy the current contents of this buffer to output byte array
    `void` | `writeTo(DataOutput out)` Copy the current contents of this buffer to the provided `DataOutput`.

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

      `getName, toString`

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

      `copyBytes, writeBytes, writeInt, writeLong, writeMapOfStrings, writeSetOfStrings, writeShort, writeString, writeStringSet, writeStringStringMap, writeVInt, writeVLong, writeZInt, writeZLong`

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

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

- - ### Constructor Detail

    - #### RAMOutputStream

          public RAMOutputStream()

      Construct an empty output buffer.

    - #### RAMOutputStream

          public RAMOutputStream(RAMFile f,
                                 boolean checksum)

      Creates this, with no name.

    - #### RAMOutputStream

          public RAMOutputStream(String name,
                                 RAMFile f,
                                 boolean checksum)

      Creates this, with specified name.

  - ### Method Detail

    - #### writeTo

          public void writeTo(DataOutput out)
                       throws IOException

      Copy the current contents of this buffer to the provided `DataOutput`.
      Throws:
        `IOException`

    - #### writeTo

          public void writeTo(byte[] bytes,
                              int offset)
                       throws IOException

      Copy the current contents of this buffer to output byte array
      Throws:
        `IOException`

    - #### reset

          public void reset()

      Resets this to an empty file.

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

    - #### 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 len)
                          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
        `len` - the number of bytes to write
      Throws:
        `IOException`
      See Also:
        `DataInput.readBytes(byte[],int,int)`

    - #### flush

          protected void flush()
                        throws IOException

      Forces any buffered output to be written.
      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`

    - #### ramBytesUsed

          public long ramBytesUsed()

      Returns byte usage of all buffers.
      Specified by:
        `ramBytesUsed` in interface `Accountable`

    - #### getChildResources

          public Collection<Accountable> getChildResources()

      Description copied from interface: `Accountable`
      Returns nested resources of this class. The result should be a point-in-time snapshot (to avoid race conditions).
      Specified by:
        `getChildResources` in interface `Accountable`
      See Also:
        `Accountables`

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

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