public final class BytesRefFSTEnum<T> extends Object
Modifier and Type | Class and Description |
---|---|
static class |
BytesRefFSTEnum.InputOutput<T>
Holds a single input (BytesRef) + output pair.
|
Modifier and Type | Field and Description |
---|---|
protected FST.Arc<T>[] |
arcs |
protected FST<T> |
fst |
protected T |
NO_OUTPUT |
protected T[] |
output |
protected FST.Arc<T> |
scratchArc |
protected int |
targetLength |
protected int |
upto |
Constructor and Description |
---|
BytesRefFSTEnum(FST<T> fst)
doFloor controls the behavior of advance: if it's true
doFloor is true, advance positions to the biggest
term before target.
|
Modifier and Type | Method and Description |
---|---|
BytesRefFSTEnum.InputOutput<T> |
current() |
protected void |
doNext() |
protected void |
doSeekCeil()
Seeks to smallest term that's >= target.
|
protected boolean |
doSeekExact()
Seeks to exactly target term.
|
protected void |
doSeekFloor()
Seeks to largest term that's <= target.
|
protected int |
getCurrentLabel() |
protected int |
getTargetLabel() |
protected void |
grow() |
BytesRefFSTEnum.InputOutput<T> |
next() |
protected void |
rewindPrefix()
Rewinds enum state to match the shared prefix between
current term and target term
|
BytesRefFSTEnum.InputOutput<T> |
seekCeil(BytesRef target)
Seeks to smallest term that's >= target.
|
BytesRefFSTEnum.InputOutput<T> |
seekExact(BytesRef target)
Seeks to exactly this term, returning null if the term
doesn't exist.
|
BytesRefFSTEnum.InputOutput<T> |
seekFloor(BytesRef target)
Seeks to biggest term that's <= target.
|
protected void |
setCurrentLabel(int label) |
protected final FST<T> fst
protected FST.Arc<T>[] arcs
protected T[] output
protected final T NO_OUTPUT
protected final FST.Arc<T> scratchArc
protected int upto
protected int targetLength
public BytesRefFSTEnum.InputOutput<T> current()
public BytesRefFSTEnum.InputOutput<T> next() throws IOException
IOException
public BytesRefFSTEnum.InputOutput<T> seekCeil(BytesRef target) throws IOException
IOException
public BytesRefFSTEnum.InputOutput<T> seekFloor(BytesRef target) throws IOException
IOException
public BytesRefFSTEnum.InputOutput<T> seekExact(BytesRef target) throws IOException
seekFloor(org.apache.lucene.util.BytesRef)
or seekCeil(org.apache.lucene.util.BytesRef)
because it
short-circuits as soon the match is not found.IOException
protected int getTargetLabel()
protected int getCurrentLabel()
protected void setCurrentLabel(int label)
protected void grow()
protected final void rewindPrefix() throws IOException
IOException
protected void doNext() throws IOException
IOException
protected void doSeekCeil() throws IOException
IOException
protected void doSeekFloor() throws IOException
IOException
protected boolean doSeekExact() throws IOException
IOException