Package org.apache.lucene.util.automaton
Class DaciukMihovAutomatonBuilder.State
- java.lang.Object
-
- org.apache.lucene.util.automaton.DaciukMihovAutomatonBuilder.State
-
- Enclosing class:
- DaciukMihovAutomatonBuilder
private static final class DaciukMihovAutomatonBuilder.State extends java.lang.Object
DFSA state withchar
labels on transitions.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) boolean
is_final
true
if this state corresponds to the end of at least one input sequence.(package private) int[]
labels
Labels of outgoing transitions.private static int[]
NO_LABELS
An empty set of labels.private static DaciukMihovAutomatonBuilder.State[]
NO_STATES
An empty set of states.(package private) DaciukMihovAutomatonBuilder.State[]
states
States reachable from outgoing transitions.
-
Constructor Summary
Constructors Modifier Constructor Description private
State()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
Two states are equal if: they have an identical number of outgoing transitions, labeled with the same labels corresponding outgoing transitions lead to the same states (to states with an identical right-language).(package private) DaciukMihovAutomatonBuilder.State
getState(int label)
Returns the target state of a transition leaving this state and labeled withlabel
.(package private) boolean
hasChildren()
Returntrue
if this state has any children (outgoing transitions).int
hashCode()
Compute the hash code of the current status of this state.(package private) DaciukMihovAutomatonBuilder.State
lastChild()
Return the most recent transitions's target state.(package private) DaciukMihovAutomatonBuilder.State
lastChild(int label)
Return the associated state if the most recent transition is labeled withlabel
.(package private) DaciukMihovAutomatonBuilder.State
newState(int label)
Create a new outgoing transition labeledlabel
and return the newly created target state for this transition.private static boolean
referenceEquals(java.lang.Object[] a1, java.lang.Object[] a2)
Compare two lists of objects for reference-equality.(package private) void
replaceLastChild(DaciukMihovAutomatonBuilder.State state)
Replace the last added outgoing transition's target state with the given state.
-
-
-
Field Detail
-
NO_LABELS
private static final int[] NO_LABELS
An empty set of labels.
-
NO_STATES
private static final DaciukMihovAutomatonBuilder.State[] NO_STATES
An empty set of states.
-
labels
int[] labels
Labels of outgoing transitions. Indexed identically tostates
. Labels must be sorted lexicographically.
-
states
DaciukMihovAutomatonBuilder.State[] states
States reachable from outgoing transitions. Indexed identically tolabels
.
-
is_final
boolean is_final
true
if this state corresponds to the end of at least one input sequence.
-
-
Method Detail
-
getState
DaciukMihovAutomatonBuilder.State getState(int label)
Returns the target state of a transition leaving this state and labeled withlabel
. If no such transition exists, returnsnull
.
-
equals
public boolean equals(java.lang.Object obj)
Two states are equal if:- they have an identical number of outgoing transitions, labeled with the same labels
- corresponding outgoing transitions lead to the same states (to states with an identical right-language).
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
Compute the hash code of the current status of this state.- Overrides:
hashCode
in classjava.lang.Object
-
hasChildren
boolean hasChildren()
Returntrue
if this state has any children (outgoing transitions).
-
newState
DaciukMihovAutomatonBuilder.State newState(int label)
Create a new outgoing transition labeledlabel
and return the newly created target state for this transition.
-
lastChild
DaciukMihovAutomatonBuilder.State lastChild()
Return the most recent transitions's target state.
-
lastChild
DaciukMihovAutomatonBuilder.State lastChild(int label)
Return the associated state if the most recent transition is labeled withlabel
.
-
replaceLastChild
void replaceLastChild(DaciukMihovAutomatonBuilder.State state)
Replace the last added outgoing transition's target state with the given state.
-
referenceEquals
private static boolean referenceEquals(java.lang.Object[] a1, java.lang.Object[] a2)
Compare two lists of objects for reference-equality.
-
-