Package org.apache.lucene.util.fst

# Class IntsRefFSTEnum<T>

java.lang.Object
org.apache.lucene.util.fst.IntsRefFSTEnum<T>

public final class IntsRefFSTEnum<T> extends Object
Enumerates all input (IntsRef) + output pairs in an FST.

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

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `IntsRefFSTEnum.InputOutput<T>`
  Holds a single input (IntsRef) + output pair.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected FST.Arc<T>[]`
  `arcs`
  `protected final FST<T>`
  `fst`
  `protected final FST.BytesReader`
  `fstReader`
  `protected final T`
  `NO_OUTPUT`
  `protected T[]`
  `output`
  `protected int`
  `upto`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `IntsRefFSTEnum(FST<T> fst)`
  doFloor controls the behavior of advance: if it's true doFloor is true, advance positions to the biggest term before target.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `IntsRefFSTEnum.InputOutput<T>`
  `current()`
  `protected void`
  `doNext()`
  `protected void`
  `doSeekCeil()`
  Seeks to smallest term that's >= target.
  `protected int`
  `getCurrentLabel()`
  `protected int`
  `getTargetLabel()`
  `protected void`
  `grow()`
  `IntsRefFSTEnum.InputOutput<T>`
  `next()`
  `IntsRefFSTEnum.InputOutput<T>`
  `seekCeil(IntsRef target)`
  Seeks to smallest term that's >= target.
  `IntsRefFSTEnum.InputOutput<T>`
  `seekExact(IntsRef target)`
  Seeks to exactly this term, returning null if the term doesn't exist.
  `IntsRefFSTEnum.InputOutput<T>`
  `seekFloor(IntsRef target)`
  Seeks to biggest term that's <= target.
  `protected void`
  `setCurrentLabel(int label)`

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

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

- ## Field Details

  - ### fst

    protected final FST<T> fst

  - ### arcs

    protected FST.Arc<T>[] arcs

  - ### output

    protected T[] output

  - ### NO_OUTPUT

    protected final T NO_OUTPUT

  - ### fstReader

    protected final FST.BytesReader fstReader

  - ### upto

    protected int upto

- ## Constructor Details

  - ### IntsRefFSTEnum

    public IntsRefFSTEnum(FST<T> fst)
    doFloor controls the behavior of advance: if it's true doFloor is true, advance positions to the biggest term before target.

- ## Method Details

  - ### current

    public IntsRefFSTEnum.InputOutput<T> current()

  - ### next

    public IntsRefFSTEnum.InputOutput<T> next() throws IOException
    Throws:
      `IOException`

  - ### seekCeil

    public IntsRefFSTEnum.InputOutput<T> seekCeil(IntsRef target) throws IOException
    Seeks to smallest term that's >= target.
    Throws:
      `IOException`

  - ### seekFloor

    public IntsRefFSTEnum.InputOutput<T> seekFloor(IntsRef target) throws IOException
    Seeks to biggest term that's <= target.
    Throws:
      `IOException`

  - ### seekExact

    public IntsRefFSTEnum.InputOutput<T> seekExact(IntsRef target) throws IOException
    Seeks to exactly this term, returning null if the term doesn't exist. This is faster than using `seekFloor(org.apache.lucene.util.IntsRef)` or `seekCeil(org.apache.lucene.util.IntsRef)` because it short-circuits as soon the match is not found.
    Throws:
      `IOException`

  - ### getTargetLabel

    protected int getTargetLabel()

  - ### getCurrentLabel

    protected int getCurrentLabel()

  - ### setCurrentLabel

    protected void setCurrentLabel(int label)

  - ### grow

    protected void grow()

  - ### doNext

    protected void doNext() throws IOException
    Throws:
      `IOException`

  - ### doSeekCeil

    protected void doSeekCeil() throws IOException
    Seeks to smallest term that's >= target.
    Throws:
      `IOException`