Class ExtraFieldUtils


  • public class ExtraFieldUtils
    extends java.lang.Object
    ZipExtraField related methods
    • Constructor Detail

      • ExtraFieldUtils

        public ExtraFieldUtils()
    • Method Detail

      • register

        public static void register​(java.lang.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 java.lang.InstantiationException,
                                                     java.lang.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:
        java.lang.InstantiationException - if unable to instantiate the class
        java.lang.IllegalAccessException - if not allowed to instantiate the class
        Since:
        1.1
      • parse

        public static ZipExtraField[] parse​(byte[] data)
                                     throws java.util.zip.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:
        java.util.zip.ZipException - on error
      • parse

        public static ZipExtraField[] parse​(byte[] data,
                                            boolean local)
                                     throws java.util.zip.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:
        java.util.zip.ZipException - on error
        Since:
        1.1
      • parse

        public static ZipExtraField[] parse​(byte[] data,
                                            boolean local,
                                            ExtraFieldUtils.UnparseableExtraField onUnparseableData)
                                     throws java.util.zip.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:
        java.util.zip.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