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

    All Methods Static Methods Instance Methods Concrete Methods
    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 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`.