Class Automaton.Builder

java.lang.Object
org.apache.lucene.util.automaton.Automaton.Builder
Enclosing class:
Automaton

public static class Automaton.Builder extends Object
Records new states and transitions and then finish() creates the Automaton. Use this when you cannot create the Automaton directly because it's too restrictive to have to add all transitions leaving each state at once.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor, pre-allocating for 16 states and transitions.
    Builder(int numStates, int numTransitions)
    Constructor which creates a builder with enough space for the given number of states and transitions.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addEpsilon(int source, int dest)
    Add a [virtual] epsilon transition between source and dest.
    void
    addTransition(int source, int dest, int label)
    Add a new transition with min = max = label.
    void
    addTransition(int source, int dest, int min, int max)
    Add a new transition with the specified source, dest, min, max.
    void
    copy(Automaton other)
    Copies over all states/transitions from other.
    void
    Copies over all states from other.
    int
    Create a new state.
    Compiles all added states and transitions into a new Automaton and returns it.
    int
    How many states this automaton has.
    boolean
    isAccept(int state)
    Returns true if this state is an accept state.
    void
    setAccept(int state, boolean accept)
    Set or clear this state as an accept state.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Builder

      public Builder()
      Default constructor, pre-allocating for 16 states and transitions.
    • Builder

      public Builder(int numStates, int numTransitions)
      Constructor which creates a builder with enough space for the given number of states and transitions.
      Parameters:
      numStates - Number of states.
      numTransitions - Number of transitions.
  • Method Details

    • addTransition

      public void addTransition(int source, int dest, int label)
      Add a new transition with min = max = label.
    • addTransition

      public void addTransition(int source, int dest, int min, int max)
      Add a new transition with the specified source, dest, min, max.
    • addEpsilon

      public void addEpsilon(int source, int dest)
      Add a [virtual] epsilon transition between source and dest. Dest state must already have all transitions added because this method simply copies those same transitions over to source.
    • finish

      public Automaton finish()
      Compiles all added states and transitions into a new Automaton and returns it.
    • createState

      public int createState()
      Create a new state.
    • setAccept

      public void setAccept(int state, boolean accept)
      Set or clear this state as an accept state.
    • isAccept

      public boolean isAccept(int state)
      Returns true if this state is an accept state.
    • getNumStates

      public int getNumStates()
      How many states this automaton has.
    • copy

      public void copy(Automaton other)
      Copies over all states/transitions from other.
    • copyStates

      public void copyStates(Automaton other)
      Copies over all states from other.