Package org.zeroturnaround.zip.extra
Class ExtraFieldUtils
- java.lang.Object
-
- org.zeroturnaround.zip.extra.ExtraFieldUtils
-
public class ExtraFieldUtils extends java.lang.Object
This is a class that has been made significantly smaller (deleted a bunch of methods) and originally is from the Apache Ant Project (http://ant.apache.org), org.apache.tools.zip package. All license and other documentation is intact. ZipExtraField related methods
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Map<ZipShort,java.lang.Class<?>>
implementations
Static registry of known extra fields.private static int
WORD
-
Constructor Summary
Constructors Constructor Description ExtraFieldUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ZipExtraField
createExtraField(ZipShort headerId)
Create an instance of the appropriate ExtraField, falls back toUnrecognizedExtraField
.static byte[]
mergeLocalFileDataData(java.util.List<ZipExtraField> data)
Merges the local file data fields of the given ZipExtraFields.static java.util.List<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[]
parseA(byte[] data)
static void
register(java.lang.Class<?> c)
Register a ZipExtraField implementation.
-
-
-
Field Detail
-
WORD
private static final int WORD
- See Also:
- Constant Field Values
-
implementations
private static final java.util.Map<ZipShort,java.lang.Class<?>> implementations
Static registry of known extra fields.- Since:
- 1.1
-
-
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
-
parseA
public static ZipExtraField[] parseA(byte[] data) throws java.util.zip.ZipException
- Throws:
java.util.zip.ZipException
-
parse
public static java.util.List<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
-
mergeLocalFileDataData
public static byte[] mergeLocalFileDataData(java.util.List<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
-
-