Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

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

    public class ExtraFieldUtils

extends Object

ZipExtraField related methods

This class is not thread-safe
  because the HashMap is not synch.

Nested Class Summary
`static class` | `ExtraFieldUtils.UnparseableExtraField` "enum" for the possible actions to take if the extra field cannot be parsed.

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, 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.UnparseableExtraField onUnparseableData)` 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, throwing an exception if the data cannot be parsed.

  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, throwing an exception if the data cannot be parsed.

  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

### parse

    public static ZipExtraField[] parse(byte[] data,
                                        boolean local,
                                        ExtraFieldUtils.UnparseableExtraField onUnparseableData)
                                 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
    `onUnparseableData` - what to do if the extra field data cannot be parsed.
  Returns:
    an array of ExtraFields
  Throws:
    `ZipException` - on error
  Since:
    Apache Commons Compress 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

### 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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2011 The Apache Software Foundation. All Rights Reserved.