org.apache.tools.zipClass ExtraFieldUtils
- java.lang.Object
- org.apache.tools.zip.ExtraFieldUtils
public class ExtraFieldUtils extends java.lang.Object
ZipExtraField related methods
Nested Class Summary
Nested Classes Modifier and Type Class and Description static class
ExtraFieldUtils.UnparseableExtraField
"enum" for the possible actions to take if the extra field cannot be parsed.
Constructor Summary
Constructors Constructor and Description ExtraFieldUtils()
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static ZipExtraField
createExtraField(ZipShort headerId)
Create an instance of the appropriate ExtraField, falls back toUnrecognizedExtraField
.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(java.lang.Class<?> c)
Register a ZipExtraField implementation.
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.IllegalAccessExceptionCreate an instance of the appropriate ExtraField, falls back toUnrecognizedExtraField
.
- Parameters:
headerId
- the header identifier- Returns:
- an instance of the appropriate ExtraField
- Throws:
java.lang.InstantiationException
- if unable to instantiate the classjava.lang.IllegalAccessException
- if not allowed to instantiate the class- Since:
- 1.1
parse
public static ZipExtraField[] parse(byte[] data) throws java.util.zip.ZipExceptionSplit 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:
java.util.zip.ZipException
- on error
parse
public static ZipExtraField[] parse(byte[] data, boolean local) throws java.util.zip.ZipExceptionSplit 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 byteslocal
- whether data originates from the local file data or the central directory- Returns:
- an array of ExtraFields
- Throws:
java.util.zip.ZipException
- on error- Since:
- 1.1
parse
public static ZipExtraField[] parse(byte[] data, boolean local, ExtraFieldUtils.UnparseableExtraField onUnparseableData) throws java.util.zip.ZipExceptionSplit the array into ExtraFields and populate them with the given data.
- Parameters:
data
- an array of byteslocal
- whether data originates from the local file data or the central directoryonUnparseableData
- what to do if the extra field data cannot be parsed.- Returns:
- an array of ExtraFields
- Throws:
java.util.zip.ZipException
- on error- Since:
- Ant 1.8.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