Unpack (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.taskdefs, class: Unpack

# Class Unpack

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.Unpack

All Implemented Interfaces:
  `Cloneable`

Direct Known Subclasses:
  `BUnzip2, GUnzip, Unxz`

public abstract class Unpack extends Task
Abstract Base class for unpack tasks.

Since:
  Ant 1.5

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected File`
  `dest`
  `protected File`
  `source`
  `protected Resource`
  `srcResource`

  ### Fields inherited from class Task

  `target, taskName, taskType, wrapper`
  Modifier and Type
  Field
  Description
  `protected Target`
  `target`
  Deprecated.
  since 1.6.x.
  `protected String`
  `taskName`
  Deprecated.
  since 1.6.x.
  `protected String`
  `taskType`
  Deprecated.
  since 1.6.x.
  `protected RuntimeConfigurable`
  `wrapper`
  Deprecated.
  since 1.6.x.

  ### Fields inherited from class ProjectComponent

  `description, location, project`
  Modifier and Type
  Field
  Description
  `protected String`
  `description`
  Deprecated.
  since 1.6.x.
  `protected Location`
  `location`
  Deprecated.
  since 1.6.x.
  `protected Project`
  `project`
  Deprecated.
  since 1.6.x.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Unpack()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addConfigured(ResourceCollection a)`
  Set the source Archive resource.
  `void`
  `execute()`
  Execute the task.
  `protected abstract void`
  `extract()`
  Do the uncompressing.
  `protected abstract String`
  `getDefaultExtension()`
  Get the extension.
  `void`
  `setDest(File dest)`
  The destination file or directory; optional.
  `void`
  `setDest(String dest)`
  Deprecated.
  since 1.5.x.
  `void`
  `setSrc(File src)`
  The file to expand; required.
  `void`
  `setSrc(String src)`
  Deprecated.
  since 1.5.x.
  `void`
  `setSrcResource(Resource src)`
  The resource to expand; required.
  `protected boolean`
  `supportsNonFileResources()`
  Whether this task can deal with non-file resources.

  ### Methods inherited from class 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`
  Modifier and Type
  Method
  Description
  `final void`
  `bindToOwner(Task owner)`
  Bind a task to another; use this when configuring a newly created task to do work on behalf of another.
  `Target`
  `getOwningTarget()`
  Returns the container target of this task.
  `RuntimeConfigurable`
  `getRuntimeConfigurableWrapper()`
  Returns the wrapper used for runtime configuration.
  `String`
  `getTaskName()`
  Returns the name to use in logging messages.
  `String`
  `getTaskType()`
  Return the type of task.
  `protected RuntimeConfigurable`
  `getWrapper()`
  Return the runtime configurable structure for this task.
  `protected void`
  `handleErrorFlush(String output)`
  Handles an error line by logging it with the WARN priority.
  `protected void`
  `handleErrorOutput(String output)`
  Handles an error output by logging it with the WARN priority.
  `protected void`
  `handleFlush(String output)`
  Handles output by logging it with the INFO priority.
  `protected int`
  `handleInput(byte[] buffer, int offset, int length)`
  Handle an input request by this task.
  `protected void`
  `handleOutput(String output)`
  Handles output by logging it with the INFO priority.
  `void`
  `init()`
  Called by the project to let the task initialize properly.
  `protected final boolean`
  `isInvalid()`
  Has this task been marked invalid?
  `void`
  `log(String msg)`
  Logs a message with the default (INFO) priority.
  `void`
  `log(String msg, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `log(String msg, Throwable t, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `log(Throwable t, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `maybeConfigure()`
  Configures this task - if it hasn't been done already.
  `final void`
  `perform()`
  Performs this task if it's still valid, or gets a replacement version and performs that otherwise.
  `void`
  `reconfigure()`
  Force the task to be reconfigured from its RuntimeConfigurable.
  `void`
  `setOwningTarget(Target target)`
  Sets the target container of this task.
  `void`
  `setRuntimeConfigurableWrapper(RuntimeConfigurable wrapper)`
  Sets the wrapper to be used for runtime configuration.
  `void`
  `setTaskName(String name)`
  Sets the name to use in logging messages.
  `void`
  `setTaskType(String type)`
  Sets the name with which the task has been invoked.

  ### Methods inherited from class ProjectComponent

  `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`
  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  `String`
  `getDescription()`
  Returns the description of the current action.
  `Location`
  `getLocation()`
  Returns the file/location where this task was defined.
  `Project`
  `getProject()`
  Returns the project to which this component belongs.
  `void`
  `setDescription(String desc)`
  Sets a description of the current action.
  `void`
  `setLocation(Location location)`
  Sets the file/location where this task was defined.
  `void`
  `setProject(Project project)`
  Sets the project object of this component.

  ### Methods inherited from class Object

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

- ## Field Details

  - ### source

    protected File source

  - ### dest

    protected File dest

  - ### srcResource

    protected Resource srcResource

- ## Constructor Details

  - ### Unpack

    public Unpack()

- ## Method Details

  - ### setSrc

    @Deprecated public void setSrc(String src)
    Deprecated.
    since 1.5.x. setSrc(String) is deprecated and is replaced with setSrc(File) to make Ant's Introspection mechanism do the work and also to encapsulate operations on the type in its own class.
    Parameters:
      `src` - a `String` value

  - ### setDest

    @Deprecated public void setDest(String dest)
    Deprecated.
    since 1.5.x. setDest(String) is deprecated and is replaced with setDest(File) to make Ant's Introspection mechanism do the work and also to encapsulate operations on the type in its own class.
    Parameters:
      `dest` - a `String` value

  - ### setSrc

    public void setSrc(File src)
    The file to expand; required.
    Parameters:
      `src` - file to expand

  - ### setSrcResource

    public void setSrcResource(Resource src)
    The resource to expand; required.
    Parameters:
      `src` - resource to expand

  - ### addConfigured

    public void addConfigured(ResourceCollection a)
    Set the source Archive resource.
    Parameters:
      `a` - the archive as a single element Resource collection.

  - ### setDest

    public void setDest(File dest)
    The destination file or directory; optional.
    Parameters:
      `dest` - destination file or directory

  - ### execute

    public void execute() throws BuildException
    Execute the task.
    Overrides:
      `execute` in class `Task`
    Throws:
      `BuildException` - on error

  - ### getDefaultExtension

    protected abstract String getDefaultExtension()
    Get the extension. This is to be overridden by subclasses.
    Returns:
      the default extension.

  - ### extract

    protected abstract void extract()
    Do the uncompressing. This is to be overridden by subclasses.

  - ### supportsNonFileResources

    protected boolean supportsNonFileResources()
    Whether this task can deal with non-file resources.

    This implementation returns false.

    Returns:
      false for this task.
    Since:
      Ant 1.7