Class LZFDecoder


  • public class LZFDecoder
    extends java.lang.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:
    ChunkDecoder
    • Field Summary

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

      Constructors 
      Constructor Description
      LZFDecoder()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      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)  
      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.
      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)  
      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.
      • Methods inherited from class java.lang.Object

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

      • _fastDecoderRef

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

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

      • LZFDecoder

        public LZFDecoder()
    • Method Detail

      • 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,
                                    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,
                                        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