Package org.apache.lucene.util.automaton
Class RunAutomaton
- java.lang.Object
-
- org.apache.lucene.util.automaton.RunAutomaton
-
- All Implemented Interfaces:
Accountable
- Direct Known Subclasses:
ByteRunAutomaton
,CharacterRunAutomaton
,TermAutomatonScorer.TermRunAutomaton
public abstract class RunAutomaton extends java.lang.Object implements Accountable
Finite-state automaton with fast run operation. The initial state is always 0.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) FixedBitSet
accept
(package private) int
alphabetSize
(package private) Automaton
automaton
private static long
BASE_RAM_BYTES
(package private) int[]
classmap
(package private) int[]
points
(package private) int
size
(package private) int[]
transitions
-
Fields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
RunAutomaton(Automaton a, int alphabetSize)
Constructs a newRunAutomaton
from a deterministicAutomaton
.protected
RunAutomaton(Automaton a, int alphabetSize, int determinizeWorkLimit)
Constructs a newRunAutomaton
from a deterministicAutomaton
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
(package private) int
getCharClass(int c)
Gets character class of given codepointint[]
getCharIntervals()
Returns array of codepoint class interval start points.int
getSize()
Returns number of states in automaton.int
hashCode()
boolean
isAccept(int state)
Returns acceptance status for given state.long
ramBytesUsed()
Return the memory usage of this object in bytes.int
step(int state, int c)
Returns the state obtained by reading the given char from the given state.java.lang.String
toString()
Returns a string representation of this automaton.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.lucene.util.Accountable
getChildResources
-
-
-
-
Field Detail
-
BASE_RAM_BYTES
private static final long BASE_RAM_BYTES
-
automaton
final Automaton automaton
-
alphabetSize
final int alphabetSize
-
size
final int size
-
accept
final FixedBitSet accept
-
transitions
final int[] transitions
-
points
final int[] points
-
classmap
final int[] classmap
-
-
Constructor Detail
-
RunAutomaton
protected RunAutomaton(Automaton a, int alphabetSize)
Constructs a newRunAutomaton
from a deterministicAutomaton
.- Parameters:
a
- an automaton
-
RunAutomaton
protected RunAutomaton(Automaton a, int alphabetSize, int determinizeWorkLimit)
Constructs a newRunAutomaton
from a deterministicAutomaton
.- Parameters:
a
- an automatondeterminizeWorkLimit
- maximum effort to spend while determinizing
-
-
Method Detail
-
toString
public java.lang.String toString()
Returns a string representation of this automaton.- Overrides:
toString
in classjava.lang.Object
-
getSize
public final int getSize()
Returns number of states in automaton.
-
isAccept
public final boolean isAccept(int state)
Returns acceptance status for given state.
-
getCharIntervals
public final int[] getCharIntervals()
Returns array of codepoint class interval start points. The array should not be modified by the caller.
-
getCharClass
final int getCharClass(int c)
Gets character class of given codepoint
-
step
public final int step(int state, int c)
Returns the state obtained by reading the given char from the given state. Returns -1 if not obtaining any such state. (If the originalAutomaton
had no dead states, -1 is returned here if and only if a dead state is entered in an equivalent automaton with a total transition function.)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
ramBytesUsed
public long ramBytesUsed()
Description copied from interface:Accountable
Return the memory usage of this object in bytes. Negative values are illegal.- Specified by:
ramBytesUsed
in interfaceAccountable
-
-