Class AbstractUnicodeExtraField
java.lang.Object
org.apache.commons.compress.archivers.zip.AbstractUnicodeExtraField
- All Implemented Interfaces:
ZipExtraField
- Direct Known Subclasses:
UnicodeCommentExtraField
,UnicodePathExtraField
A common base class for Unicode extra information extra fields.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate byte[]
private long
private byte[]
Fields inherited from interface org.apache.commons.compress.archivers.zip.ZipExtraField
EXTRAFIELD_HEADER_SIZE
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
protected
AbstractUnicodeExtraField
(String text, byte[] bytes) Assemble as unicode extension from the name/comment and encoding of the original zip entry.protected
AbstractUnicodeExtraField
(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 TypeMethodDescriptionprivate void
byte[]
The actual data to put into central directory - without Header-ID or length specifier.Length of the extra field in the central directory - without Header-ID or length specifier.byte[]
The actual data to put into local file data - without Header-ID or length specifier.Length of the extra field in the local file data - without Header-ID or length specifier.long
byte[]
void
parseFromCentralDirectoryData
(byte[] buffer, int offset, int length) Doesn't do anything special since this class always uses the same data in central directory and local file data.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) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.commons.compress.archivers.zip.ZipExtraField
getHeaderId
-
Field Details
-
nameCRC32
private long nameCRC32 -
unicodeName
private byte[] unicodeName -
data
private byte[] data
-
-
Constructor Details
-
AbstractUnicodeExtraField
protected AbstractUnicodeExtraField() -
AbstractUnicodeExtraField
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 file name or comment in the zip file.off
- The offset of the encoded file name or comment inbytes
.len
- The length of the encoded file name or comment inbytes
.
-
AbstractUnicodeExtraField
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 file name or comment in the zip file.
-
-
Method Details
-
assembleData
private void assembleData() -
getNameCRC32
public long getNameCRC32()- Returns:
- The CRC32 checksum of the file name 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 file name 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()Description copied from interface:ZipExtraField
The actual data to put into central directory - without Header-ID or length specifier.- Specified by:
getCentralDirectoryData
in interfaceZipExtraField
- Returns:
- the data
-
getCentralDirectoryLength
Description copied from interface:ZipExtraField
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()Description copied from interface:ZipExtraField
The actual data to put into local file data - without Header-ID or length specifier.- Specified by:
getLocalFileDataData
in interfaceZipExtraField
- Returns:
- the data
-
getLocalFileDataLength
Description copied from interface:ZipExtraField
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
Description copied from interface:ZipExtraField
Populate data from this array as if it was in local file data.- Specified by:
parseFromLocalFileData
in interfaceZipExtraField
- Parameters:
buffer
- the buffer to read data fromoffset
- offset into buffer to read datalength
- the length of data- Throws:
ZipException
- on error
-
parseFromCentralDirectoryData
public void parseFromCentralDirectoryData(byte[] buffer, int offset, int length) throws ZipException Doesn't do anything special since this class always uses the same data in central directory and local file data.- Specified by:
parseFromCentralDirectoryData
in interfaceZipExtraField
- Parameters:
buffer
- the buffer to read data fromoffset
- offset into buffer to read datalength
- the length of data- Throws:
ZipException
- on error
-