org.apache.lucene.codecs.uniformsplit

## Class FSTDictionary.BrowserSupplier

- java.lang.Object
- - org.apache.lucene.codecs.uniformsplit.FSTDictionary.BrowserSupplier

All Implemented Interfaces:
  IndexDictionary.BrowserSupplier, Accountable, IOSupplier<IndexDictionary.Browser>

Enclosing class:
  FSTDictionary

    public static class FSTDictionary.BrowserSupplier
    extends Object
    implements IndexDictionary.BrowserSupplier

Provides stateful `FSTDictionary.Browser` to seek in the `FSTDictionary`.

WARNING: This API is experimental and might change in incompatible ways in the next release.

### Field Summary

Fields
`protected BlockDecoder` `blockDecoder`
`protected IndexDictionary` `dictionary` Lazy loaded immutable index dictionary FST.
`protected IndexInput` `dictionaryInput`
`protected boolean` `isFSTOnHeap`

### Constructor Summary

Constructors
Constructor and Description
`BrowserSupplier(IndexInput dictionaryInput, long dictionaryStartFP, BlockDecoder blockDecoder, boolean isFSTOnHeap)`

### Method Summary

All Methods Instance Methods Concrete Methods
`IndexDictionary.Browser` `get()`
`long` `ramBytesUsed()`

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

### Field Detail

#### dictionaryInput

    protected final IndexInput dictionaryInput

#### blockDecoder

    protected final BlockDecoder blockDecoder

#### isFSTOnHeap

    protected final boolean isFSTOnHeap

#### dictionary

    protected IndexDictionary dictionary

Lazy loaded immutable index dictionary FST. The FST is either kept off-heap, or hold in RAM on-heap.

### Constructor Detail

#### BrowserSupplier

    public BrowserSupplier(IndexInput dictionaryInput,
                           long dictionaryStartFP,
                           BlockDecoder blockDecoder,
                           boolean isFSTOnHeap)
                    throws IOException

Throws:
  `IOException`

### Method Detail

#### get

    public IndexDictionary.Browser get()
                                throws IOException

Specified by:
  `get` in interface `IOSupplier<IndexDictionary.Browser>`
Throws:
  `IOException`

#### ramBytesUsed

    public long ramBytesUsed()

Specified by:
  `ramBytesUsed` in interface `Accountable`