public class ExtraFieldUtils extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
ExtraFieldUtils
"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
Create an instance of the appropriate ExtraField, falls back to
UnrecognizedExtraField.
|
static byte[] |
mergeCentralDirectoryData(ZipExtraField
Merges the central directory fields of the given ZipExtraFields.
|
static byte[] |
mergeLocalFileDataData(ZipExtraField
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
Split the array into ExtraFields and populate them with the given data.
|
static void |
register(Class
Register a ZipExtraField implementation.
|
public static void register(Class<?> c)
The given class must have a no-arg constructor and implement the ZipExtraField interface.
c - the class to register
public static ZipExtraFieldcreateExtraField(ZipShort headerId) throws InstantiationException , IllegalAccessException
UnrecognizedExtraField.
headerId - the header identifier
InstantiationException - if unable to instantiate the class
IllegalAccessException - if not allowed to instantiate the class
public static ZipExtraField[] parse(byte[] data) throws ZipException
data - an array of bytes as it appears in local file data
ZipException - on error
public static ZipExtraField[] parse(byte[] data, boolean local) throws ZipException
data - an array of bytes
local - whether data originates from the local file data or the central directory
ZipException - on error
public static ZipExtraField[] parse(byte[] data, boolean local, ExtraFieldUtils .UnparseableExtraField onUnparseableData) throws ZipException
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.
ZipException - on error
public static byte[] mergeLocalFileDataData(ZipExtraField[] data)
data - an array of ExtraFiles
public static byte[] mergeCentralDirectoryData(ZipExtraField[] data)
data - an array of ExtraFields