Class ExtraFieldUtils

java.lang.Object
org.zeroturnaround.zip.extra.ExtraFieldUtils

public class ExtraFieldUtils extends Object
This is a class that has been made significantly smaller (deleted a bunch of methods) and originally is from the Apache Ant Project (http://ant.apache.org), org.apache.tools.zip package. All license and other documentation is intact. ZipExtraField related methods
  • Field Details

    • WORD

      private static final int WORD
      See Also:
    • implementations

      private static final Map<ZipShort,Class<?>> implementations
      Static registry of known extra fields.
      Since:
      1.1
  • 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
    • parseA

      public static ZipExtraField[] parseA(byte[] data) throws ZipException
      Throws:
      ZipException
    • parse

      public static List<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
    • mergeLocalFileDataData

      public static byte[] mergeLocalFileDataData(List<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