Class ExtraFieldUtils

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

public class ExtraFieldUtils extends Object
ZipExtraField related methods
  • Constructor Details

    • ExtraFieldUtils

      public ExtraFieldUtils()
  • Method Details

    • register

      public static void register(Class<?> c)
      Register a ZipExtraField implementation.

      The given class must have a no-arg constructor and implement the ZipExtraField interface.

      Parameters:
      c - the class to register
      Since:
      1.1
    • createExtraField

      public static ZipExtraField createExtraField(ZipShort headerId) throws InstantiationException, IllegalAccessException
      Create an instance of the appropriate ExtraField, falls back to UnrecognizedExtraField.
      Parameters:
      headerId - the header identifier
      Returns:
      an instance of the appropriate ExtraField
      Throws:
      InstantiationException - if unable to instantiate the class
      IllegalAccessException - if not allowed to instantiate the class
      Since:
      1.1
    • parse

      public static ZipExtraField[] parse(byte[] data) throws ZipException
      Split the array into ExtraFields and populate them with the given data as local file data, throwing an exception if the data cannot be parsed.
      Parameters:
      data - an array of bytes as it appears in local file data
      Returns:
      an array of ExtraFields
      Throws:
      ZipException - on error
    • parse

      public static ZipExtraField[] parse(byte[] data, boolean local) throws ZipException
      Split the array into ExtraFields and populate them with the given data, throwing an exception if the data cannot be parsed.
      Parameters:
      data - an array of bytes
      local - whether data originates from the local file data or the central directory
      Returns:
      an array of ExtraFields
      Throws:
      ZipException - on error
      Since:
      1.1
    • parse

      public static ZipExtraField[] parse(byte[] data, boolean local, ExtraFieldUtils.UnparseableExtraField onUnparseableData) throws ZipException
      Split the array into ExtraFields and populate them with the given data.
      Parameters:
      data - an array of bytes
      local - whether data originates from the local file data or the central directory
      onUnparseableData - what to do if the extra field data cannot be parsed.
      Returns:
      an array of ExtraFields
      Throws:
      ZipException - on error
      Since:
      Ant 1.8.1
    • mergeLocalFileDataData

      public static byte[] mergeLocalFileDataData(ZipExtraField[] data)
      Merges the local file data fields of the given ZipExtraFields.
      Parameters:
      data - an array of ExtraFiles
      Returns:
      an array of bytes
      Since:
      1.1
    • mergeCentralDirectoryData

      public static byte[] mergeCentralDirectoryData(ZipExtraField[] data)
      Merges the central directory fields of the given ZipExtraFields.
      Parameters:
      data - an array of ExtraFields
      Returns:
      an array of bytes
      Since:
      1.1