Class GzipParameters

    • Field Detail

      • OS_HPFS

        private static final int OS_HPFS
        6: HPFS filesystem (OS/2, NT).
        See Also:
        Constant Field Values
      • OS_ACORN_RISCOS

        private static final int OS_ACORN_RISCOS
        13: Acorn RISCOS.
        See Also:
        Constant Field Values
      • compressionLevel

        private int compressionLevel
      • modificationTime

        private java.time.Instant modificationTime
        The most recent modification time (MTIME) of the original file being compressed.

        The time is in Unix format, for example, seconds since 00:00:00 GMT, Jan. 1, 1970. (Note that this may cause problems for MS-DOS and other systems that use local rather than Universal time.) If the compressed data did not come from a file, MTIME is set to the time at which compression started. MTIME = 0 means no time stamp is available.

      • fileName

        private java.lang.String fileName
      • fileNameCharset

        private java.nio.charset.Charset fileNameCharset
      • comment

        private java.lang.String comment
      • bufferSize

        private int bufferSize
      • deflateStrategy

        private int deflateStrategy
    • Constructor Detail

      • GzipParameters

        public GzipParameters()
    • Method Detail

      • getBufferSize

        public int getBufferSize()
        Gets size of the buffer used to retrieve compressed data.
        Returns:
        The size of the buffer used to retrieve compressed data.
        Since:
        1.21
        See Also:
        setBufferSize(int)
      • getComment

        public java.lang.String getComment()
        Gets an arbitrary user-defined comment.
        Returns:
        a user-defined comment.
      • getCompressionLevel

        public int getCompressionLevel()
        Gets the compression level.
        Returns:
        the compression level.
        See Also:
        Deflater.NO_COMPRESSION, Deflater.BEST_SPEED, Deflater.DEFAULT_COMPRESSION, Deflater.BEST_COMPRESSION
      • getDeflateStrategy

        public int getDeflateStrategy()
        Gets the deflater strategy.
        Returns:
        the deflater strategy, Deflater.DEFAULT_STRATEGY by default.
        Since:
        1.23
        See Also:
        setDeflateStrategy(int), Deflater.setStrategy(int)
      • getExtraField

        public ExtraField getExtraField()
        Gets the Extra subfields from the header.
        Returns:
        the extra subfields from the header.
        Since:
        1.28.0
      • getFilename

        @Deprecated
        public java.lang.String getFilename()
        Deprecated.
        Gets the file name.
        Returns:
        the file name.
      • getFileName

        public java.lang.String getFileName()
        Gets the file name.
        Returns:
        the file name.
        Since:
        1.25.0
      • getFileNameCharset

        public java.nio.charset.Charset getFileNameCharset()
        Gets the Charset to use for writing file names and comments.

        The default value is GzipUtils.GZIP_ENCODING.

        Returns:
        the Charset to use for writing file names and comments.
        Since:
        1.28.0
      • getModificationInstant

        public java.time.Instant getModificationInstant()
        Gets the most recent modification time (MTIME) of the original file being compressed.
        Returns:
        the most recent modification time.
        Since:
        1.28.0
      • getModificationTime

        public long getModificationTime()
        Gets the most recent modification time (MTIME) of the original file being compressed, in seconds since 00:00:00 GMT, Jan. 1, 1970.

        The time is in Unix format, for example, seconds since 00:00:00 GMT, Jan. 1, 1970. (Note that this may cause problems for MS-DOS and other systems that use local rather than Universal time.) If the compressed data did not come from a file, MTIME is set to the time at which compression started. MTIME = 0 means no time stamp is available.

        Returns:
        the most recent modification time in seconds since 00:00:00 GMT, Jan. 1, 1970.
      • getOperatingSystem

        public int getOperatingSystem()
        Gets the OS code type.
        Returns:
        the OS code type.
      • getOS

        public GzipParameters.OS getOS()
        Gets the OS type.
        Returns:
        the OS type.
        Since:
        1.28.0
      • requireNonNulByte

        private java.lang.String requireNonNulByte​(java.lang.String text)
      • setBufferSize

        public void setBufferSize​(int bufferSize)
        Sets size of the buffer used to retrieve compressed data from Deflater and write to underlying OutputStream.
        Parameters:
        bufferSize - the bufferSize to set. Must be a positive type.
        Since:
        1.21
      • setComment

        public void setComment​(java.lang.String comment)
        Sets an arbitrary user-defined comment.
        Parameters:
        comment - a user-defined comment.
        Throws:
        java.lang.IllegalArgumentException - if the encoded bytes would contain a nul byte '\0' reserved for gzip field termination.
      • setCompressionLevel

        public void setCompressionLevel​(int compressionLevel)
        Sets the compression level.
        Parameters:
        compressionLevel - the compression level (between 0 and 9)
        See Also:
        Deflater.NO_COMPRESSION, Deflater.BEST_SPEED, Deflater.DEFAULT_COMPRESSION, Deflater.BEST_COMPRESSION
      • setDeflateStrategy

        public void setDeflateStrategy​(int deflateStrategy)
        Sets the deflater strategy.
        Parameters:
        deflateStrategy - the new compression strategy
        Since:
        1.23
        See Also:
        Deflater.setStrategy(int)
      • setExtraField

        public void setExtraField​(ExtraField extra)
        Sets the extra subfields. Note that a non-null extra will appear in the gzip header regardless of the presence of subfields, while a null extra will not appear at all.
        Parameters:
        extra - the series of extra sub fields.
        Since:
        1.28.0
      • setFileName

        public void setFileName​(java.lang.String fileName)
        Sets the name of the compressed file.
        Parameters:
        fileName - the name of the file without the directory path
        Throws:
        java.lang.IllegalArgumentException - if the encoded bytes would contain a nul byte '\0' reserved for gzip field termination.
      • setModificationInstant

        public void setModificationInstant​(java.time.Instant modificationTime)
        Sets the modification time (MTIME) of the compressed file.
        Parameters:
        modificationTime - the modification time, in milliseconds
        Since:
        1.28.0
      • setModificationTime

        public void setModificationTime​(long modificationTime)
        Sets the modification time (MTIME) of the compressed file, in seconds since 00:00:00 GMT, Jan. 1, 1970.

        The time is in Unix format, for example, seconds since 00:00:00 GMT, Jan. 1, 1970. (Note that this may cause problems for MS-DOS and other systems that use local rather than Universal time.) If the compressed data did not come from a file, MTIME is set to the time at which compression started. MTIME = 0 means no time stamp is available.

        Parameters:
        modificationTime - the modification time, in seconds.
      • setOperatingSystem

        public void setOperatingSystem​(int operatingSystem)
        Sets the operating system on which the compression took place. The defined values are:
        • 0: FAT file system (MS-DOS, OS/2, NT/Win32)
        • 1: Amiga
        • 2: VMS (or OpenVMS)
        • 3: Unix
        • 4: VM/CMS
        • 5: Atari TOS
        • 6: HPFS file system (OS/2, NT)
        • 7: Macintosh
        • 8: Z-System
        • 9: CP/M
        • 10: TOPS-20
        • 11: NTFS file system (NT)
        • 12: QDOS
        • 13: Acorn RISCOS
        • 255: Unknown
        Parameters:
        operatingSystem - the code of the operating system
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object