Package 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

Modifier and Type
Method
Description
`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 Details

### 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`