Package org.apache.tools.zip

# Class UnparseableExtraFieldData

java.lang.Object
org.apache.tools.zip.UnparseableExtraFieldData

All Implemented Interfaces:
  `CentralDirectoryParsingZipExtraField`, `ZipExtraField`

public final class UnparseableExtraFieldData extends Object implements CentralDirectoryParsingZipExtraField
Wrapper for extra field data that doesn't conform to the recommended format of header-tag + size + data.

The header-id is artificial (and not listed as a known ID in APPNOTE.TXT). Since it isn't used anywhere except to satisfy the ZipExtraField contract it shouldn't matter anyway.

Since:
  Ant 1.8.1

## Constructor Summary

Constructors
Constructor
Description
`UnparseableExtraFieldData()`

## Method Summary

Modifier and Type
Method
Description
`byte[]`
`getCentralDirectoryData()`
The actual data to put into central directory.
`ZipShort`
`getCentralDirectoryLength()`
Length of the complete extra field in the central directory.
`ZipShort`
`getHeaderId()`
The Header-ID.
`byte[]`
`getLocalFileDataData()`
The actual data to put into local file data.
`ZipShort`
`getLocalFileDataLength()`
Length of the complete extra field in the local file data.
`void`
`parseFromCentralDirectoryData(byte[] buffer, int offset, int length)`
Populate data from this array as if it was in central directory data.
`void`
`parseFromLocalFileData(byte[] buffer, int offset, int length)`
Populate data from this array as if it was in local file data.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### UnparseableExtraFieldData

public UnparseableExtraFieldData()

## Method Details

### getHeaderId

public ZipShort getHeaderId()
The Header-ID.

Specified by:
  `getHeaderId` in interface `ZipExtraField`
Returns:
  a completely arbitrary value that should be ignored.

### getLocalFileDataLength

public ZipShort getLocalFileDataLength()
Length of the complete extra field in the local file data.

Specified by:
  `getLocalFileDataLength` in interface `ZipExtraField`
Returns:
  The LocalFileDataLength value

### getCentralDirectoryLength

public ZipShort getCentralDirectoryLength()
Length of the complete extra field in the central directory.

Specified by:
  `getCentralDirectoryLength` in interface `ZipExtraField`
Returns:
  The CentralDirectoryLength value

### getLocalFileDataData

public byte[] getLocalFileDataData()
The actual data to put into local file data.

Specified by:
  `getLocalFileDataData` in interface `ZipExtraField`
Returns:
  The LocalFileDataData value

### getCentralDirectoryData

public byte[] getCentralDirectoryData()
The actual data to put into central directory.

Specified by:
  `getCentralDirectoryData` in interface `ZipExtraField`
Returns:
  The CentralDirectoryData value

### parseFromLocalFileData

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

Specified by:
  `parseFromLocalFileData` in interface `ZipExtraField`
Parameters:
  `buffer` - the buffer to read data from
  `offset` - offset into buffer to read data
  `length` - the length of data

### parseFromCentralDirectoryData

public void parseFromCentralDirectoryData(byte[] buffer, int offset, int length)
Populate data from this array as if it was in central directory data.

Specified by:
  `parseFromCentralDirectoryData` in interface `CentralDirectoryParsingZipExtraField`
Parameters:
  `buffer` - the buffer to read data from
  `offset` - offset into buffer to read data
  `length` - the length of data