org.apache.tools.zip

Class UnrecognizedExtraField

Implemented Interfaces:
ZipExtraField

public class UnrecognizedExtraField
extends java.lang.Object
implements ZipExtraField

Simple placeholder for all those extra fields we don't want to deal with.

Assumes local file data and central directory entries are identical - unless told the opposite.

Method Summary

byte[]
getCentralDirectoryData()
Get the central data.
ZipShort
getCentralDirectoryLength()
Get the central data length.
ZipShort
getHeaderId()
Get the header id.
byte[]
getLocalFileDataData()
Get the local data.
ZipShort
getLocalFileDataLength()
Get the length of the local data.
void
parseFromLocalFileData(byte[] data, int offset, int length)
void
setCentralDirectoryData(byte[] data)
Set the extra field data in central directory.
void
setHeaderId(ZipShort headerId)
Set the header id.
void
setLocalFileDataData(byte[] data)
Set the extra field data in the local file data - without Header-ID or length specifier.

Method Details

getCentralDirectoryData

public byte[] getCentralDirectoryData()
Get the central data.
Specified by:
getCentralDirectoryData in interface ZipExtraField
Returns:
the central data if present, else return the local file data

getCentralDirectoryLength

public ZipShort getCentralDirectoryLength()
Get the central data length. If there is no central data, get the local file data length.
Specified by:
getCentralDirectoryLength in interface ZipExtraField
Returns:
the central data length

getHeaderId

public ZipShort getHeaderId()
Get the header id.
Specified by:
getHeaderId in interface ZipExtraField
Returns:
the header id

getLocalFileDataData

public byte[] getLocalFileDataData()
Get the local data.
Specified by:
getLocalFileDataData in interface ZipExtraField
Returns:
the local data

getLocalFileDataLength

public ZipShort getLocalFileDataLength()
Get the length of the local data.
Specified by:
getLocalFileDataLength in interface ZipExtraField
Returns:
the length of the local data

parseFromLocalFileData

public void parseFromLocalFileData(byte[] data,
                                   int offset,
                                   int length)
Specified by:
parseFromLocalFileData in interface ZipExtraField
Parameters:
data - the array of bytes.
offset - the source location in the data array.
length - the number of bytes to use in the data array.

setCentralDirectoryData

public void setCentralDirectoryData(byte[] data)
Set the extra field data in central directory.
Parameters:
data - the data to use

setHeaderId

public void setHeaderId(ZipShort headerId)
Set the header id.
Parameters:
headerId - the header id to use

setLocalFileDataData

public void setLocalFileDataData(byte[] data)
Set the extra field data in the local file data - without Header-ID or length specifier.
Parameters:
data - the field data to use