Class GZipContentEncoding

  • All Implemented Interfaces:
    ContentEncoding

    public class GZipContentEncoding
    extends java.lang.Object
    implements ContentEncoding
    GZip ContentEncoding implementation, which compresses/decompresses HTTP content using gzip algorithm.
    Author:
    Alexey Stashok
    • Constructor Detail

      • GZipContentEncoding

        public GZipContentEncoding()
        Construct GZipContentEncoding using default buffer sizes.
      • GZipContentEncoding

        public GZipContentEncoding​(int inBufferSize,
                                   int outBufferSize)
        Construct GZipContentEncoding using specific buffer sizes.
        Parameters:
        inBufferSize - input buffer size
        outBufferSize - output buffer size
      • GZipContentEncoding

        public GZipContentEncoding​(int inBufferSize,
                                   int outBufferSize,
                                   EncodingFilter encoderFilter)
        Construct GZipContentEncoding using specific buffer sizes, with default compression level and strategy.
        Parameters:
        inBufferSize - input buffer size
        outBufferSize - output buffer size
        encoderFilter - EncodingFilter, which will decide if GZipContentEncoding should be applied to encode specific HttpHeader packet.
      • GZipContentEncoding

        public GZipContentEncoding​(int inBufferSize,
                                   int outBufferSize,
                                   int compressionLevel,
                                   int compressionStrategy,
                                   EncodingFilter encoderFilter)
        Construct GZipContentEncoding using specific buffer sizes, compression level and strategy.
        Parameters:
        inBufferSize - input buffer size
        outBufferSize - output buffer size
        compressionLevel - the compression level used by the GZipEncoder
        compressionStrategy - the compression strategy used by the GZipEncoder
        encoderFilter - EncodingFilter, which will decide if GZipContentEncoding should be applied to encode specific HttpHeader packet.
    • Method Detail

      • getName

        public java.lang.String getName()
        Description copied from interface: ContentEncoding
        Get the ContentEncoding name.
        Specified by:
        getName in interface ContentEncoding
        Returns:
        the ContentEncoding name.
      • getAliases

        public java.lang.String[] getAliases()
        Description copied from interface: ContentEncoding
        Get the ContentEncoding aliases.
        Specified by:
        getAliases in interface ContentEncoding
        Returns:
        the ContentEncoding aliases.
      • getGzipAliases

        public static java.lang.String[] getGzipAliases()
      • wantDecode

        public final boolean wantDecode​(HttpHeader header)
        Description copied from interface: ContentEncoding
        Method should implement the logic, which decides if HTTP packet with the specific HttpHeader should be decoded using this ContentEncoding.
        Specified by:
        wantDecode in interface ContentEncoding
        Parameters:
        header - HTTP packet header.
        Returns:
        true, if this ContentEncoding should be used to decode the HTTP packet, or false otherwise.
      • wantEncode

        public final boolean wantEncode​(HttpHeader header)
        Description copied from interface: ContentEncoding
        Method should implement the logic, which decides if HTTP packet with the specific HttpHeader should be encoded using this ContentEncoding.
        Specified by:
        wantEncode in interface ContentEncoding
        Parameters:
        header - HTTP packet header.
        Returns:
        true, if this ContentEncoding should be used to encode the HTTP packet, or false otherwise.
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object