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 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
copyStates(Automaton other)
Copies over all states from other.int
createState()
Create a new state.Automaton
finish()
Compiles all added states and transitions into a newAutomaton
and returns it.int
getNumStates()
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.
-
-
-
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 newAutomaton
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.
-
-