org.apache.tools.zip
Class ExtraFieldUtils

java.lang.Object
  extended by org.apache.tools.zip.ExtraFieldUtils

public class ExtraFieldUtils
extends java.lang.Object

ZipExtraField related methods


Constructor Summary
ExtraFieldUtils()
           
 
Method Summary
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 c)
          Register a ZipExtraField implementation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExtraFieldUtils

public ExtraFieldUtils()
Method Detail

register

public static void register(java.lang.Class c)
Register a ZipExtraField implementation.

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

Parameters:
c - the class to register
Since:
1.1

createExtraField

public static ZipExtraField createExtraField(ZipShort headerId)
                                      throws java.lang.InstantiationException,
                                             java.lang.IllegalAccessException
Create an instance of the approriate ExtraField, falls back to UnrecognizedExtraField.

Parameters:
headerId - the header identifier
Returns:
an instance of the appropiate ExtraField
Throws:
java.lang.InstantiationException - if unable to instantiate the class
java.lang.IllegalAccessException - if not allowed to instatiate the class
Since:
1.1

parse

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

Parameters:
data - an array of bytes
Returns:
an array of ExtraFields
Throws:
java.util.zip.ZipException - on error
Since:
1.1

mergeLocalFileDataData

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

Parameters:
data - an array of ExtraFiles
Returns:
an array of bytes
Since:
1.1

mergeCentralDirectoryData

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

Parameters:
data - an array of ExtraFields
Returns:
an array of bytes
Since:
1.1