|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.lucene.util.fst.FST<T>
public final class FST<T>
Represents an finite state machine (FST), using a compact byte[] format.
The format is similar to what's used by Morfologik (http://sourceforge.net/projects/morfologik).
See the package
documentation
for some simple examples.
Nested Class Summary | |
---|---|
static class |
FST.Arc<T>
Represents a single arc. |
static class |
FST.BytesReader
Reads bytes stored in an FST. |
static class |
FST.INPUT_TYPE
Specifies allowed range of each int input label for this FST. |
Field Summary | |
---|---|
long |
arcCount
|
long |
arcWithOutputCount
|
static int |
DEFAULT_MAX_BLOCK_BITS
|
static int |
END_LABEL
If arc has this label then that arc is final/accepted |
FST.INPUT_TYPE |
inputType
|
long |
nodeCount
|
Outputs<T> |
outputs
|
Constructor Summary | |
---|---|
FST(DataInput in,
Outputs<T> outputs)
Load a previously saved FST. |
|
FST(DataInput in,
Outputs<T> outputs,
int maxBlockBits)
Load a previously saved FST; maxBlockBits allows you to control the size of the byte[] pages used to hold the FST bytes. |
Method Summary | ||
---|---|---|
FST.Arc<T> |
findTargetArc(int labelToMatch,
FST.Arc<T> follow,
FST.Arc<T> arc,
FST.BytesReader in)
Finds an arc leaving the incoming arc, replacing the arc in place. |
|
long |
getArcCount()
|
|
long |
getArcWithOutputCount()
|
|
FST.BytesReader |
getBytesReader()
Returns a FST.BytesReader for this FST, positioned at
position 0. |
|
T |
getEmptyOutput()
|
|
FST.Arc<T> |
getFirstArc(FST.Arc<T> arc)
Fills virtual 'start' arc, ie, an empty incoming arc to the FST's start node |
|
FST.INPUT_TYPE |
getInputType()
|
|
long |
getNodeCount()
|
|
static
|
read(File file,
Outputs<T> outputs)
Reads an automaton from a file. |
|
FST.Arc<T> |
readFirstRealTargetArc(long node,
FST.Arc<T> arc,
FST.BytesReader in)
|
|
FST.Arc<T> |
readFirstTargetArc(FST.Arc<T> follow,
FST.Arc<T> arc,
FST.BytesReader in)
Follow the follow arc and read the first arc of its target;
this changes the provided arc (2nd arg) in-place and returns
it. |
|
FST.Arc<T> |
readLastTargetArc(FST.Arc<T> follow,
FST.Arc<T> arc,
FST.BytesReader in)
Follows the follow arc and reads the last
arc of its target; this changes the provided
arc (2nd arg) in-place and returns it. |
|
FST.Arc<T> |
readNextArc(FST.Arc<T> arc,
FST.BytesReader in)
In-place read; returns the arc. |
|
int |
readNextArcLabel(FST.Arc<T> arc,
FST.BytesReader in)
Peeks at next arc's label; does not alter arc. |
|
FST.Arc<T> |
readNextRealArc(FST.Arc<T> arc,
FST.BytesReader in)
Never returns null, but you should never call this if arc.isLast() is true. |
|
void |
save(DataOutput out)
|
|
void |
save(File file)
Writes an automaton to a file. |
|
long |
sizeInBytes()
Returns bytes used to represent the FST |
|
static
|
targetHasArcs(FST.Arc<T> arc)
returns true if the node at this address has any outgoing arcs |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public final FST.INPUT_TYPE inputType
public final Outputs<T> outputs
public long nodeCount
public long arcCount
public long arcWithOutputCount
public static final int END_LABEL
public static final int DEFAULT_MAX_BLOCK_BITS
Constructor Detail |
---|
public FST(DataInput in, Outputs<T> outputs) throws IOException
IOException
public FST(DataInput in, Outputs<T> outputs, int maxBlockBits) throws IOException
IOException
Method Detail |
---|
public FST.INPUT_TYPE getInputType()
public long sizeInBytes()
public T getEmptyOutput()
public void save(DataOutput out) throws IOException
IOException
public void save(File file) throws IOException
IOException
public static <T> FST<T> read(File file, Outputs<T> outputs) throws IOException
IOException
public static <T> boolean targetHasArcs(FST.Arc<T> arc)
public FST.Arc<T> getFirstArc(FST.Arc<T> arc)
public FST.Arc<T> readLastTargetArc(FST.Arc<T> follow, FST.Arc<T> arc, FST.BytesReader in) throws IOException
follow
arc and reads the last
arc of its target; this changes the provided
arc
(2nd arg) in-place and returns it.
arc
).
IOException
public FST.Arc<T> readFirstTargetArc(FST.Arc<T> follow, FST.Arc<T> arc, FST.BytesReader in) throws IOException
follow
arc and read the first arc of its target;
this changes the provided arc
(2nd arg) in-place and returns
it.
arc
).
IOException
public FST.Arc<T> readFirstRealTargetArc(long node, FST.Arc<T> arc, FST.BytesReader in) throws IOException
IOException
public FST.Arc<T> readNextArc(FST.Arc<T> arc, FST.BytesReader in) throws IOException
IOException
public int readNextArcLabel(FST.Arc<T> arc, FST.BytesReader in) throws IOException
IOException
public FST.Arc<T> readNextRealArc(FST.Arc<T> arc, FST.BytesReader in) throws IOException
IOException
public FST.Arc<T> findTargetArc(int labelToMatch, FST.Arc<T> follow, FST.Arc<T> arc, FST.BytesReader in) throws IOException
IOException
public long getNodeCount()
public long getArcCount()
public long getArcWithOutputCount()
public FST.BytesReader getBytesReader()
FST.BytesReader
for this FST, positioned at
position 0.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |