org.apache.lucene.util.fst
Class UpToTwoPositiveIntOutputs
java.lang.Object
org.apache.lucene.util.fst.Outputs<Object>
org.apache.lucene.util.fst.UpToTwoPositiveIntOutputs
public final class UpToTwoPositiveIntOutputs
- extends Outputs<Object>
An FST Outputs
implementation where each output
is one or two non-negative long values. If it's a
single output, Long is returned; else, TwoLongs. Order
is preserved in the TwoLongs case, ie .first is the first
input/output added to Builder, and .second is the
second. You cannot store 0 output with this (that's
reserved to mean "no output")!
NOTE: the only way to create a TwoLongs output is to
add the same input to the FST twice in a row. This is
how the FST maps a single input to two outputs (e.g. you
cannot pass a TwoLongs to Builder.add(org.apache.lucene.util.IntsRef, T)
. If you
need more than two then use ListOfOutputs
, but if
you only have at most 2 then this implementation will
require fewer bytes as it steals one bit from each long
value.
NOTE: the resulting FST is not guaranteed to be minimal!
See Builder
.
- WARNING: This API is experimental and might change in incompatible ways in the next release.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
getSingleton
public static UpToTwoPositiveIntOutputs getSingleton(boolean doShare)
get
public Long get(long v)
get
public UpToTwoPositiveIntOutputs.TwoLongs get(long first,
long second)
common
public Long common(Object _output1,
Object _output2)
- Specified by:
common
in class Outputs<Object>
subtract
public Long subtract(Object _output,
Object _inc)
- Specified by:
subtract
in class Outputs<Object>
add
public Object add(Object _prefix,
Object _output)
- Specified by:
add
in class Outputs<Object>
write
public void write(Object _output,
DataOutput out)
throws IOException
- Specified by:
write
in class Outputs<Object>
- Throws:
IOException
read
public Object read(DataInput in)
throws IOException
- Specified by:
read
in class Outputs<Object>
- Throws:
IOException
getNoOutput
public Object getNoOutput()
- Specified by:
getNoOutput
in class Outputs<Object>
outputToString
public String outputToString(Object output)
- Specified by:
outputToString
in class Outputs<Object>
merge
public Object merge(Object first,
Object second)
- Overrides:
merge
in class Outputs<Object>
Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.