public class ExtraFieldUtils
extends java.lang.Object
| Modifier and Type | Class and Description | 
|---|---|
| static class  | ExtraFieldUtils.UnparseableExtraField"enum" for the possible actions to take if the extra field
 cannot be parsed. | 
| Constructor and Description | 
|---|
| ExtraFieldUtils() | 
| Modifier and Type | Method and Description | 
|---|---|
| static ZipExtraField | createExtraField(ZipShort headerId)Create an instance of the appropriate ExtraField, falls back to
  UnrecognizedExtraField. | 
| static byte[] | mergeCentralDirectoryData(ZipExtraField[] data)Merges the central directory fields of the given ZipExtraFields. | 
| static byte[] | mergeLocalFileDataData(ZipExtraField[] data)Merges the local file data fields of the given ZipExtraFields. | 
| static ZipExtraField[] | parse(byte[] data)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. | 
| static ZipExtraField[] | parse(byte[] data,
     boolean local)Split the array into ExtraFields and populate them with the
 given data, throwing an exception if the data cannot be parsed. | 
| static ZipExtraField[] | parse(byte[] data,
     boolean local,
     ExtraFieldUtils.UnparseableExtraField onUnparseableData)Split the array into ExtraFields and populate them with the
 given data. | 
| static void | register(java.lang.Class<?> c)Register a ZipExtraField implementation. | 
public static void register(java.lang.Class<?> c)
The given class must have a no-arg constructor and implement
 the ZipExtraField interface.
c - the class to registerpublic static ZipExtraField createExtraField(ZipShort headerId) throws java.lang.InstantiationException, java.lang.IllegalAccessException
UnrecognizedExtraField.headerId - the header identifierjava.lang.InstantiationException - if unable to instantiate the classjava.lang.IllegalAccessException - if not allowed to instantiate the classpublic static ZipExtraField[] parse(byte[] data) throws java.util.zip.ZipException
data - an array of bytes as it appears in local file datajava.util.zip.ZipException - on errorpublic static ZipExtraField[] parse(byte[] data, boolean local) throws java.util.zip.ZipException
data - an array of byteslocal - whether data originates from the local file data
 or the central directoryjava.util.zip.ZipException - on errorpublic static ZipExtraField[] parse(byte[] data, boolean local, ExtraFieldUtils.UnparseableExtraField onUnparseableData) throws java.util.zip.ZipException
data - an array of byteslocal - whether data originates from the local file data
 or the central directoryonUnparseableData - what to do if the extra field data
 cannot be parsed.java.util.zip.ZipException - on errorpublic static byte[] mergeLocalFileDataData(ZipExtraField[] data)
data - an array of ExtraFilespublic static byte[] mergeCentralDirectoryData(ZipExtraField[] data)
data - an array of ExtraFields