Package org.apache.lucene.util.fst

## Class OnHeapFSTStore

- java.lang.Object
- - org.apache.lucene.util.fst.OnHeapFSTStore

- All Implemented Interfaces:
    `Accountable`, `FSTReader`, `FSTStore`

      public final class OnHeapFSTStore
      extends Object
      implements FSTStore

  Provides storage of finite state machine (FST), using byte array or byte store allocated on heap.
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Field Summary

    - ### Fields inherited from interface org.apache.lucene.util.Accountable

      `NULL_ACCOUNTABLE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `OnHeapFSTStore​(int maxBlockBits)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `FST.BytesReader` | `getReverseBytesReader()` | Get the reverse BytesReader for this FST
    `FSTStore` | `init​(DataInput in, long numBytes)` | Initialize the FSTStore
    `long` | `ramBytesUsed()` | Return the memory usage of this object in bytes.
    `void` | `writeTo​(DataOutput out)` | Write this FST to another DataOutput

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

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

    - ### Methods inherited from interface org.apache.lucene.util.Accountable

      `getChildResources`

- - ### Constructor Detail

    - #### OnHeapFSTStore

          public OnHeapFSTStore​(int maxBlockBits)

  - ### Method Detail

    - #### init

          public FSTStore init​(DataInput in,
                               long numBytes)
                        throws IOException

      Description copied from interface: `FSTStore`
      Initialize the FSTStore
      Specified by:
        `init` in interface `FSTStore`
      Parameters:
        `in` - the DataInput to read from
        `numBytes` - the number of bytes to read
      Returns:
        this FSTStore
      Throws:
        `IOException` - if exception occurred during reading the DataInput

    - #### ramBytesUsed

          public long ramBytesUsed()

      Description copied from interface: `Accountable`
      Return the memory usage of this object in bytes. Negative values are illegal.
      Specified by:
        `ramBytesUsed` in interface `Accountable`

    - #### getReverseBytesReader

          public FST.BytesReader getReverseBytesReader()

      Description copied from interface: `FSTReader`
      Get the reverse BytesReader for this FST
      Specified by:
        `getReverseBytesReader` in interface `FSTReader`
      Returns:
        the reverse BytesReader

    - #### writeTo

          public void writeTo​(DataOutput out)
                       throws IOException

      Description copied from interface: `FSTReader`
      Write this FST to another DataOutput
      Specified by:
        `writeTo` in interface `FSTReader`
      Parameters:
        `out` - the DataOutput
      Throws:
        `IOException` - if exception occurred during writing