Package org.apache.tools.zip
Class ExtraFieldUtils
java.lang.Object
org.apache.tools.zip.ExtraFieldUtils
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic final class"enum" for the possible actions to take if the extra field cannot be parsed.
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic ZipExtraFieldcreateExtraField(ZipShort headerId) Create an instance of the appropriate ExtraField, falls back toUnrecognizedExtraField.static byte[]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 a ZipExtraField implementation.
- 
Constructor Details- 
ExtraFieldUtilspublic ExtraFieldUtils()
 
- 
- 
Method Details- 
registerRegister 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
 
- 
createExtraFieldpublic static ZipExtraField createExtraField(ZipShort headerId) throws InstantiationException, IllegalAccessException Create an instance of the appropriate ExtraField, falls back toUnrecognizedExtraField.- Parameters:
- headerId- the header identifier
- Returns:
- an instance of the appropriate ExtraField
- Throws:
- InstantiationException- if unable to instantiate the class
- IllegalAccessException- if not allowed to instantiate the class
- Since:
- 1.1
 
- 
parseSplit 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
 
- 
parseSplit 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
- Since:
- 1.1
 
- 
parsepublic 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:
- Ant 1.8.1
 
- 
mergeLocalFileDataDataMerges the local file data fields of the given ZipExtraFields.- Parameters:
- data- an array of ExtraFiles
- Returns:
- an array of bytes
- Since:
- 1.1
 
- 
mergeCentralDirectoryDataMerges the central directory fields of the given ZipExtraFields.- Parameters:
- data- an array of ExtraFields
- Returns:
- an array of bytes
- Since:
- 1.1
 
 
-