Package org.apache.lucene.util.automaton
Class Automaton.Builder
- java.lang.Object
-
- org.apache.lucene.util.automaton.Automaton.Builder
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddEpsilon(int source, int dest)Add a [virtual] epsilon transition between source and dest.voidaddTransition(int source, int dest, int label)Add a new transition with min = max = label.voidaddTransition(int source, int dest, int min, int max)Add a new transition with the specified source, dest, min, max.voidcopy(Automaton other)Copies over all states/transitions from other.voidcopyStates(Automaton other)Copies over all states from other.intcreateState()Create a new state.Automatonfinish()Compiles all added states and transitions into a newAutomatonand returns it.intgetNumStates()How many states this automaton has.booleanisAccept(int state)Returns true if this state is an accept state.voidsetAccept(int state, boolean accept)Set or clear this state as an accept state.
-
-
-
Constructor Detail
-
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 Detail
-
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 newAutomatonand 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.
-
-