Class GzipParameters
- java.lang.Object
-
- org.apache.commons.compress.compressors.gzip.GzipParameters
-
public class GzipParameters extends java.lang.Object
Parameters for the GZIP compressor.- Since:
- 1.7
- See Also:
GzipCompressorInputStream,GzipCompressorOutputStream, RFC 1952 GZIP File Format Specification
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classGzipParameters.OSEnumerates OS types.
-
Constructor Summary
Constructors Constructor Description GzipParameters()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)intgetBufferSize()Gets size of the buffer used to retrieve compressed data.java.lang.StringgetComment()Gets an arbitrary user-defined comment.intgetCompressionLevel()Gets the compression level.intgetDeflateStrategy()Gets the deflater strategy.ExtraFieldgetExtraField()Gets the Extra subfields from the header.java.lang.StringgetFilename()Deprecated.UsegetFileName().java.lang.StringgetFileName()Gets the file name.java.nio.charset.CharsetgetFileNameCharset()Gets the Charset to use for writing file names and comments.booleangetHeaderCRC()Returns if the header CRC is to be added (when writing) or was present (when reading).java.time.InstantgetModificationInstant()Gets the most recent modification time (MTIME) of the original file being compressed.longgetModificationTime()Gets the most recent modification time (MTIME) of the original file being compressed, in seconds since 00:00:00 GMT, Jan.intgetOperatingSystem()Gets the OS code type.GzipParameters.OSgetOS()Gets the OS type.longgetTrailerCrc()Gets the trailer CRC value.longgetTrailerISize()Gets the trailer ISIZE value.inthashCode()voidsetBufferSize(int bufferSize)Sets size of the buffer used to retrieve compressed data fromDeflaterand write to underlyingOutputStream.voidsetComment(java.lang.String comment)Sets an arbitrary user-defined comment.voidsetCompressionLevel(int compressionLevel)Sets the compression level.voidsetDeflateStrategy(int deflateStrategy)Sets the deflater strategy.voidsetExtraField(ExtraField extra)Sets the extra subfields.voidsetFilename(java.lang.String fileName)Deprecated.UsesetFileName(String).voidsetFileName(java.lang.String fileName)Sets the name of the compressed file.voidsetFileNameCharset(java.nio.charset.Charset charset)Sets the Charset to use for writing file names and comments, where null maps toGzipUtils.GZIP_ENCODING.voidsetHeaderCRC(boolean headerCRC)Establishes the presence of the header flag FLG.FHCRC and its headers CRC16 value.voidsetModificationInstant(java.time.Instant modificationTime)Sets the modification time (MTIME) of the compressed file.voidsetModificationTime(long modificationTimeSeconds)Sets the modification time (MTIME) of the compressed file, in seconds since 00:00:00 GMT, Jan.voidsetOperatingSystem(int operatingSystem)Sets the operating system on which the compression took place.voidsetOS(GzipParameters.OS os)Sets the operating system on which the compression took place.java.lang.StringtoString()
-
-
-
Constructor Detail
-
GzipParameters
public GzipParameters()
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
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_STRATEGYby 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.UsegetFileName().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
-
getHeaderCRC
public boolean getHeaderCRC()
Returns if the header CRC is to be added (when writing) or was present (when reading).- Returns:
- true is header CRC will be added (on write) or was found (after read).
- 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
-
getTrailerCrc
public long getTrailerCrc()
Gets the trailer CRC value.- Returns:
- the trailer CRC value.
- Since:
- 1.28.0
-
getTrailerISize
public long getTrailerISize()
Gets the trailer ISIZE value.- Returns:
- the trailer ISIZE value.
- Since:
- 1.28.0
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
setBufferSize
public void setBufferSize(int bufferSize)
Sets size of the buffer used to retrieve compressed data fromDeflaterand write to underlyingOutputStream.- 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
@Deprecated public void setFilename(java.lang.String fileName)
Deprecated.UsesetFileName(String).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.
-
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.
-
setFileNameCharset
public void setFileNameCharset(java.nio.charset.Charset charset)
Sets the Charset to use for writing file names and comments, where null maps toGzipUtils.GZIP_ENCODING.Setting a value other than
GzipUtils.GZIP_ENCODINGis not compliant with the RFC 1952 GZIP File Format Specification. Use at your own risk of interoperability issues.The default value is
GzipUtils.GZIP_ENCODING.- Parameters:
charset- the Charset to use for writing file names and comments, null maps toGzipUtils.GZIP_ENCODING.- Since:
- 1.28.0
-
setHeaderCRC
public void setHeaderCRC(boolean headerCRC)
Establishes the presence of the header flag FLG.FHCRC and its headers CRC16 value.- Parameters:
headerCRC- when true, the header CRC16 (actually low 16 buts of a CRC32) is calculated and inserted in the gzip header on write; on read it means the field was present.- Since:
- 1.28.0
-
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 modificationTimeSeconds)
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:
modificationTimeSeconds- 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
-
setOS
public void setOS(GzipParameters.OS os)
Sets the operating system on which the compression took place.- Parameters:
os- operating system, null maps toGzipParameters.OS.UNKNOWN.- Since:
- 1.28.0
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-