Package org.apache.lucene.backward_codecs.compressing

## Class Decompressor

- java.lang.Object
- - org.apache.lucene.backward_codecs.compressing.Decompressor

- All Implemented Interfaces:
    `Cloneable`

      public abstract class Decompressor
      extends Object
      implements Cloneable

  A decompressor.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `Decompressor()` | Sole constructor, typically called from sub-classes.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract Decompressor` | `clone()` |
    `abstract void` | `decompress​(DataInput in, int originalLength, int offset, int length, BytesRef bytes)` | Decompress bytes that were stored between offsets `offset` and `offset+length` in the original stream from the compressed stream `in` to `bytes` .

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

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

- - ### Constructor Detail

    - #### Decompressor

          protected Decompressor()

      Sole constructor, typically called from sub-classes.

  - ### Method Detail

    - #### decompress

          public abstract void decompress​(DataInput in,
                                          int originalLength,
                                          int offset,
                                          int length,
                                          BytesRef bytes)
                                   throws IOException

      Decompress bytes that were stored between offsets `offset` and `offset+length` in the original stream from the compressed stream `in` to `bytes` . After returning, the length of `bytes` (`bytes.length`) must be equal to `length`. Implementations of this method are free to resize `bytes` depending on their needs.
      Parameters:
        `in` - the input that stores the compressed stream
        `originalLength` - the length of the original data (before compression)
        `offset` - bytes before this offset do not need to be decompressed
        `length` - bytes after `offset+length` do not need to be decompressed
        `bytes` - a `BytesRef` where to store the decompressed data
      Throws:
        `IOException`

    - #### clone

          public abstract Decompressor clone()

      Overrides:
        `clone` in class `Object`