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