Pack (Apache Ant API)
Date: 2018-07-10

org.apache.tools.ant.taskdefs

## Class Pack

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.Pack

- All Implemented Interfaces:
    java.lang.Cloneable
  Direct Known Subclasses:
    BZip2, GZip

      public abstract class Pack
      extends Task

  Abstract Base class for pack tasks.
  Since:
    Ant 1.5

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.io.File` | `source`
    `protected java.io.File` | `zipFile`

    - ### Fields inherited from class org.apache.tools.ant.Task

      `target, taskName, taskType, wrapper`

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

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Pack()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addConfigured(ResourceCollection a)` Set the source resource.
    `void` | `execute()` validate, then hand off to the subclass
    `Resource` | `getSrcResource()` The source resource.
    `protected abstract void` | `pack()` subclasses must implement this method to do their compression
    `void` | `setDestfile(java.io.File zipFile)` the required destination file.
    `void` | `setSrc(java.io.File src)` the file to compress; required.
    `void` | `setSrcResource(Resource src)` The resource to pack; required.
    `void` | `setZipfile(java.io.File zipFile)` the required destination file.
    `protected boolean` | `supportsNonFileResources()` Whether this task can deal with non-file resources.
    `protected void` | `zipFile(java.io.File file, java.io.OutputStream zOut)` zip a file to an output stream
    `protected void` | `zipResource(Resource resource, java.io.OutputStream zOut)` zip a resource to an output stream

    - ### Methods inherited from class org.apache.tools.ant.Task

      `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

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

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

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

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### zipFile

          protected java.io.File zipFile

    - #### source

          protected java.io.File source

  - ### Constructor Detail

    - #### Pack

          public Pack()

  - ### Method Detail

    - #### setZipfile

          public void setZipfile(java.io.File zipFile)

      the required destination file.
      Parameters:
        `zipFile` - the destination file

    - #### setDestfile

          public void setDestfile(java.io.File zipFile)

      the required destination file.
      Parameters:
        `zipFile` - the destination file

    - #### setSrc

          public void setSrc(java.io.File src)

      the file to compress; required.
      Parameters:
        `src` - the source file

    - #### setSrcResource

          public void setSrcResource(Resource src)

      The resource to pack; required.
      Parameters:
        `src` - resource to expand

    - #### addConfigured

          public void addConfigured(ResourceCollection a)

      Set the source resource.
      Parameters:
        `a` - the resource to pack as a single element Resource collection.

    - #### execute

          public void execute()
                       throws BuildException

      validate, then hand off to the subclass
      Overrides:
        `execute` in class `Task`
      Throws:
        `BuildException` - on error

    - #### zipFile

          protected void zipFile(java.io.File file,
                                 java.io.OutputStream zOut)
                          throws java.io.IOException

      zip a file to an output stream
      Parameters:
        `file` - the file to zip
        `zOut` - the output stream
      Throws:
        `java.io.IOException` - on error

    - #### zipResource

          protected void zipResource(Resource resource,
                                     java.io.OutputStream zOut)
                              throws java.io.IOException

      zip a resource to an output stream
      Parameters:
        `resource` - the resource to zip
        `zOut` - the output stream
      Throws:
        `java.io.IOException` - on error

    - #### pack

          protected abstract void pack()

      subclasses must implement this method to do their compression

    - #### getSrcResource

          public Resource getSrcResource()

      The source resource.
      Returns:
        the source.
      Since:
        Ant 1.7

    - #### supportsNonFileResources

          protected boolean supportsNonFileResources()

      Whether this task can deal with non-file resources.

      This implementation returns false.

      Returns:
        false.
      Since:
        Ant 1.7