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