Class ExtraFieldUtils


  • public class ExtraFieldUtils
    extends Object
    ZipExtraField related methods
    • Constructor Detail

      • ExtraFieldUtils

        public ExtraFieldUtils()
    • Method Detail

      • 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
      • 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
      • 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:
        1.1
      • parse

        public static ZipExtraField[] parse​(byte[] data,
                                            boolean local,
                                            ExtraFieldParsingBehavior parsingBehavior)
                                     throws ZipException
        Split the array into ExtraFields and populate them with the given data.
        Parameters:
        data - an array of bytes
        parsingBehavior - controls parsing of extra fields.
        local - whether data originates from the local file data or the central directory
        Returns:
        an array of ExtraFields
        Throws:
        ZipException - on error
        Since:
        1.19
      • 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
      • 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