Package org.apache.tools.zip
Class ExtraFieldUtils
- java.lang.Object
-
- org.apache.tools.zip.ExtraFieldUtils
-
public class ExtraFieldUtils extends java.lang.ObjectZipExtraField related methods
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classExtraFieldUtils.UnparseableExtraField"enum" for the possible actions to take if the extra field cannot be parsed.
-
Constructor Summary
Constructors Constructor Description ExtraFieldUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ZipExtraFieldcreateExtraField(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 voidregister(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.IllegalAccessException
Create 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.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:
java.util.zip.ZipException- on error
-
parse
public static ZipExtraField[] parse(byte[] data, boolean local) throws java.util.zip.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 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.ZipException
Split 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
-
-