## org.apache.tools.zip
Class ZipEntry

    java.lang.Object
      java.util.zip.ZipEntry
          org.apache.tools.zip.ZipEntry

All Implemented Interfaces:
  java.lang.Cloneable

    public class ZipEntry

extends java.util.zip.ZipEntry
implements java.lang.Cloneable

Extension that adds better handling of extra fields and provides access to the internal and external file attributes.

Field Summary
`static int` `CENATT`
`static int` `CENATX`
`static int` `CENCOM`
`static int` `CENCRC`
`static int` `CENDSK`
`static int` `CENEXT`
`static int` `CENFLG`
`static int` `CENHDR`
`static int` `CENHOW`
`static int` `CENLEN`
`static int` `CENNAM`
`static int` `CENOFF`
`static long` `CENSIG`
`static int` `CENSIZ`
`static int` `CENTIM`
`static int` `CENVEM`
`static int` `CENVER`
`static int` `ENDCOM`
`static int` `ENDHDR`
`static int` `ENDOFF`
`static long` `ENDSIG`
`static int` `ENDSIZ`
`static int` `ENDSUB`
`static int` `ENDTOT`
`static int` `EXTCRC`
`static int` `EXTHDR`
`static int` `EXTLEN`
`static long` `EXTSIG`
`static int` `EXTSIZ`
`static int` `LOCCRC`
`static int` `LOCEXT`
`static int` `LOCFLG`
`static int` `LOCHDR`
`static int` `LOCHOW`
`static int` `LOCLEN`
`static int` `LOCNAM`
`static long` `LOCSIG`
`static int` `LOCSIZ`
`static int` `LOCTIM`
`static int` `LOCVER`

Fields inherited from class java.util.zip.ZipEntry
`DEFLATED, STORED`

Constructor Summary
`protected` `ZipEntry()`
`` `ZipEntry(java.lang.String name)` Creates a new zip entry with the specified name.
`` `ZipEntry(java.util.zip.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.

Method Summary
`void` `addExtraField(ZipExtraField ze)` Adds an extra fields - replacing an already present extra field of the same type.
`java.lang.Object` `clone()` Overwrite clone.
`boolean` `equals(java.lang.Object o)` The equality method.
`byte[]` `getCentralDirectoryExtra()` Retrieves the extra data for the central directory.
`long` `getExternalAttributes()` Retrieves the external file attributes.
`ZipExtraField[]` `getExtraFields()` Retrieves extra fields.
`int` `getInternalAttributes()` Retrieves the internal file attributes.
`byte[]` `getLocalFileDataExtra()` Retrieves the extra data for the local file data.
`java.lang.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.
`int` `hashCode()` Get the hashCode of the entry.
`boolean` `isDirectory()` Is this entry a directory?
`void` `removeExtraField(ZipShort type)` Remove an extra fields.
`void` `setComprSize(long size)` Deprecated. since 1.7. Use setCompressedSize directly.
`void` `setExternalAttributes(long value)` Sets the external file attributes.
`protected void` `setExtra()` Unfortunately `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` `setExtra(byte[] extra)` Throws an Exception if extra data cannot be parsed into extra fields.
`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(java.lang.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.

Methods inherited from class java.util.zip.ZipEntry
`getComment, getCompressedSize, getCrc, getExtra, getMethod, getSize, getTime, setComment, setCompressedSize, setCrc, setMethod, setSize, setTime, toString`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### LOCSIG

    public static final long LOCSIG

See Also:
  Constant Field Values

### EXTSIG

    public static final long EXTSIG

See Also:
  Constant Field Values

### CENSIG

    public static final long CENSIG

See Also:
  Constant Field Values

### ENDSIG

    public static final long ENDSIG

See Also:
  Constant Field Values

### LOCHDR

    public static final int LOCHDR

See Also:
  Constant Field Values

### EXTHDR

    public static final int EXTHDR

See Also:
  Constant Field Values

### CENHDR

    public static final int CENHDR

See Also:
  Constant Field Values

### ENDHDR

    public static final int ENDHDR

See Also:
  Constant Field Values

### LOCVER

    public static final int LOCVER

See Also:
  Constant Field Values

### LOCFLG

    public static final int LOCFLG

See Also:
  Constant Field Values

### LOCHOW

    public static final int LOCHOW

See Also:
  Constant Field Values

### LOCTIM

    public static final int LOCTIM

See Also:
  Constant Field Values

### LOCCRC

    public static final int LOCCRC

See Also:
  Constant Field Values

### LOCSIZ

    public static final int LOCSIZ

See Also:
  Constant Field Values

### LOCLEN

    public static final int LOCLEN

See Also:
  Constant Field Values

### LOCNAM

    public static final int LOCNAM

See Also:
  Constant Field Values

### LOCEXT

    public static final int LOCEXT

See Also:
  Constant Field Values

### EXTCRC

    public static final int EXTCRC

See Also:
  Constant Field Values

### EXTSIZ

    public static final int EXTSIZ

See Also:
  Constant Field Values

### EXTLEN

    public static final int EXTLEN

See Also:
  Constant Field Values

### CENVEM

    public static final int CENVEM

See Also:
  Constant Field Values

### CENVER

    public static final int CENVER

See Also:
  Constant Field Values

### CENFLG

    public static final int CENFLG

See Also:
  Constant Field Values

### CENHOW

    public static final int CENHOW

See Also:
  Constant Field Values

### CENTIM

    public static final int CENTIM

See Also:
  Constant Field Values

### CENCRC

    public static final int CENCRC

See Also:
  Constant Field Values

### CENSIZ

    public static final int CENSIZ

See Also:
  Constant Field Values

### CENLEN

    public static final int CENLEN

See Also:
  Constant Field Values

### CENNAM

    public static final int CENNAM

See Also:
  Constant Field Values

### CENEXT

    public static final int CENEXT

See Also:
  Constant Field Values

### CENCOM

    public static final int CENCOM

See Also:
  Constant Field Values

### CENDSK

    public static final int CENDSK

See Also:
  Constant Field Values

### CENATT

    public static final int CENATT

See Also:
  Constant Field Values

### CENATX

    public static final int CENATX

See Also:
  Constant Field Values

### CENOFF

    public static final int CENOFF

See Also:
  Constant Field Values

### ENDSUB

    public static final int ENDSUB

See Also:
  Constant Field Values

### ENDTOT

    public static final int ENDTOT

See Also:
  Constant Field Values

### ENDSIZ

    public static final int ENDSIZ

See Also:
  Constant Field Values

### ENDOFF

    public static final int ENDOFF

See Also:
  Constant Field Values

### ENDCOM

    public static final int ENDCOM

See Also:
  Constant Field Values

Constructor Detail

### ZipEntry

    public ZipEntry(java.lang.String name)

  Creates a new zip entry with the specified name.

  Parameters:
    `name` - the name of the entry
  Since:
    1.1

### ZipEntry

    public ZipEntry(java.util.zip.ZipEntry entry)
             throws java.util.zip.ZipException

  Creates a new zip entry with fields taken from the specified zip entry.

  Parameters:
    `entry` - the entry to get fields from
  Throws:
    `java.util.zip.ZipException` - on error
  Since:
    1.1

### ZipEntry

    public ZipEntry(ZipEntry entry)
             throws java.util.zip.ZipException

  Creates a new zip entry with fields taken from the specified zip entry.

  Parameters:
    `entry` - the entry to get fields from
  Throws:
    `java.util.zip.ZipException` - on error
  Since:
    1.1

### ZipEntry

    protected ZipEntry()

Since:
  1.9

Method Detail

### clone

    public java.lang.Object clone()

  Overwrite clone.

  Overrides:
    `clone` in class `java.util.zip.ZipEntry`
  Returns:
    a cloned copy of this ZipEntry
  Since:
    1.1

### getInternalAttributes

    public int getInternalAttributes()

  Retrieves the internal file attributes.

  Returns:
    the internal file attributes
  Since:
    1.1

### setInternalAttributes

    public void setInternalAttributes(int value)

  Sets the internal file attributes.

  Parameters:
    `value` - an `int` value
  Since:
    1.1

### getExternalAttributes

    public long getExternalAttributes()

  Retrieves the external file attributes.

  Returns:
    the external file attributes
  Since:
    1.1

### setExternalAttributes

    public void setExternalAttributes(long value)

  Sets the external file attributes.

  Parameters:
    `value` - an `long` value
  Since:
    1.1

### setUnixMode

    public void setUnixMode(int mode)

  Sets Unix permissions in a way that is understood by Info-Zip's unzip command.

  Parameters:
    `mode` - an `int` value
  Since:
    Ant 1.5.2

### getUnixMode

    public int getUnixMode()

  Unix permission.

  Returns:
    the unix permissions
  Since:
    Ant 1.6

### getPlatform

    public int getPlatform()

  Platform specification to put into the "version made by" part of the central file header.

  Returns:
    0 (MS-DOS FAT) unless `setUnixMode` has been called, in which case 3 (Unix) will be returned.
  Since:
    Ant 1.5.2

### setPlatform

    protected void setPlatform(int platform)

  Set the platform (UNIX or FAT).

  Parameters:
    `platform` - an `int` value - 0 is FAT, 3 is UNIX
  Since:
    1.9

### setExtraFields

    public void setExtraFields(ZipExtraField[] fields)

  Replaces all currently attached extra fields with the new array.

  Parameters:
    `fields` - an array of extra fields
  Since:
    1.1

### getExtraFields

    public ZipExtraField[] getExtraFields()

  Retrieves extra fields.

  Returns:
    an array of the extra fields
  Since:
    1.1

### addExtraField

    public void addExtraField(ZipExtraField ze)

  Adds an extra fields - replacing an already present extra field of the same type.

  Parameters:
    `ze` - an extra field
  Since:
    1.1

### removeExtraField

    public void removeExtraField(ZipShort type)

  Remove an extra fields.

  Parameters:
    `type` - the type of extra field to remove
  Since:
    1.1

### setExtra

    public void setExtra(byte[] extra)
                  throws java.lang.RuntimeException

  Throws an Exception if extra data cannot be parsed into extra fields.

  Overrides:
    `setExtra` in class `java.util.zip.ZipEntry`
  Parameters:
    `extra` - an array of bytes to be parsed into extra fields
  Throws:
    `java.lang.RuntimeException` - if the bytes cannot be parsed
    `java.lang.RuntimeException` - on error
  Since:
    1.1

### setExtra

    protected void setExtra()

  Unfortunately `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

### getLocalFileDataExtra

    public byte[] getLocalFileDataExtra()

  Retrieves the extra data for the local file data.

  Returns:
    the extra data for local file
  Since:
    1.1

### getCentralDirectoryExtra

    public byte[] getCentralDirectoryExtra()

  Retrieves the extra data for the central directory.

  Returns:
    the central directory extra data
  Since:
    1.1

### setComprSize

    public void setComprSize(long size)

  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

### getName

    public java.lang.String getName()

  Get the name of the entry.

  Overrides:
    `getName` in class `java.util.zip.ZipEntry`
  Returns:
    the entry name
  Since:
    1.9

### isDirectory

    public boolean isDirectory()

  Is this entry a directory?

  Overrides:
    `isDirectory` in class `java.util.zip.ZipEntry`
  Returns:
    true if the entry is a directory
  Since:
    1.10

### setName

    protected void setName(java.lang.String name)

  Set the name of the entry.

  Parameters:
    `name` - the name to use

### hashCode

    public int hashCode()

  Get the hashCode of the entry. This uses the name as the hashcode.

  Overrides:
    `hashCode` in class `java.util.zip.ZipEntry`
  Returns:
    a hashcode.
  Since:
    Ant 1.7

### equals

    public boolean equals(java.lang.Object o)

  The equality method. In this case, the implementation returns 'this == o' which is basically the equals method of the Object class.

  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `o` - the object to compare to
  Returns:
    true if this object is the same as `o`
  Since:
    Ant 1.7