Class LZFDecoder

java.lang.Object
com.ning.compress.lzf.LZFDecoder

public class LZFDecoder extends Object
Decoder that handles decoding of sequence of encoded LZF chunks, combining them into a single contiguous result byte array. This class has been mostly replaced by ChunkDecoder, although static methods are left here and may still be used for convenience. All static methods use ChunkDecoderFactory.optimalInstance() to find actual ChunkDecoder instance to use.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final AtomicReference<ChunkDecoder>
    Lazily initialized "fast" instance that may use sun.misc.Unsafe to speed up decompression
    protected static final AtomicReference<ChunkDecoder>
    Lazily initialized "safe" instance that DOES NOT use sun.misc.Unsafe for decompression, just standard JDK functionality.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    calculateUncompressedSize(byte[] data, int offset, int length)
    Helper method that checks resulting size of an LZF chunk, regardless of whether it contains compressed or uncompressed contents.
    static byte[]
    decode(byte[] inputBuffer)
     
    static int
    decode(byte[] inputBuffer, byte[] targetBuffer)
     
    static byte[]
    decode(byte[] inputBuffer, int offset, int length)
     
    static int
    decode(byte[] sourceBuffer, int offset, int length, byte[] targetBuffer)
     
    Accessor method that can be used to obtain ChunkDecoder that uses all possible optimization methods available, including sun.misc.Unsafe for memory access.
    static byte[]
    safeDecode(byte[] inputBuffer)
     
    static int
    safeDecode(byte[] inputBuffer, byte[] targetBuffer)
     
    static byte[]
    safeDecode(byte[] inputBuffer, int offset, int length)
     
    static int
    safeDecode(byte[] sourceBuffer, int offset, int length, byte[] targetBuffer)
     
    Accessor method that can be used to obtain ChunkDecoder that only uses standard JDK access methods, and should work on all Java platforms and JVMs.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • _fastDecoderRef

      protected static final AtomicReference<ChunkDecoder> _fastDecoderRef
      Lazily initialized "fast" instance that may use sun.misc.Unsafe to speed up decompression
    • _safeDecoderRef

      protected static final AtomicReference<ChunkDecoder> _safeDecoderRef
      Lazily initialized "safe" instance that DOES NOT use sun.misc.Unsafe for decompression, just standard JDK functionality.
  • Constructor Details

    • LZFDecoder

      public LZFDecoder()
  • Method Details

    • fastDecoder

      public static ChunkDecoder fastDecoder()
      Accessor method that can be used to obtain ChunkDecoder that uses all possible optimization methods available, including sun.misc.Unsafe for memory access.
    • safeDecoder

      public static ChunkDecoder safeDecoder()
      Accessor method that can be used to obtain ChunkDecoder that only uses standard JDK access methods, and should work on all Java platforms and JVMs.
    • calculateUncompressedSize

      public static int calculateUncompressedSize(byte[] data, int offset, int length) throws LZFException
      Helper method that checks resulting size of an LZF chunk, regardless of whether it contains compressed or uncompressed contents.
      Throws:
      LZFException
    • decode

      public static byte[] decode(byte[] inputBuffer) throws LZFException
      Throws:
      LZFException
    • decode

      public static byte[] decode(byte[] inputBuffer, int offset, int length) throws LZFException
      Throws:
      LZFException
    • decode

      public static int decode(byte[] inputBuffer, byte[] targetBuffer) throws LZFException
      Throws:
      LZFException
    • decode

      public static int decode(byte[] sourceBuffer, int offset, int length, byte[] targetBuffer) throws LZFException
      Throws:
      LZFException
    • safeDecode

      public static byte[] safeDecode(byte[] inputBuffer) throws LZFException
      Throws:
      LZFException
    • safeDecode

      public static byte[] safeDecode(byte[] inputBuffer, int offset, int length) throws LZFException
      Throws:
      LZFException
    • safeDecode

      public static int safeDecode(byte[] inputBuffer, byte[] targetBuffer) throws LZFException
      Throws:
      LZFException
    • safeDecode

      public static int safeDecode(byte[] sourceBuffer, int offset, int length, byte[] targetBuffer) throws LZFException
      Throws:
      LZFException