Package org.apache.commons.compress.archivers.zip

# Class UnrecognizedExtraField

java.lang.Object
org.apache.commons.compress.archivers.zip.UnrecognizedExtraField

All Implemented Interfaces:
  `ZipExtraField`

public class UnrecognizedExtraField extends 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.

This class is not thread-safe

- ## Field Summary

  ### Fields inherited from interface org.apache.commons.compress.archivers.zip.ZipExtraField

  `EXTRAFIELD_HEADER_SIZE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `UnrecognizedExtraField()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `byte[]`
  `getCentralDirectoryData()`
  Gets the central data.
  `ZipShort`
  `getCentralDirectoryLength()`
  Gets the central data length.
  `ZipShort`
  `getHeaderId()`
  Gets the header id.
  `byte[]`
  `getLocalFileDataData()`
  Gets the local data.
  `ZipShort`
  `getLocalFileDataLength()`
  Gets the length of the local data.
  `void`
  `parseFromCentralDirectoryData(byte[] data, int offset, int length)`
  Populate data from this array as if it was in central directory 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)`
  Sets the extra field data in central directory.
  `void`
  `setHeaderId(ZipShort headerId)`
  Sets the header id.
  `void`
  `setLocalFileDataData(byte[] data)`
  Sets 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 Details

  - ### UnrecognizedExtraField

    public UnrecognizedExtraField()

- ## Method Details

  - ### getCentralDirectoryData

    public byte[] getCentralDirectoryData()
    Gets 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()
    Gets 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()
    Gets the header id.
    Specified by:
      `getHeaderId` in interface `ZipExtraField`
    Returns:
      the header id

  - ### getLocalFileDataData

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

  - ### getLocalFileDataLength

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

  - ### parseFromCentralDirectoryData

    public void parseFromCentralDirectoryData(byte[] data, int offset, int length)
    Description copied from interface: `ZipExtraField`
    Populate data from this array as if it was in central directory data.
    Specified by:
      `parseFromCentralDirectoryData` 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.parseFromCentralDirectoryData(byte[], int, int)`

  - ### 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)`

  - ### setCentralDirectoryData

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

  - ### setHeaderId

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

  - ### setLocalFileDataData

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