public final class FST<T> extends Object implements Accountable
The format is similar to what's used by Morfologik (https://github.com/morfologik/morfologik-stemming).
 See the package
      documentation for some simple examples.
| Modifier and Type | Class and Description | 
|---|---|
| static class  | FST.Arc<T>Represents a single arc. | 
| static class  | FST.BytesReaderReads bytes stored in an FST. | 
| static class  | FST.INPUT_TYPESpecifies allowed range of each int input label for
  this FST. | 
| Modifier and Type | Field and Description | 
|---|---|
| static int | BIT_ARC_HAS_OUTPUTThis flag is set if the arc has an output. | 
| static int | DEFAULT_MAX_BLOCK_BITS | 
| static int | END_LABELIf arc has this label then that arc is final/accepted | 
| FST.INPUT_TYPE | inputType | 
| Outputs<T> | outputs | 
| Constructor and Description | 
|---|
| FST(DataInput in,
   Outputs<T> outputs)Load a previously saved FST. | 
| FST(DataInput in,
   Outputs<T> outputs,
   FSTStore fstStore)Load a previously saved FST; maxBlockBits allows you to
  control the size of the byte[] pages used to hold the FST bytes. | 
| Modifier and Type | Method and Description | 
|---|---|
| FST.Arc<T> | findTargetArc(int labelToMatch,
             FST.Arc<T> follow,
             FST.Arc<T> arc,
             FST.BytesReader in)Finds an arc leaving the incoming arc, replacing the arc in place. | 
| FST.BytesReader | getBytesReader()Returns a  FST.BytesReaderfor this FST, positioned at
  position 0. | 
| T | getEmptyOutput() | 
| FST.Arc<T> | getFirstArc(FST.Arc<T> arc)Fills virtual 'start' arc, ie, an empty incoming arc to
  the FST's start node | 
| FST.INPUT_TYPE | getInputType() | 
| long | ramBytesUsed()Return the memory usage of this object in bytes. | 
| static <T> FST<T> | read(Path path,
    Outputs<T> outputs)Reads an automaton from a file. | 
| FST.Arc<T> | readFirstRealTargetArc(long node,
                      FST.Arc<T> arc,
                      FST.BytesReader in) | 
| FST.Arc<T> | readFirstTargetArc(FST.Arc<T> follow,
                  FST.Arc<T> arc,
                  FST.BytesReader in)Follow the  followarc and read the first arc of its target;
 this changes the providedarc(2nd arg) in-place and returns
 it. | 
| int | readLabel(DataInput in)Reads one BYTE1/2/4 label from the provided  DataInput. | 
| FST.Arc<T> | readLastTargetArc(FST.Arc<T> follow,
                 FST.Arc<T> arc,
                 FST.BytesReader in)Follows the  followarc and reads the last
  arc of its target; this changes the providedarc(2nd arg) in-place and returns it. | 
| FST.Arc<T> | readNextArc(FST.Arc<T> arc,
           FST.BytesReader in)In-place read; returns the arc. | 
| int | readNextArcLabel(FST.Arc<T> arc,
                FST.BytesReader in)Peeks at next arc's label; does not alter arc. | 
| FST.Arc<T> | readNextRealArc(FST.Arc<T> arc,
               FST.BytesReader in)Never returns null, but you should never call this if
  arc.isLast() is true. | 
| void | save(DataOutput out) | 
| void | save(Path path)Writes an automaton to a file. | 
| static <T> boolean | targetHasArcs(FST.Arc<T> arc)returns true if the node at this address has any
  outgoing arcs | 
| String | toString() | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetChildResourcespublic static final int BIT_ARC_HAS_OUTPUT
public static final int END_LABEL
public final FST.INPUT_TYPE inputType
public static final int DEFAULT_MAX_BLOCK_BITS
public FST(DataInput in, Outputs<T> outputs) throws IOException
IOExceptionpublic FST(DataInput in, Outputs<T> outputs, FSTStore fstStore) throws IOException
IOExceptionpublic FST.INPUT_TYPE getInputType()
public long ramBytesUsed()
AccountableramBytesUsed in interface Accountablepublic T getEmptyOutput()
public void save(DataOutput out) throws IOException
IOExceptionpublic void save(Path path) throws IOException
IOExceptionpublic static <T> FST<T> read(Path path, Outputs<T> outputs) throws IOException
IOExceptionpublic int readLabel(DataInput in) throws IOException
DataInput.IOExceptionpublic static <T> boolean targetHasArcs(FST.Arc<T> arc)
public FST.Arc<T> getFirstArc(FST.Arc<T> arc)
public FST.Arc<T> readLastTargetArc(FST.Arc<T> follow, FST.Arc<T> arc, FST.BytesReader in) throws IOException
follow arc and reads the last
  arc of its target; this changes the provided
  arc (2nd arg) in-place and returns it.arc).IOExceptionpublic FST.Arc<T> readFirstTargetArc(FST.Arc<T> follow, FST.Arc<T> arc, FST.BytesReader in) throws IOException
follow arc and read the first arc of its target;
 this changes the provided arc (2nd arg) in-place and returns
 it.arc).IOExceptionpublic FST.Arc<T> readFirstRealTargetArc(long node, FST.Arc<T> arc, FST.BytesReader in) throws IOException
IOExceptionpublic FST.Arc<T> readNextArc(FST.Arc<T> arc, FST.BytesReader in) throws IOException
IOExceptionpublic int readNextArcLabel(FST.Arc<T> arc, FST.BytesReader in) throws IOException
IOExceptionpublic FST.Arc<T> readNextRealArc(FST.Arc<T> arc, FST.BytesReader in) throws IOException
IOExceptionpublic FST.Arc<T> findTargetArc(int labelToMatch, FST.Arc<T> follow, FST.Arc<T> arc, FST.BytesReader in) throws IOException
IOExceptionpublic FST.BytesReader getBytesReader()
FST.BytesReader for this FST, positioned at
  position 0.Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.