org.apache.tools.zip

## Class UnrecognizedExtraField

- java.lang.Object
- - org.apache.tools.zip.UnrecognizedExtraField

- All Implemented Interfaces:
    CentralDirectoryParsingZipExtraField, ZipExtraField

      public class UnrecognizedExtraField
      extends java.lang.Object
      implements CentralDirectoryParsingZipExtraField

  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

    Constructors
    Constructor and Description
    `UnrecognizedExtraField()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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` | `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)` 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)`

    - #### parseFromCentralDirectoryData

          public void parseFromCentralDirectoryData(byte[] data,
                                           int offset,
                                           int length)

      Description copied from interface: `CentralDirectoryParsingZipExtraField`
      Populate data from this array as if it was in central directory data.
      Specified by:
        `parseFromCentralDirectoryData` in interface `CentralDirectoryParsingZipExtraField`
      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.