Package 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
  Modifier and Type | Field | Description
  --- | --- | ---
  `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
  Modifier | Constructor | Description
  --- | --- | ---
  `` | `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

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `add​(ResourceCollection rc)` | Add a resource collection.
  `void` | `add​(FileNameMapper fileNameMapper)` | A nested filenamemapper
  `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.Boolean` | `getAllowFilesToEscapeDest()` | Whether to allow the extracted file or directory to be outside of the dest 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` | `setAllowFilesToEscapeDest​(boolean b)` | Whether to allow the extracted file or directory to be outside of the dest directory.
  `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 Details

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

  - ### 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.
    Parameters:
      `encoding` - String
    Since:
      Ant 1.9.5

- ## Method Details

  - ### setFailOnEmptyArchive

    public void setFailOnEmptyArchive​(boolean b)
    Whether try ing to expand an empty archive would be an error.
    Parameters:
      `b` - boolean
    Since:
      Ant 1.8.0

  - ### getFailOnEmptyArchive

    public boolean getFailOnEmptyArchive()
    Whether try ing to expand an empty archive would be an error.
    Returns:
      boolean
    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).
    Parameters:
      `encoding` - String
    Since:
      Ant 1.8.0

  - ### getEncoding

    public java.lang.String getEncoding()
    Returns:
      String
    Since:
      Ant 1.8.0

  - ### setStripAbsolutePathSpec

    public void setStripAbsolutePathSpec​(boolean b)
    Whether leading path separators should be stripped.
    Parameters:
      `b` - boolean
    Since:
      Ant 1.8.0

  - ### setScanForUnicodeExtraFields

    public void setScanForUnicodeExtraFields​(boolean b)
    Whether unicode extra fields will be used if present.
    Parameters:
      `b` - boolean
    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).
    Parameters:
      `b` - boolean
    Since:
      Ant 1.8.0

  - ### getScanForUnicodeExtraFields

    public boolean getScanForUnicodeExtraFields()
    Returns:
      boolean
    Since:
      Ant 1.8.0

  - ### setAllowFilesToEscapeDest

    public void setAllowFilesToEscapeDest​(boolean b)
    Whether to allow the extracted file or directory to be outside of the dest directory.
    Parameters:
      `b` - the flag
    Since:
      Ant 1.10.4

  - ### getAllowFilesToEscapeDest

    public java.lang.Boolean getAllowFilesToEscapeDest()
    Whether to allow the extracted file or directory to be outside of the dest directory.
    Returns:
      `null` if the flag hasn't been set explicitly, otherwise the value set by the user.
    Since:
      Ant 1.10.4