## org.apache.tools.zip
Class ZipEntry

    java.lang.Object
      |
      +--java.util.zip.ZipEntry
            |
            +--org.apache.tools.zip.ZipEntry

All Implemented Interfaces:
  java.lang.Cloneable, java.util.zip.ZipConstants

public class ZipEntry
extends java.util.zip.ZipEntry

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

Version:
  $Revision: 1.3.2.2 $
Author:
  Stefan Bodewig

Field Summary

Fields inherited from class java.util.zip.ZipEntry
`CENATT, CENATX, CENCOM, CENCRC, CENDSK, CENEXT, CENFLG, CENHDR, CENHOW, CENLEN, CENNAM, CENOFF, CENSIG, CENSIZ, CENTIM, CENVEM, CENVER, DEFLATED, ENDCOM, ENDHDR, ENDOFF, ENDSIG, ENDSIZ, ENDSUB, ENDTOT, EXTCRC, EXTHDR, EXTLEN, EXTSIG, EXTSIZ, LOCCRC, LOCEXT, LOCFLG, LOCHDR, LOCHOW, LOCLEN, LOCNAM, LOCSIG, LOCSIZ, LOCTIM, LOCVER, STORED`

Constructor Summary
`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
`byte[]` `getCentralDirectoryExtra()` Retrieves the extra data for the central directory.
`long` `getCompressedSize()` Override to make this class work in JDK 1.1 like a 1.2 class.
`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.
`int` `getPlatform()` Platform specification to put into the "version made by" part of the central file header.
`void` `removeExtraField(ZipShort type)` Remove an 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.
`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.
`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, getCrc, getExtra, getMethod, getName, getSize, getTime, hashCode, isDirectory, setComment, setCompressedSize, setCrc, setMethod, setSize, setTime, toString`

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

Constructor Detail

### ZipEntry

    public ZipEntry(java.lang.String name)

  Creates a new zip entry with the specified name.

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.

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.

Since:
  1.1

Method Detail

### clone

    public java.lang.Object clone()

  Overwrite clone

  Overrides:
    `clone` in class `java.util.zip.ZipEntry`
  Since:
    1.1

### getInternalAttributes

    public int getInternalAttributes()

  Retrieves the internal file attributes.

  Since:
    1.1

### setInternalAttributes

    public void setInternalAttributes(int value)

  Sets the internal file attributes.

  Since:
    1.1

### getExternalAttributes

    public long getExternalAttributes()

  Retrieves the external file attributes.

  Since:
    1.1

### setExternalAttributes

    public void setExternalAttributes(long value)

  Sets the external file attributes.

  Since:
    1.1

### setUnixMode

    public void setUnixMode(int mode)

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

  Since:
    Ant 1.5.2

### 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

### setExtraFields

    public void setExtraFields(ZipExtraField[] fields)

  Replaces all currently attached extra fields with the new array.

  Since:
    1.1

### getExtraFields

    public ZipExtraField[] getExtraFields()

  Retrieves 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.

  Since:
    1.1

### removeExtraField

    public void removeExtraField(ZipShort type)

  Remove an extra fields.

  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`
    `java.lang.RuntimeException`
  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.

  Since:
    1.1

### getCentralDirectoryExtra

    public byte[] getCentralDirectoryExtra()

  Retrieves the extra data for the central directory.

  Since:
    1.1

### setComprSize

    public void setComprSize(long size)

  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.

  Since:
    1.2

### getCompressedSize

    public long getCompressedSize()

  Override to make this class work in JDK 1.1 like a 1.2 class.

  Overrides:
    `getCompressedSize` in class `java.util.zip.ZipEntry`
  Since:
    1.2

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.