org.apache.lucene.util.fst

## Class CharSequenceOutputs

- java.lang.Object
- - org.apache.lucene.util.fst.Outputs<CharsRef>
  - - org.apache.lucene.util.fst.CharSequenceOutputs

    public final class CharSequenceOutputs
    extends Outputs<CharsRef>

An FST `Outputs` implementation where each output is a sequence of characters.

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

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`CharsRef` `add(CharsRef prefix, CharsRef output)` Eg add("foo", "bar") -> "foobar"
`CharsRef` `common(CharsRef output1, CharsRef output2)` Eg common("foobar", "food") -> "foo"
`CharsRef` `getNoOutput()` NOTE: this output is compared with == so you must ensure that all methods return the single object if it's really no output
`static CharSequenceOutputs` `getSingleton()`
`String` `outputToString(CharsRef output)`
`long` `ramBytesUsed(CharsRef output)` Return memory usage for the provided output.
`CharsRef` `read(DataInput in)` Decode an output value previously written with `Outputs.write(Object, DataOutput)`.
`void` `skipOutput(DataInput in)` Skip the output; defaults to just calling `Outputs.read(org.apache.lucene.store.DataInput)` and discarding the result.
`CharsRef` `subtract(CharsRef output, CharsRef inc)` Eg subtract("foobar", "foo") -> "bar"
`void` `write(CharsRef prefix, DataOutput out)` Encode an output value into a `DataOutput`.

### Methods inherited from class org.apache.lucene.util.fst.Outputs

`merge, readFinalOutput, skipFinalOutput, writeFinalOutput`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### getSingleton

    public static CharSequenceOutputs getSingleton()

#### common

    public CharsRef common(CharsRef output1,
                           CharsRef output2)

Description copied from class: `Outputs`
Eg common("foobar", "food") -> "foo"

Specified by:
  `common` in class `Outputs<CharsRef>`

#### subtract

    public CharsRef subtract(CharsRef output,
                             CharsRef inc)

Description copied from class: `Outputs`
Eg subtract("foobar", "foo") -> "bar"

Specified by:
  `subtract` in class `Outputs<CharsRef>`

#### add

    public CharsRef add(CharsRef prefix,
                        CharsRef output)

Description copied from class: `Outputs`
Eg add("foo", "bar") -> "foobar"

Specified by:
  `add` in class `Outputs<CharsRef>`

#### write

    public void write(CharsRef prefix,
                      DataOutput out)
               throws IOException

Description copied from class: `Outputs`
Encode an output value into a `DataOutput`.

Specified by:
  `write` in class `Outputs<CharsRef>`
Throws:
  `IOException`

#### read

    public CharsRef read(DataInput in)
                  throws IOException

Description copied from class: `Outputs`
Decode an output value previously written with `Outputs.write(Object, DataOutput)`.

Specified by:
  `read` in class `Outputs<CharsRef>`
Throws:
  `IOException`

#### skipOutput

    public void skipOutput(DataInput in)
                    throws IOException

Description copied from class: `Outputs`
Skip the output; defaults to just calling `Outputs.read(org.apache.lucene.store.DataInput)` and discarding the result.

Overrides:
  `skipOutput` in class `Outputs<CharsRef>`
Throws:
  `IOException`

#### getNoOutput

    public CharsRef getNoOutput()

Description copied from class: `Outputs`
NOTE: this output is compared with == so you must ensure that all methods return the single object if it's really no output

Specified by:
  `getNoOutput` in class `Outputs<CharsRef>`

#### outputToString

    public String outputToString(CharsRef output)

Specified by:
  `outputToString` in class `Outputs<CharsRef>`

#### ramBytesUsed

    public long ramBytesUsed(CharsRef output)

Description copied from class: `Outputs`
Return memory usage for the provided output.

Specified by:
  `ramBytesUsed` in class `Outputs<CharsRef>`
See Also:
  `Accountable`