Class ZlibEncoder

    • Constructor Summary

      Constructors 
      Constructor Description
      ZlibEncoder()
      Creates a new zlib encoder with the default compression level (6), default window bits (15), default memory level (8), and the default wrapper (ZlibWrapper.ZLIB).
      ZlibEncoder​(byte[] dictionary)
      Creates a new zlib encoder with the default compression level (6), default window bits (15), default memory level (8), and the specified preset dictionary.
      ZlibEncoder​(int compressionLevel)
      Creates a new zlib encoder with the specified compressionLevel, default window bits (15), default memory level (8), and the default wrapper (ZlibWrapper.ZLIB).
      ZlibEncoder​(int compressionLevel, byte[] dictionary)
      Creates a new zlib encoder with the specified compressionLevel, default window bits (15), default memory level (8), and the specified preset dictionary.
      ZlibEncoder​(int compressionLevel, int windowBits, int memLevel, byte[] dictionary)
      Creates a new zlib encoder with the specified compressionLevel, the specified windowBits, the specified memLevel, and the specified preset dictionary.
      ZlibEncoder​(ZlibWrapper wrapper)
      Creates a new zlib encoder with the default compression level (6), default window bits (15), default memory level (8), and the specified wrapper.
      ZlibEncoder​(ZlibWrapper wrapper, int compressionLevel)
      Creates a new zlib encoder with the specified compressionLevel, default window bits (15), default memory level (8), and the specified wrapper.
      ZlibEncoder​(ZlibWrapper wrapper, int compressionLevel, int windowBits, int memLevel)
      Creates a new zlib encoder with the specified compressionLevel, the specified windowBits, the specified memLevel, and the specified wrapper.
    • Field Detail

      • EMPTY_ARRAY

        private static final byte[] EMPTY_ARRAY
      • wrapperOverhead

        private final int wrapperOverhead
      • z

        private final com.jcraft.jzlib.ZStream z
      • finished

        private final java.util.concurrent.atomic.AtomicBoolean finished
    • Constructor Detail

      • ZlibEncoder

        public ZlibEncoder()
        Creates a new zlib encoder with the default compression level (6), default window bits (15), default memory level (8), and the default wrapper (ZlibWrapper.ZLIB).
        Throws:
        CompressionException - if failed to initialize zlib
      • ZlibEncoder

        public ZlibEncoder​(int compressionLevel)
        Creates a new zlib encoder with the specified compressionLevel, default window bits (15), default memory level (8), and the default wrapper (ZlibWrapper.ZLIB).
        Parameters:
        compressionLevel - 1 yields the fastest compression and 9 yields the best compression. 0 means no compression. The default compression level is 6.
        Throws:
        CompressionException - if failed to initialize zlib
      • ZlibEncoder

        public ZlibEncoder​(ZlibWrapper wrapper)
        Creates a new zlib encoder with the default compression level (6), default window bits (15), default memory level (8), and the specified wrapper.
        Throws:
        CompressionException - if failed to initialize zlib
      • ZlibEncoder

        public ZlibEncoder​(ZlibWrapper wrapper,
                           int compressionLevel)
        Creates a new zlib encoder with the specified compressionLevel, default window bits (15), default memory level (8), and the specified wrapper.
        Parameters:
        compressionLevel - 1 yields the fastest compression and 9 yields the best compression. 0 means no compression. The default compression level is 6.
        Throws:
        CompressionException - if failed to initialize zlib
      • ZlibEncoder

        public ZlibEncoder​(ZlibWrapper wrapper,
                           int compressionLevel,
                           int windowBits,
                           int memLevel)
        Creates a new zlib encoder with the specified compressionLevel, the specified windowBits, the specified memLevel, and the specified wrapper.
        Parameters:
        compressionLevel - 1 yields the fastest compression and 9 yields the best compression. 0 means no compression. The default compression level is 6.
        windowBits - The base two logarithm of the size of the history buffer. The value should be in the range 9 to 15 inclusive. Larger values result in better compression at the expense of memory usage. The default value is 15.
        memLevel - How much memory should be allocated for the internal compression state. 1 uses minimum memory and 9 uses maximum memory. Larger values result in better and faster compression at the expense of memory usage. The default value is 8
        Throws:
        CompressionException - if failed to initialize zlib
      • ZlibEncoder

        public ZlibEncoder​(byte[] dictionary)
        Creates a new zlib encoder with the default compression level (6), default window bits (15), default memory level (8), and the specified preset dictionary. The wrapper is always ZlibWrapper.ZLIB because it is the only format that supports the preset dictionary.
        Parameters:
        dictionary - the preset dictionary
        Throws:
        CompressionException - if failed to initialize zlib
      • ZlibEncoder

        public ZlibEncoder​(int compressionLevel,
                           byte[] dictionary)
        Creates a new zlib encoder with the specified compressionLevel, default window bits (15), default memory level (8), and the specified preset dictionary. The wrapper is always ZlibWrapper.ZLIB because it is the only format that supports the preset dictionary.
        Parameters:
        compressionLevel - 1 yields the fastest compression and 9 yields the best compression. 0 means no compression. The default compression level is 6.
        dictionary - the preset dictionary
        Throws:
        CompressionException - if failed to initialize zlib
      • ZlibEncoder

        public ZlibEncoder​(int compressionLevel,
                           int windowBits,
                           int memLevel,
                           byte[] dictionary)
        Creates a new zlib encoder with the specified compressionLevel, the specified windowBits, the specified memLevel, and the specified preset dictionary. The wrapper is always ZlibWrapper.ZLIB because it is the only format that supports the preset dictionary.
        Parameters:
        compressionLevel - 1 yields the fastest compression and 9 yields the best compression. 0 means no compression. The default compression level is 6.
        windowBits - The base two logarithm of the size of the history buffer. The value should be in the range 9 to 15 inclusive. Larger values result in better compression at the expense of memory usage. The default value is 15.
        memLevel - How much memory should be allocated for the internal compression state. 1 uses minimum memory and 9 uses maximum memory. Larger values result in better and faster compression at the expense of memory usage. The default value is 8
        dictionary - the preset dictionary
        Throws:
        CompressionException - if failed to initialize zlib