Package 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 | Description
    --- | ---
    `UnrecognizedExtraField()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | 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.