Class LZ4FastDecompressor

java.lang.Object
net.jpountz.lz4.LZ4FastDecompressor
All Implemented Interfaces:
LZ4Decompressor

public abstract class LZ4FastDecompressor extends Object implements LZ4Decompressor
LZ4 decompressor that requires the size of the original input to be known. Use LZ4SafeDecompressor if you only know the size of the compressed stream.

From lz4-java 1.6.0, it is deprecated to use a JNI-binding instance of this class; i.e., an instasnce returned by LZ4Factory.fastDecompressor() of LZ4Factory.nativeInstance(). Please see LZ4Factory.nativeInstance() for details.

Instances of this class are thread-safe.

See Also:
  • Constructor Details

    • LZ4FastDecompressor

      public LZ4FastDecompressor()
  • Method Details

    • decompress

      public abstract int decompress(byte[] src, int srcOff, byte[] dest, int destOff, int destLen)
      Decompresses src[srcOff:] into dest[destOff:destOff+destLen] and returns the number of bytes read from src. destLen must be exactly the size of the decompressed data.
      Specified by:
      decompress in interface LZ4Decompressor
      Parameters:
      src - the compressed data
      srcOff - the start offset in src
      dest - the destination buffer to store the decompressed data
      destOff - the start offset in dest
      destLen - the exact size of the original input
      Returns:
      the number of bytes read to restore the original input
    • decompress

      public abstract int decompress(ByteBuffer src, int srcOff, ByteBuffer dest, int destOff, int destLen)
      Decompresses src[srcOff:] into dest[destOff:destOff+destLen] and returns the number of bytes read from src. destLen must be exactly the size of the decompressed data. The positions and limits of the ByteBuffers remain unchanged.
      Parameters:
      src - the compressed data
      srcOff - the start offset in src
      dest - the destination buffer to store the decompressed data
      destOff - the start offset in dest
      destLen - the exact size of the original input
      Returns:
      the number of bytes read to restore the original input
    • decompress

      public final int decompress(byte[] src, byte[] dest, int destLen)
      Convenience method, equivalent to calling decompress(src, 0, dest, 0, destLen).
      Parameters:
      src - the compressed data
      dest - the destination buffer to store the decompressed data
      destLen - the exact size of the original input
      Returns:
      the number of bytes read to restore the original input
    • decompress

      public final int decompress(byte[] src, byte[] dest)
      Convenience method, equivalent to calling decompress(src, dest, dest.length).
      Parameters:
      src - the compressed data
      dest - the destination buffer to store the decompressed data
      Returns:
      the number of bytes read to restore the original input
    • decompress

      public final byte[] decompress(byte[] src, int srcOff, int destLen)
      Convenience method which returns src[srcOff:?] decompressed.

      Warning: this method has an important overhead due to the fact that it needs to allocate a buffer to decompress into.

      Here is how this method is implemented:

       final byte[] decompressed = new byte[destLen];
       decompress(src, srcOff, decompressed, 0, destLen);
       return decompressed;
       
      Parameters:
      src - the compressed data
      srcOff - the start offset in src
      destLen - the exact size of the original input
      Returns:
      the decompressed data
    • decompress

      public final byte[] decompress(byte[] src, int destLen)
      Convenience method, equivalent to calling decompress(src, 0, destLen).
      Parameters:
      src - the compressed data
      destLen - the exact size of the original input
      Returns:
      the decompressed data
    • decompress

      public final void decompress(ByteBuffer src, ByteBuffer dest)
      Decompresses src into dest. dest's Buffer.remaining() must be exactly the size of the decompressed data. This method moves the positions of the buffers.
      Parameters:
      src - the compressed data
      dest - the destination buffer to store the decompressed data
    • toString

      public String toString()
      Overrides:
      toString in class Object