org.apache.tools.zip
public class ZipEntry extends ZipEntry implements Cloneable
The extra data is expected to follow the recommendation of
http://www.pkware.com/documents/casestudies/APPNOTE.TXT
APPNOTE.txt
:
Any extra data that cannot be parsed by the rules above will be consumed as "unparseable" extra data and treated differently by the methods of this class. Versions prior to Apache Commons Compress 1.1 would have thrown an exception if any attempt was made to read or write extra data not conforming to the recommendation.
Field Summary | |
---|---|
static int | PLATFORM_FAT |
static int | PLATFORM_UNIX |
Constructor Summary | |
---|---|
ZipEntry(String name)
Creates a new zip entry with the specified name. | |
ZipEntry(ZipEntry entry)
Creates a new zip entry with fields taken from the specified zip entry. | |
ZipEntry(ZipEntry entry)
Creates a new zip entry with fields taken from the specified zip entry. | |
protected | ZipEntry() |
Method Summary | |
---|---|
void | addAsFirstExtraField(ZipExtraField ze)
Adds an extra field - replacing an already present extra field
of the same type.
|
void | addExtraField(ZipExtraField ze)
Adds an extra field - replacing an already present extra field
of the same type.
|
Object | clone()
Overwrite clone. |
boolean | equals(Object o)
The equality method. |
byte[] | getCentralDirectoryExtra()
Retrieves the extra data for the central directory. |
long | getExternalAttributes()
Retrieves the external file attributes. |
ZipExtraField | getExtraField(ZipShort type)
Looks up an extra field by its header id.
|
ZipExtraField[] | getExtraFields()
Retrieves all extra fields that have been parsed successfully. |
ZipExtraField[] | getExtraFields(boolean includeUnparseable)
Retrieves extra fields. |
int | getInternalAttributes()
Retrieves the internal file attributes.
|
byte[] | getLocalFileDataExtra()
Retrieves the extra data for the local file data. |
String | getName()
Get the name of the entry. |
int | getPlatform()
Platform specification to put into the "version made
by" part of the central file header.
|
int | getUnixMode()
Unix permission. |
UnparseableExtraFieldData | getUnparseableExtraFieldData()
Looks up extra field data that couldn't be parsed correctly.
|
int | hashCode()
Get the hashCode of the entry.
|
boolean | isDirectory()
Is this entry a directory? |
void | removeExtraField(ZipShort type)
Remove an extra field. |
void | removeUnparseableExtraFieldData()
Removes unparseable extra field data. |
void | setCentralDirectoryExtra(byte[] b)
Sets the central directory part of extra fields. |
void | setComprSize(long size)
Make this class work in JDK 1.1 like a 1.2 class.
|
void | setExternalAttributes(long value)
Sets the external file attributes. |
void | setExtra(byte[] extra)
Parses the given bytes as extra field data and consumes any
unparseable data as an UnparseableExtraFieldData
instance. |
protected void | setExtra()
Unfortunately java.util.zip.ZipOutputStream
java.util.zip.ZipOutputStream seems to access the extra data
directly, so overriding getExtra doesn't help - we need to
modify super's data directly.
|
void | setExtraFields(ZipExtraField[] fields)
Replaces all currently attached extra fields with the new array. |
void | setInternalAttributes(int value)
Sets the internal file attributes. |
protected void | setName(String name)
Set the name of the entry. |
protected void | setPlatform(int platform)
Set the platform (UNIX or FAT). |
void | setUnixMode(int mode)
Sets Unix permissions in a way that is understood by Info-Zip's
unzip command. |
Parameters: name the name of the entry
Since: 1.1
Parameters: entry the entry to get fields from
Throws: ZipException on error
Since: 1.1
Parameters: entry the entry to get fields from
Throws: ZipException on error
Since: 1.1
Since: 1.9
The new extra field will be the first one.
Parameters: ze an extra field
Since: 1.1
If no extra field of the same type exists, the field will be added as last field.
Parameters: ze an extra field
Since: 1.1
Returns: a cloned copy of this ZipEntry
Since: 1.1
Parameters: o the object to compare to
Returns: true if this object is the same as o
Since: Ant 1.7
Returns: the central directory extra data
Since: 1.1
Returns: the external file attributes
Since: 1.1
Returns: null if no such field exists.
Returns: an array of the extra fields
Parameters: includeUnparseable whether to also return unparseable extra fields as UnparseableExtraFieldData if such data exists.
Returns: an array of the extra fields
Since: 1.1
Returns: the internal file attributes
Since: 1.1
Returns: the extra data for local file
Since: 1.1
Returns: the entry name
Since: 1.9
Returns: PLATFORM_FAT unless setUnixMode
has been called, in which case PLATORM_UNIX will be returned.
Since: Ant 1.5.2
Returns: the unix permissions
Since: Ant 1.6
Returns: null if no such field exists.
Returns: a hashcode.
Since: Ant 1.7
Returns: true if the entry is a directory
Since: 1.10
Parameters: type the type of extra field to remove
Since: 1.1
Deprecated: since 1.7. Use setCompressedSize directly.
Make this class work in JDK 1.1 like a 1.2 class.This either stores the size for later usage or invokes setCompressedSize via reflection.
Parameters: size the size to use
Since: 1.2
Parameters: value an long
value
Since: 1.1
Parameters: extra an array of bytes to be parsed into extra fields
Throws: RuntimeException if the bytes cannot be parsed RuntimeException on error
Since: 1.1
java.util.zip.ZipOutputStream
java.util.zip.ZipOutputStream
seems to access the extra data
directly, so overriding getExtra doesn't help - we need to
modify super's data directly.
Since: 1.1
Parameters: fields an array of extra fields
Since: 1.1
Parameters: value an int
value
Since: 1.1
Parameters: name the name to use
Parameters: platform an int
value - 0 is FAT, 3 is UNIX
Since: 1.9
Parameters: mode an int
value
Since: Ant 1.5.2