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
Constructor | Description
--- | ---
`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

Modifier and Type | Method | Description
--- | --- | ---
`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 Details

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

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