org.apache.lucene.codecs.compressing

## Class Decompressor

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

All Implemented Interfaces:
  Cloneable

    public abstract class Decompressor
    extends Object
    implements Cloneable

A decompressor.

### Constructor Summary

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

### Method Summary

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