## 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
`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
`Pack()`

Method Summary
`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