org.apache.commons.compress.archivers.zip
Class ExtraFieldUtils

java.lang.Object
  extended by org.apache.commons.compress.archivers.zip.ExtraFieldUtils

public class ExtraFieldUtils
extends 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 given data as local file data.
static ZipExtraField[] parse(byte[] data, boolean local)
          Split the array into ExtraFields and populate them with the given data.
static void register(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(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

createExtraField

public static ZipExtraField createExtraField(ZipShort headerId)
                                      throws InstantiationException,
                                             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:
InstantiationException - if unable to instantiate the class
IllegalAccessException - if not allowed to instatiate the class

parse

public static ZipExtraField[] parse(byte[] data)
                             throws ZipException
Split the array into ExtraFields and populate them with the given data as local file data.

Parameters:
data - an array of bytes as it appears in local file data
Returns:
an array of ExtraFields
Throws:
ZipException - on error

parse

public static ZipExtraField[] parse(byte[] data,
                                    boolean local)
                             throws ZipException
Split the array into ExtraFields and populate them with the given data.

Parameters:
data - an array of bytes
local - whether data originates from the local file data or the central directory
Returns:
an array of ExtraFields
Throws:
ZipException - on error

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

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


Copyright © 2001-2009 The Apache Software Foundation. All Rights Reserved.