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.

  • Field Details

    • headerId

      private ZipShort headerId
      The Header-ID.
    • localData

      private byte[] localData
      Extra field data in local file data - without Header-ID or length specifier.
    • centralData

      private byte[] centralData
      Extra field data in central directory - without Header-ID or length specifier.
  • 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:
    • 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:
    • 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