Package org.apache.tools.zip
Class AbstractUnicodeExtraField
java.lang.Object
org.apache.tools.zip.AbstractUnicodeExtraField
- All Implemented Interfaces:
ZipExtraField
- Direct Known Subclasses:
UnicodeCommentExtraField
,UnicodePathExtraField
public abstract class AbstractUnicodeExtraField extends java.lang.Object implements ZipExtraField
A common base class for Unicode extra information extra fields.
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractUnicodeExtraField()
protected
AbstractUnicodeExtraField(java.lang.String text, byte[] bytes)
Assemble as unicode extension from the name/comment and encoding of the original zip entry.protected
AbstractUnicodeExtraField(java.lang.String text, byte[] bytes, int off, int len)
Assemble as unicode extension from the name/comment and encoding of the original zip entry. -
Method Summary
Modifier and Type Method Description byte[]
getCentralDirectoryData()
The actual data to put into central directory - without Header-ID or length specifier.ZipShort
getCentralDirectoryLength()
Length of the extra field in the central directory - without Header-ID or length specifier.byte[]
getLocalFileDataData()
The actual data to put into local file data - without Header-ID or length specifier.ZipShort
getLocalFileDataLength()
Length of the extra field in the local file data - without Header-ID or length specifier.long
getNameCRC32()
byte[]
getUnicodeName()
void
parseFromLocalFileData(byte[] buffer, int offset, int length)
Populate data from this array as if it was in local file data.void
setNameCRC32(long nameCRC32)
void
setUnicodeName(byte[] unicodeName)
-
Constructor Details
-
AbstractUnicodeExtraField
protected AbstractUnicodeExtraField() -
AbstractUnicodeExtraField
protected AbstractUnicodeExtraField(java.lang.String text, byte[] bytes, int off, int len)Assemble as unicode extension from the name/comment and encoding of the original zip entry.- Parameters:
text
- The file name or comment.bytes
- The encoded of the filename or comment in the zip file.off
- The offset of the encoded filename or comment inbytes
.len
- The length of the encoded filename or comment inbytes
.
-
AbstractUnicodeExtraField
protected AbstractUnicodeExtraField(java.lang.String text, byte[] bytes)Assemble as unicode extension from the name/comment and encoding of the original zip entry.- Parameters:
text
- The file name or comment.bytes
- The encoded of the filename or comment in the zip file.
-
-
Method Details
-
getNameCRC32
public long getNameCRC32()- Returns:
- The CRC32 checksum of the filename or comment as encoded in the central directory of the zip file.
-
setNameCRC32
public void setNameCRC32(long nameCRC32)- Parameters:
nameCRC32
- The CRC32 checksum of the filename as encoded in the central directory of the zip file to set.
-
getUnicodeName
public byte[] getUnicodeName()- Returns:
- The utf-8 encoded name.
-
setUnicodeName
public void setUnicodeName(byte[] unicodeName)- Parameters:
unicodeName
- The utf-8 encoded name to set.
-
getCentralDirectoryData
public byte[] getCentralDirectoryData()The actual data to put into central directory - without Header-ID or length specifier.- Specified by:
getCentralDirectoryData
in interfaceZipExtraField
- Returns:
- the data
-
getCentralDirectoryLength
Length of the extra field in the central directory - without Header-ID or length specifier.- Specified by:
getCentralDirectoryLength
in interfaceZipExtraField
- Returns:
- the length of the field in the central directory
-
getLocalFileDataData
public byte[] getLocalFileDataData()The actual data to put into local file data - without Header-ID or length specifier.- Specified by:
getLocalFileDataData
in interfaceZipExtraField
- Returns:
- the data
-
getLocalFileDataLength
Length of the extra field in the local file data - without Header-ID or length specifier.- Specified by:
getLocalFileDataLength
in interfaceZipExtraField
- Returns:
- the length of the field in the local file data
-
parseFromLocalFileData
public void parseFromLocalFileData(byte[] buffer, int offset, int length) throws java.util.zip.ZipExceptionPopulate data from this array as if it was in local file data.- Specified by:
parseFromLocalFileData
in interfaceZipExtraField
- Parameters:
buffer
- an array of bytesoffset
- the start offsetlength
- the number of bytes in the array from offset- Throws:
java.util.zip.ZipException
- on error
-