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.StringERROR_MULTIPLE_MAPPERSError message when more that one mapper is definedstatic java.lang.StringNATIVE_ENCODING -
Constructor Summary
-
Method Summary
Modifier and Type Method Description voidadd(ResourceCollection rc)Add a resource collection.voidadd(FileNameMapper fileNameMapper)A nested filenamemappervoidaddFileset(FileSet set)Add a filesetvoidaddPatternset(PatternSet set)Add a patternset.MappercreateMapper()Defines the mapper to map source entries to destination files.voidexecute()Do the work.protected voidexpandFile(FileUtils fileUtils, java.io.File srcF, java.io.File dir)This method is to be overridden by extending unarchival tasks.protected voidexpandResource(Resource srcR, java.io.File dir)This method is to be overridden by extending unarchival tasks.protected voidextractFile(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 directoryjava.lang.BooleangetAllowFilesToEscapeDest()Whether to allow the extracted file or directory to be outside of the dest directory.java.lang.StringgetEncoding()booleangetFailOnEmptyArchive()Whether try ing to expand an empty archive would be an error.protected FileNameMappergetMapper()get a mapper for a filebooleangetScanForUnicodeExtraFields()protected voidinternalSetEncoding(java.lang.String encoding)Supports grand-children that want to support the attribute where the child-class doesn't (i.e.protected voidinternalSetScanForUnicodeExtraFields(boolean b)Supports grand-children that want to support the attribute where the child-class doesn't (i.e.voidsetAllowFilesToEscapeDest(boolean b)Whether to allow the extracted file or directory to be outside of the dest directory.voidsetDest(java.io.File d)Set the destination directory.voidsetEncoding(java.lang.String encoding)Sets the encoding to assume for file names and comments.voidsetFailOnEmptyArchive(boolean b)Whether try ing to expand an empty archive would be an error.voidsetOverwrite(boolean b)Should we overwrite files in dest, even if they are newer than the corresponding entries in the archive?voidsetScanForUnicodeExtraFields(boolean b)Whether unicode extra fields will be used if present.voidsetSrc(java.io.File s)Set the path to zip-file.voidsetStripAbsolutePathSpec(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, setTaskTypeMethods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
-
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_MAPPERSError message when more that one mapper is defined- See Also:
- Constant Field Values
-
-
Constructor Details
-
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
Do the work.- Overrides:
executein classTask- Throws:
BuildException- Thrown in unrecoverable error.
-
expandFile
This method is to be overridden by extending unarchival tasks.- Parameters:
fileUtils- the fileUtilssrcF- the source filedir- the destination directory
-
expandResource
This method is to be overridden by extending unarchival tasks.- Parameters:
srcR- the source resourcedir- the destination directory
-
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.IOExceptionextract a file to a directory- Parameters:
fileUtils- a fileUtils objectsrcF- the source filedir- the destination directorycompressedInputStream- the input streamentryName- the name of the entryentryDate- the date of the entryisDirectory- if this is true the entry is a directorymapper- 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- abooleanvalue
-
addPatternset
Add a patternset.- Parameters:
set- a pattern set
-
addFileset
Add a fileset- Parameters:
set- a file set
-
add
Add a resource collection.- Parameters:
rc- a resource collection.- Since:
- Ant 1.7
-
createMapper
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
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-encodingif 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:
nullif the flag hasn't been set explicitly, otherwise the value set by the user.- Since:
- Ant 1.10.4
-