org.apache.lucene.util.fst

## Class FST.Arc<T>

- java.lang.Object
- - org.apache.lucene.util.fst.FST.Arc<T>

- Enclosing class:
    FST<T>

      public static final class FST.Arc<T>
      extends Object

  Represents a single arc.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `int` | `arcIdx` Where we are in the array; only valid if bytesPerArc != 0, and the array has no holes.
    `int` | `bytesPerArc` Non-zero if this arc is part of an array, which means all arcs for the node are encoded with a fixed number of bytes so that we can random access by index.
    `int` | `label`
    `T` | `nextFinalOutput`
    `int` | `numArcs` How many arc, if bytesPerArc == 0.
    `T` | `output`
    `long` | `posArcsStart` Where the first arc in the array starts; only valid if bytesPerArc != 0
    `long` | `target` To node (ord or address)

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Arc()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `FST.Arc<T>` | `copyFrom(FST.Arc<T> other)` Returns this
    `boolean` | `isFinal()`
    `boolean` | `isLast()`
    `String` | `toString()`

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

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

- - ### Field Detail

    - #### label

          public int label

    - #### output

          public T output

    - #### target

          public long target

      To node (ord or address)

    - #### nextFinalOutput

          public T nextFinalOutput

    - #### posArcsStart

          public long posArcsStart

      Where the first arc in the array starts; only valid if bytesPerArc != 0

    - #### bytesPerArc

          public int bytesPerArc

      Non-zero if this arc is part of an array, which means all arcs for the node are encoded with a fixed number of bytes so that we can random access by index. We do when there are enough arcs leaving one node. It wastes some bytes but gives faster lookups.

    - #### arcIdx

          public int arcIdx

      Where we are in the array; only valid if bytesPerArc != 0, and the array has no holes. arcIdx = Integer.MIN_VALUE indicates that the arc is part of a direct array, addressed by label.

    - #### numArcs

          public int numArcs

      How many arc, if bytesPerArc == 0. Otherwise, the size of the arc array. If the array is direct, this may include holes. Otherwise it is also how many arcs are in the array

  - ### Constructor Detail

    - #### Arc

          public Arc()

  - ### Method Detail

    - #### copyFrom

          public FST.Arc<T> copyFrom(FST.Arc<T> other)

      Returns this

    - #### isLast

          public boolean isLast()

    - #### isFinal

          public boolean isFinal()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

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