org.apache.tools.zip
Class UnrecognizedExtraField

java.lang.Object
  extended by org.apache.tools.zip.UnrecognizedExtraField
All 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.


Constructor Summary
UnrecognizedExtraField()
           
 
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)
          Populate data from this array as if it was in local file data.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UnrecognizedExtraField

public UnrecognizedExtraField()
Method Detail

setHeaderId

public void setHeaderId(ZipShort headerId)
Set the header id.

Parameters:
headerId - the header id to use

getHeaderId

public ZipShort getHeaderId()
Get the header id.

Specified by:
getHeaderId in interface ZipExtraField
Returns:
the header id

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

getLocalFileDataLength

public ZipShort getLocalFileDataLength()
Get the length of the local data.

Specified by:
getLocalFileDataLength in interface ZipExtraField
Returns:
the length of the local data

getLocalFileDataData

public byte[] getLocalFileDataData()
Get the local data.

Specified by:
getLocalFileDataData in interface ZipExtraField
Returns:
the local data

setCentralDirectoryData

public void setCentralDirectoryData(byte[] data)
Set the extra field data in central directory.

Parameters:
data - the data to use

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

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

parseFromLocalFileData

public void parseFromLocalFileData(byte[] data,
                                   int offset,
                                   int length)
Description copied from interface: ZipExtraField
Populate data from this array as if it was in local file data.

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.
See Also:
ZipExtraField.parseFromLocalFileData(byte[], int, int)