Package org.apache.tools.ant.types.resources

## Class ZipResource

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.types.DataType
    - - org.apache.tools.ant.types.Resource
      - - org.apache.tools.ant.types.resources.ArchiveResource
        - - org.apache.tools.ant.types.resources.ZipResource

All Implemented Interfaces:
  `java.lang.Cloneable`, `java.lang.Comparable<Resource>`, `java.lang.Iterable<Resource>`, `ResourceCollection`

    public class ZipResource
    extends ArchiveResource

A Resource representation of an entry in a zipfile.

Since:
  Ant 1.7

### Field Summary

### Fields inherited from class org.apache.tools.ant.types.Resource

`MAGIC, UNKNOWN_DATETIME, UNKNOWN_SIZE`

### Fields inherited from class org.apache.tools.ant.types.DataType

`checked, ref`

### Fields inherited from class org.apache.tools.ant.ProjectComponent

`description, location, project`

### Constructor Summary

Constructors
`ZipResource()` Default constructor.
`ZipResource​(java.io.File z, java.lang.String enc, ZipEntry e)` Construct a ZipResource representing the specified entry in the specified zipfile.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `addConfigured​(ResourceCollection a)` Sets the archive that holds this as a single element Resource collection.
`protected void` `fetchEntry()` fetches information from the named entry inside the archive.
`java.lang.String` `getEncoding()` Get the encoding to use with the zipfile.
`ZipExtraField[]` `getExtraFields()` Retrieves extra fields.
`java.io.InputStream` `getInputStream()` Return an InputStream for reading the contents of this Resource.
`int` `getMethod()` The compression method that has been used.
`java.io.OutputStream` `getOutputStream()` Get an OutputStream for the Resource.
`protected ZipResource` `getRef()` Perform the check for circular references and return the referenced Resource.
`static java.io.InputStream` `getZipEntryStream​(ZipFile zipFile, java.lang.String zipEntry)` Return an InputStream for reading the contents of a ZipEntry with autoclose.
`java.io.File` `getZipfile()` Get the zipfile that holds this ZipResource.
`void` `setEncoding​(java.lang.String enc)` Set the encoding to use with the zipfile.
`void` `setRefid​(Reference r)` Overrides the super version.
`void` `setZipfile​(java.io.File z)` Set the zipfile that holds this ZipResource.

### Methods inherited from class org.apache.tools.ant.types.resources.ArchiveResource

`checkEntry, compareTo, dieOnCircularReference, equals, getArchive, getLastModified, getMode, getSize, hashCode, isDirectory, isExists, setArchive, setMode, toString`

### Methods inherited from class org.apache.tools.ant.types.Resource

`as, asOptional, clone, getMagicNumber, getName, isFilesystemOnly, iterator, setDirectory, setExists, setLastModified, setName, setSize, size, toLongString`

### Methods inherited from class org.apache.tools.ant.types.DataType

`checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes`

### Methods inherited from class org.apache.tools.ant.ProjectComponent

`getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Methods inherited from interface org.apache.tools.ant.types.ResourceCollection

`isEmpty, stream`

### Constructor Detail

#### ZipResource

    public ZipResource()

Default constructor.

#### ZipResource

    public ZipResource​(java.io.File z,
                       java.lang.String enc,
                       ZipEntry e)

Construct a ZipResource representing the specified entry in the specified zipfile.

Parameters:
  `z` - the zipfile as File.
  `enc` - the encoding used for filenames.
  `e` - the ZipEntry.

### Method Detail

#### setZipfile

    public void setZipfile​(java.io.File z)

Set the zipfile that holds this ZipResource.

Parameters:
  `z` - the zipfile as a File.

#### getZipfile

    public java.io.File getZipfile()

Get the zipfile that holds this ZipResource.

Returns:
  the zipfile as a File.

#### addConfigured

    public void addConfigured​(ResourceCollection a)

Sets the archive that holds this as a single element Resource collection.

Overrides:
  `addConfigured` in class `ArchiveResource`
Parameters:
  `a` - the archive as a single element Resource collection.

#### setEncoding

    public void setEncoding​(java.lang.String enc)

Set the encoding to use with the zipfile.

Parameters:
  `enc` - the String encoding.

#### getEncoding

    public java.lang.String getEncoding()

Get the encoding to use with the zipfile.

Returns:
  String encoding.

#### setRefid

    public void setRefid​(Reference r)

Overrides the super version.

Overrides:
  `setRefid` in class `ArchiveResource`
Parameters:
  `r` - the Reference to set.

#### getInputStream

    public java.io.InputStream getInputStream()
                                       throws java.io.IOException

Return an InputStream for reading the contents of this Resource.

Overrides:
  `getInputStream` in class `Resource`
Returns:
  an InputStream object.
Throws:
  `java.io.IOException` - if the zip file cannot be opened, or the entry cannot be read.

#### getOutputStream

    public java.io.OutputStream getOutputStream()
                                         throws java.io.IOException

Get an OutputStream for the Resource.

Overrides:
  `getOutputStream` in class `Resource`
Returns:
  an OutputStream to which content can be written.
Throws:
  `java.io.IOException` - if unable to provide the content of this Resource as a stream.
  `java.lang.UnsupportedOperationException` - if OutputStreams are not supported for this Resource type.

#### getExtraFields

    public ZipExtraField[] getExtraFields()

Retrieves extra fields.

Returns:
  an array of the extra fields
Since:
  Ant 1.8.0

#### getMethod

    public int getMethod()

The compression method that has been used.

Returns:
  int
Since:
  Ant 1.8.0

#### getZipEntryStream

    public static java.io.InputStream getZipEntryStream​(ZipFile zipFile,
                                                        java.lang.String zipEntry)
                                                 throws java.io.IOException

Return an InputStream for reading the contents of a ZipEntry with autoclose.

Parameters:
  `zipFile` - a org.apache.tools.zip.ZipFile
  `zipEntry` - String a name of a zip entry
Returns:
  an InputStream object
Throws:
  `java.io.IOException` - if the entry cannot be read

#### fetchEntry

    protected void fetchEntry()

fetches information from the named entry inside the archive.

Specified by:
  `fetchEntry` in class `ArchiveResource`

#### getRef

    protected ZipResource getRef()

Description copied from class: `Resource`
Perform the check for circular references and return the referenced Resource.

Overrides:
  `getRef` in class `ArchiveResource`
Returns:
  `Resource`.