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:
  `Cloneable`, `Comparable<Resource>`, `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(File z, 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.
`String`
`getEncoding()`
Get the encoding to use with the zipfile.
`ZipExtraField[]`
`getExtraFields()`
Retrieves extra fields.
`InputStream`
`getInputStream()`
Return an InputStream for reading the contents of this Resource.
`int`
`getMethod()`
The compression method that has been used.
`OutputStream`
`getOutputStream()`
Get an OutputStream for the Resource.
`protected ZipResource`
`getRef()`
Perform the check for circular references and return the referenced Resource.
`static InputStream`
`getZipEntryStream(ZipFile zipFile, String zipEntry)`
Return an InputStream for reading the contents of a ZipEntry with autoclose.
`File`
`getZipfile()`
Get the zipfile that holds this ZipResource.
`void`
`setEncoding(String enc)`
Set the encoding to use with the zipfile.
`void`
`setRefid(Reference r)`
Overrides the super version.
`void`
`setZipfile(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(File z, 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(File z)
Set the zipfile that holds this ZipResource.

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

### getZipfile

public 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(String enc)
Set the encoding to use with the zipfile.

Parameters:
  `enc` - the String encoding.

### getEncoding

public 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 InputStream getInputStream() throws IOException
Return an InputStream for reading the contents of this Resource.

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

### getOutputStream

public OutputStream getOutputStream() throws IOException
Get an OutputStream for the Resource.

Overrides:
  `getOutputStream` in class `Resource`
Returns:
  an OutputStream to which content can be written.
Throws:
  `IOException` - if unable to provide the content of this Resource as a stream.
  `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 InputStream getZipEntryStream(ZipFile zipFile, String zipEntry) throws 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:
  `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`.