Package org.apache.lucene.util.fst

## Class PositiveIntOutputs

- java.lang.Object
- - org.apache.lucene.util.fst.Outputs<Long>
  - - org.apache.lucene.util.fst.PositiveIntOutputs

-     public final class PositiveIntOutputs
      extends Outputs<Long>

  An FST `Outputs` implementation where each output is a non-negative long value.
  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
    Modifier and Type | Method | Description
    --- | --- | ---
    `Long` | `add​(Long prefix, Long output)` | Eg add("foo", "bar") -> "foobar"
    `Long` | `common​(Long output1, Long output2)` | Eg common("foobar", "food") -> "foo"
    `Long` | `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 PositiveIntOutputs` | `getSingleton()` |
    `String` | `outputToString​(Long output)` |
    `long` | `ramBytesUsed​(Long output)` | Return memory usage for the provided output.
    `Long` | `read​(DataInput in)` | Decode an output value previously written with `Outputs.write(Object, DataOutput)`.
    `Long` | `subtract​(Long output, Long inc)` | Eg subtract("foobar", "foo") -> "bar"
    `String` | `toString()` |
    `void` | `write​(Long output, DataOutput out)` | Encode an output value into a `DataOutput`.

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

      `merge, readFinalOutput, skipFinalOutput, skipOutput, writeFinalOutput`

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

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

- - ### Method Detail

    - #### getSingleton

          public static PositiveIntOutputs getSingleton()

    - #### common

          public Long common​(Long output1,
                             Long output2)

      Description copied from class: `Outputs`
      Eg common("foobar", "food") -> "foo"
      Specified by:
        `common` in class `Outputs<Long>`

    - #### subtract

          public Long subtract​(Long output,
                               Long inc)

      Description copied from class: `Outputs`
      Eg subtract("foobar", "foo") -> "bar"
      Specified by:
        `subtract` in class `Outputs<Long>`

    - #### add

          public Long add​(Long prefix,
                          Long output)

      Description copied from class: `Outputs`
      Eg add("foo", "bar") -> "foobar"
      Specified by:
        `add` in class `Outputs<Long>`

    - #### write

          public void write​(Long output,
                            DataOutput out)
                     throws IOException

      Description copied from class: `Outputs`
      Encode an output value into a `DataOutput`.
      Specified by:
        `write` in class `Outputs<Long>`
      Throws:
        `IOException`

    - #### read

          public Long 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<Long>`
      Throws:
        `IOException`

    - #### getNoOutput

          public Long 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<Long>`

    - #### outputToString

          public String outputToString​(Long output)

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

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### ramBytesUsed

          public long ramBytesUsed​(Long output)

      Description copied from class: `Outputs`
      Return memory usage for the provided output.
      Specified by:
        `ramBytesUsed` in class `Outputs<Long>`
      See Also:
        `Accountable`