public class ExtraFieldUtils
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private static java.util.Hashtable |
c_implementations
Static registry of known extra fields.
|
| Constructor and Description |
|---|
ExtraFieldUtils() |
| Modifier and Type | Method and Description |
|---|---|
static ZipExtraField |
createExtraField(ZipShort headerID)
Create an instance of the approriate 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 give data.
|
static void |
register(java.lang.Class clazz)
Register a ZipExtraField implementation.
|
private static final java.util.Hashtable c_implementations
public static ZipExtraField createExtraField(ZipShort headerID) throws java.lang.InstantiationException, java.lang.IllegalAccessException
UnrecognizedExtraField.
Throws java.lang.IllegalAccessException if cant create implementation.headerID - the header IDjava.lang.InstantiationException - if cant create implementationjava.lang.IllegalAccessException - if cant create implementationpublic static byte[] mergeCentralDirectoryData(ZipExtraField[] data)
data - the central directory datapublic static byte[] mergeLocalFileDataData(ZipExtraField[] data)
data - the datapublic static ZipExtraField[] parse(byte[] data) throws java.util.zip.ZipException
data - the data to parsejava.util.zip.ZipException - on errorpublic static void register(java.lang.Class clazz)
The given class must have a no-arg constructor and implement the ZipExtraField interface.
clazz - The Class for particular implementation