public class ExtraFieldUtils
extends java.lang.Object
Modifier and Type | Field | Description |
---|---|---|
private static java.util.Hashtable |
c_implementations |
Static registry of known extra fields.
|
Constructor | Description |
---|---|
ExtraFieldUtils() |
Modifier and Type | Method | 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