- java.lang.Object
-
- kala.compress.compressors.gzip.GzipParameters
-
public class GzipParameters extends java.lang.ObjectParameters 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.OSThe OS type.
-
Field Summary
Fields Modifier and Type Field Description private intbufferSizeprivate java.lang.Stringcommentprivate intcompressionLevelprivate intdeflateStrategyprivate ExtraFieldextraFieldprivate java.lang.StringfileNameprivate java.nio.charset.CharsetfileNameCharsetprivate java.time.InstantmodificationTimeThe most recent modification time (MTIME) of the original file being compressed.private GzipParameters.OSoperatingSystemprivate static intOS_ACORN_RISCOS13: Acorn RISCOS.private static intOS_AMIGA1: Amiga.private static intOS_ATARI_TOS5: Atari TOS.private static intOS_CPM9: CP/M.private static intOS_FAT0: FAT.private static intOS_HPFS6: HPFS filesystem (OS/2, NT).private static intOS_MACINTOSH7: Macintosh.private static intOS_NTFS11: NTFS filesystem (NT).private static intOS_QDOS12: QDOS.private static intOS_TOPS_2010: TOPS-20.private static intOS_UNIX3: Unix.private static intOS_UNKNOWN255: unknown.private static intOS_VM_CMS4: VM/CMS.private static intOS_VMS2: VMS (or OpenVMS).private static intOS_Z_SYSTEM8: Z-System.
-
Constructor Summary
Constructors Constructor Description GzipParameters()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description 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.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.private java.lang.StringrequireNonNulByte(java.lang.String text)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)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.voidsetModificationInstant(java.time.Instant modificationTime)Sets the modification time (MTIME) of the compressed file.voidsetModificationTime(long modificationTime)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()
-
-
-
Field Detail
-
OS_FAT
private static final int OS_FAT
0: FAT.- See Also:
- Constant Field Values
-
OS_AMIGA
private static final int OS_AMIGA
1: Amiga.- See Also:
- Constant Field Values
-
OS_VMS
private static final int OS_VMS
2: VMS (or OpenVMS).- See Also:
- Constant Field Values
-
OS_UNIX
private static final int OS_UNIX
3: Unix.- See Also:
- Constant Field Values
-
OS_VM_CMS
private static final int OS_VM_CMS
4: VM/CMS.- See Also:
- Constant Field Values
-
OS_ATARI_TOS
private static final int OS_ATARI_TOS
5: Atari TOS.- See Also:
- Constant Field Values
-
OS_HPFS
private static final int OS_HPFS
6: HPFS filesystem (OS/2, NT).- See Also:
- Constant Field Values
-
OS_MACINTOSH
private static final int OS_MACINTOSH
7: Macintosh.- See Also:
- Constant Field Values
-
OS_Z_SYSTEM
private static final int OS_Z_SYSTEM
8: Z-System.- See Also:
- Constant Field Values
-
OS_CPM
private static final int OS_CPM
9: CP/M.- See Also:
- Constant Field Values
-
OS_TOPS_20
private static final int OS_TOPS_20
10: TOPS-20.- See Also:
- Constant Field Values
-
OS_NTFS
private static final int OS_NTFS
11: NTFS filesystem (NT).- See Also:
- Constant Field Values
-
OS_QDOS
private static final int OS_QDOS
12: QDOS.- See Also:
- Constant Field Values
-
OS_ACORN_RISCOS
private static final int OS_ACORN_RISCOS
13: Acorn RISCOS.- See Also:
- Constant Field Values
-
OS_UNKNOWN
private static final int OS_UNKNOWN
255: unknown.- 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.
-
extraField
private ExtraField extraField
-
fileName
private java.lang.String fileName
-
fileNameCharset
private java.nio.charset.Charset fileNameCharset
-
comment
private java.lang.String comment
-
operatingSystem
private GzipParameters.OS operatingSystem
-
bufferSize
private int bufferSize
-
deflateStrategy
private int deflateStrategy
-
-
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_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
-
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 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
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
-
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
-
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
-
-