org.apache.commons.compress.archivers.zip

Class ExtraFieldUtils

public class ExtraFieldUtils extends Object

ZipExtraField related methods

Version: $Revision: 155439 $

Author: Stefan Bodewig

Field Summary
static Hashtablec_implementations
Static registry of known extra fields.
Method Summary
static ZipExtraFieldcreateExtraField(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 voidregister(Class clazz)
Register a ZipExtraField implementation.

Field Detail

c_implementations

private static final Hashtable c_implementations
Static registry of known extra fields.

Since: 1.1

Method Detail

createExtraField

public static ZipExtraField createExtraField(ZipShort headerID)
Create an instance of the approriate ExtraField, falls back to UnrecognizedExtraField. Throws java.lang.IllegalAccessException if cant create implementation.

Parameters: headerID the header ID

Returns: the extra field implementation

Throws: InstantiationException if cant create implementation IllegalAccessException if cant create implementation

Since: 1.1

mergeCentralDirectoryData

public static byte[] mergeCentralDirectoryData(ZipExtraField[] data)
Merges the central directory fields of the given ZipExtraFields.

Parameters: data the central directory data

Returns: the merged data

Since: 1.1

mergeLocalFileDataData

public static byte[] mergeLocalFileDataData(ZipExtraField[] data)
Merges the local file data fields of the given ZipExtraFields.

Parameters: data the data

Returns: the merged data

Since: 1.1

parse

public static ZipExtraField[] parse(byte[] data)
Split the array into ExtraFields and populate them with the give data.

Parameters: data the data to parse

Returns: the parsed fields

Throws: ZipException on error

Since: 1.1

register

public static void register(Class clazz)
Register a ZipExtraField implementation.

The given class must have a no-arg constructor and implement the ZipExtraField interface.

Parameters: clazz The Class for particular implementation

Since: 1.1