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

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