org.apache.lucene.util.fst
Class Outputs<T>

java.lang.Object
  extended by org.apache.lucene.util.fst.Outputs<T>
Direct Known Subclasses:
ByteSequenceOutputs, CharSequenceOutputs, IntSequenceOutputs, NoOutputs, PairOutputs, PositiveIntOutputs

public abstract class Outputs<T>
extends Object

Represents the outputs for an FST, providing the basic algebra required for building and traversing the FST.

Note that any operation that returns NO_OUTPUT must return the same singleton object from getNoOutput().

WARNING: This API is experimental and might change in incompatible ways in the next release.

Constructor Summary
Outputs()
           
 
Method Summary
abstract  T add(T prefix, T output)
          Eg add("foo", "bar") -> "foobar"
abstract  T common(T output1, T output2)
          Eg common("foo", "foobar") -> "foo"
abstract  T getNoOutput()
          NOTE: this output is compared with == so you must ensure that all methods return the single object if it's really no output
 T merge(T first, T second)
           
abstract  String outputToString(T output)
           
abstract  T read(DataInput in)
          Decode an output value previously written with write(Object, DataOutput).
 T readFinalOutput(DataInput in)
          Decode an output value previously written with writeFinalOutput(Object, DataOutput).
abstract  T subtract(T output, T inc)
          Eg subtract("foobar", "foo") -> "bar"
abstract  void write(T output, DataOutput out)
          Encode an output value into a DataOutput.
 void writeFinalOutput(T output, DataOutput out)
          Encode an final node output value into a DataOutput.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Outputs

public Outputs()
Method Detail

common

public abstract T common(T output1,
                         T output2)
Eg common("foo", "foobar") -> "foo"


subtract

public abstract T subtract(T output,
                           T inc)
Eg subtract("foobar", "foo") -> "bar"


add

public abstract T add(T prefix,
                      T output)
Eg add("foo", "bar") -> "foobar"


write

public abstract void write(T output,
                           DataOutput out)
                    throws IOException
Encode an output value into a DataOutput.

Throws:
IOException

writeFinalOutput

public void writeFinalOutput(T output,
                             DataOutput out)
                      throws IOException
Encode an final node output value into a DataOutput. By default this just calls write(Object, DataOutput).

Throws:
IOException

read

public abstract T read(DataInput in)
                throws IOException
Decode an output value previously written with write(Object, DataOutput).

Throws:
IOException

readFinalOutput

public T readFinalOutput(DataInput in)
                  throws IOException
Decode an output value previously written with writeFinalOutput(Object, DataOutput). By default this just calls read(DataInput).

Throws:
IOException

getNoOutput

public abstract T getNoOutput()
NOTE: this output is compared with == so you must ensure that all methods return the single object if it's really no output


outputToString

public abstract String outputToString(T output)

merge

public T merge(T first,
               T second)


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.