org.apache.tools.ant.taskdefs

## Class Expand

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

All Implemented Interfaces:
  java.lang.Cloneable

Direct Known Subclasses:
  Untar

    public class Expand
    extends Task

Unzip a file.

Since:
  Ant 1.1

### Field Summary

Fields
`static java.lang.String` `ERROR_MULTIPLE_MAPPERS` Error message when more that one mapper is defined
`static java.lang.String` `NATIVE_ENCODING`

### 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
`` `Expand()` Creates an Expand instance and sets encoding to UTF-8.
`protected` `Expand(java.lang.String encoding)` Creates an Expand instance and sets the given encoding.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `add(FileNameMapper fileNameMapper)` A nested filenamemapper
`void` `add(ResourceCollection rc)` Add a resource collection.
`void` `addFileset(FileSet set)` Add a fileset
`void` `addPatternset(PatternSet set)` Add a patternset.
`Mapper` `createMapper()` Defines the mapper to map source entries to destination files.
`void` `execute()` Do the work.
`protected void` `expandFile(FileUtils fileUtils, java.io.File srcF, java.io.File dir)` This method is to be overridden by extending unarchival tasks.
`protected void` `expandResource(Resource srcR, java.io.File dir)` This method is to be overridden by extending unarchival tasks.
`protected void` `extractFile(FileUtils fileUtils, java.io.File srcF, java.io.File dir, java.io.InputStream compressedInputStream, java.lang.String entryName, java.util.Date entryDate, boolean isDirectory, FileNameMapper mapper)` extract a file to a directory
`java.lang.String` `getEncoding()`
`boolean` `getFailOnEmptyArchive()` Whether try ing to expand an empty archive would be an error.
`protected FileNameMapper` `getMapper()` get a mapper for a file
`boolean` `getScanForUnicodeExtraFields()`
`protected void` `internalSetEncoding(java.lang.String encoding)` Supports grand-children that want to support the attribute where the child-class doesn't (i.e.
`protected void` `internalSetScanForUnicodeExtraFields(boolean b)` Supports grand-children that want to support the attribute where the child-class doesn't (i.e.
`void` `setDest(java.io.File d)` Set the destination directory.
`void` `setEncoding(java.lang.String encoding)` Sets the encoding to assume for file names and comments.
`void` `setFailOnEmptyArchive(boolean b)` Whether try ing to expand an empty archive would be an error.
`void` `setOverwrite(boolean b)` Should we overwrite files in dest, even if they are newer than the corresponding entries in the archive?
`void` `setScanForUnicodeExtraFields(boolean b)` Whether unicode extra fields will be used if present.
`void` `setSrc(java.io.File s)` Set the path to zip-file.
`void` `setStripAbsolutePathSpec(boolean b)` Whether leading path separators should be stripped.

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

#### NATIVE_ENCODING

    public static final java.lang.String NATIVE_ENCODING

See Also:
  Constant Field Values

#### ERROR_MULTIPLE_MAPPERS

    public static final java.lang.String ERROR_MULTIPLE_MAPPERS

Error message when more that one mapper is defined

See Also:
  Constant Field Values

### Constructor Detail

#### Expand

    public Expand()

Creates an Expand instance and sets encoding to UTF-8.

#### Expand

    protected Expand(java.lang.String encoding)

Creates an Expand instance and sets the given encoding.

Since:
  Ant 1.9.5

### Method Detail

#### setFailOnEmptyArchive

    public void setFailOnEmptyArchive(boolean b)

Whether try ing to expand an empty archive would be an error.

Since:
  Ant 1.8.0

#### getFailOnEmptyArchive

    public boolean getFailOnEmptyArchive()

Whether try ing to expand an empty archive would be an error.

Since:
  Ant 1.8.0

#### execute

    public void execute()
                 throws BuildException

Do the work.

Overrides:
  `execute` in class `Task`
Throws:
  `BuildException` - Thrown in unrecoverable error.

#### expandFile

    protected void expandFile(FileUtils fileUtils,
                              java.io.File srcF,
                              java.io.File dir)

This method is to be overridden by extending unarchival tasks.

Parameters:
  `fileUtils` - the fileUtils
  `srcF` - the source file
  `dir` - the destination directory

#### expandResource

    protected void expandResource(Resource srcR,
                                  java.io.File dir)

This method is to be overridden by extending unarchival tasks.

Parameters:
  `srcR` - the source resource
  `dir` - the destination directory

#### getMapper

    protected FileNameMapper getMapper()

get a mapper for a file

Returns:
  a filenamemapper for a file

#### extractFile

    protected void extractFile(FileUtils fileUtils,
                               java.io.File srcF,
                               java.io.File dir,
                               java.io.InputStream compressedInputStream,
                               java.lang.String entryName,
                               java.util.Date entryDate,
                               boolean isDirectory,
                               FileNameMapper mapper)
                        throws java.io.IOException

extract a file to a directory

Parameters:
  `fileUtils` - a fileUtils object
  `srcF` - the source file
  `dir` - the destination directory
  `compressedInputStream` - the input stream
  `entryName` - the name of the entry
  `entryDate` - the date of the entry
  `isDirectory` - if this is true the entry is a directory
  `mapper` - the filename mapper to use
Throws:
  `java.io.IOException` - on error

#### setDest

    public void setDest(java.io.File d)

Set the destination directory. File will be unzipped into the destination directory.

Parameters:
  `d` - Path to the directory.

#### setSrc

    public void setSrc(java.io.File s)

Set the path to zip-file.

Parameters:
  `s` - Path to zip-file.

#### setOverwrite

    public void setOverwrite(boolean b)

Should we overwrite files in dest, even if they are newer than the corresponding entries in the archive?

Parameters:
  `b` - a `boolean` value

#### addPatternset

    public void addPatternset(PatternSet set)

Add a patternset.

Parameters:
  `set` - a pattern set

#### addFileset

    public void addFileset(FileSet set)

Add a fileset

Parameters:
  `set` - a file set

#### add

    public void add(ResourceCollection rc)

Add a resource collection.

Parameters:
  `rc` - a resource collection.
Since:
  Ant 1.7

#### createMapper

    public Mapper createMapper()
                        throws BuildException

Defines the mapper to map source entries to destination files.

Returns:
  a mapper to be configured
Throws:
  `BuildException` - if more than one mapper is defined
Since:
  Ant1.7

#### add

    public void add(FileNameMapper fileNameMapper)

A nested filenamemapper

Parameters:
  `fileNameMapper` - the mapper to add
Since:
  Ant 1.6.3

#### setEncoding

    public void setEncoding(java.lang.String encoding)

Sets the encoding to assume for file names and comments.

Set to `native-encoding` if you want your platform's native encoding, defaults to UTF8.

Parameters:
  `encoding` - the name of the character encoding
Since:
  Ant 1.6

#### internalSetEncoding

    protected void internalSetEncoding(java.lang.String encoding)

Supports grand-children that want to support the attribute where the child-class doesn't (i.e. Unzip in the compress Antlib).

Since:
  Ant 1.8.0

#### getEncoding

    public java.lang.String getEncoding()

Since:
  Ant 1.8.0

#### setStripAbsolutePathSpec

    public void setStripAbsolutePathSpec(boolean b)

Whether leading path separators should be stripped.

Since:
  Ant 1.8.0

#### setScanForUnicodeExtraFields

    public void setScanForUnicodeExtraFields(boolean b)

Whether unicode extra fields will be used if present.

Since:
  Ant 1.8.0

#### internalSetScanForUnicodeExtraFields

    protected void internalSetScanForUnicodeExtraFields(boolean b)

Supports grand-children that want to support the attribute where the child-class doesn't (i.e. Unzip in the compress Antlib).

Since:
  Ant 1.8.0

#### getScanForUnicodeExtraFields

    public boolean getScanForUnicodeExtraFields()

Since:
  Ant 1.8.0