Package org.apache.tools.ant.taskdefs
Class Replace
- java.lang.Object
-
- org.apache.tools.ant.ProjectComponent
-
- org.apache.tools.ant.Task
-
- org.apache.tools.ant.taskdefs.MatchingTask
-
- org.apache.tools.ant.taskdefs.Replace
-
- All Implemented Interfaces:
java.lang.Cloneable,SelectorContainer
public class Replace extends MatchingTask
Replaces all occurrences of one or more string tokens with given values in the indicated files. Each value can be either a string or the value of a property available in a designated property file. If you want to replace a text that crosses line boundaries, you must use a nested<replacetoken>element.- Since:
- Ant 1.1
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classReplace.NestedStringAn inline string to use as the replacement text.classReplace.ReplacefilterA filter to apply.
-
Field Summary
-
Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask
fileset
-
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
-
-
Constructor Summary
Constructors Constructor Description Replace()
-
Method Summary
Modifier and Type Method Description voidaddConfigured(ResourceCollection rc)Support arbitrary file system based resource collections.Replace.ReplacefiltercreateReplacefilter()Add a nested <replacefilter> element.Replace.NestedStringcreateReplaceToken()Create a token to filter as the text of a nested element.Replace.NestedStringcreateReplaceValue()Create a string to replace the token as the text of a nested element.voidexecute()Do the execution.java.util.PropertiesgetProperties(java.io.File propertyFile)Load a properties file.java.util.PropertiesgetProperties(Resource propertyResource)Load a properties resource.voidsetDir(java.io.File dir)The base directory to use when replacing a token in multiple files; required iffileis not defined.voidsetEncoding(java.lang.String encoding)Set the file encoding to use on the files read and written by the task; optional, defaults to default JVM encoding.voidsetFailOnNoReplacements(boolean b)Whether the build should fail if nothing has been replaced.voidsetFile(java.io.File file)Set the source file; required unlessdiris set.voidsetPreserveLastModified(boolean b)Whether the file timestamp shall be preserved even if the file is modified.voidsetPropertyFile(java.io.File propertyFile)The name of a property file from which properties specified using nested<replacefilter>elements are drawn; required only if the property attribute of<replacefilter>is used.voidsetPropertyResource(Resource propertyResource)A resource from which properties specified using nested<replacefilter>elements are drawn; required only if the property attribute of<replacefilter>is used.voidsetReplaceFilterFile(java.io.File replaceFilterFile)Sets the name of a property file containing filters; optional.voidsetReplaceFilterResource(Resource replaceFilter)Sets the name of a resource containing filters; optional.voidsetSummary(boolean summary)Indicates whether a summary of the replace operation should be produced, detailing how many token occurrences and files were processed; optional, default=false.voidsetToken(java.lang.String token)Set the string token to replace; required unless a nestedreplacetokenelement or thereplacefilterresourceattribute is used.voidsetValue(java.lang.String value)Set the string value to use as token replacement; optional, default is the empty string "".voidvalidateAttributes()Validate attributes provided for this task in .xml build file.voidvalidateReplacefilters()Validate nested elements.-
Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask
add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems
-
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
-
-
-
-
Method Detail
-
execute
public void execute() throws BuildExceptionDo the execution.- Overrides:
executein classTask- Throws:
BuildException- if we can't build
-
validateAttributes
public void validateAttributes() throws BuildExceptionValidate attributes provided for this task in .xml build file.- Throws:
BuildException- if any supplied attribute is invalid or any mandatory attribute is missing.
-
validateReplacefilters
public void validateReplacefilters() throws BuildExceptionValidate nested elements.- Throws:
BuildException- if any supplied attribute is invalid or any mandatory attribute is missing.
-
getProperties
public java.util.Properties getProperties(java.io.File propertyFile) throws BuildExceptionLoad a properties file.- Parameters:
propertyFile- the file to load the properties from.- Returns:
- loaded
Propertiesobject. - Throws:
BuildException- if the file could not be found or read.
-
getProperties
public java.util.Properties getProperties(Resource propertyResource) throws BuildException
Load a properties resource.- Parameters:
propertyResource- the resource to load the properties from.- Returns:
- loaded
Propertiesobject. - Throws:
BuildException- if the resource could not be found or read.- Since:
- Ant 1.8.0
-
setFile
public void setFile(java.io.File file)
Set the source file; required unlessdiris set.- Parameters:
file- sourceFile.
-
setSummary
public void setSummary(boolean summary)
Indicates whether a summary of the replace operation should be produced, detailing how many token occurrences and files were processed; optional, default=false.- Parameters:
summary-booleanwhether a summary of the replace operation should be logged.
-
setReplaceFilterFile
public void setReplaceFilterFile(java.io.File replaceFilterFile)
Sets the name of a property file containing filters; optional. Each property will be treated as a replacefilter where token is the name of the property and value is the value of the property.- Parameters:
replaceFilterFile-Fileto load.
-
setReplaceFilterResource
public void setReplaceFilterResource(Resource replaceFilter)
Sets the name of a resource containing filters; optional. Each property will be treated as a replacefilter where token is the name of the property and value is the value of the property.- Parameters:
replaceFilter-Resourceto load.- Since:
- Ant 1.8.0
-
setDir
public void setDir(java.io.File dir)
The base directory to use when replacing a token in multiple files; required iffileis not defined.- Parameters:
dir-Filerepresenting the base directory.
-
setToken
public void setToken(java.lang.String token)
Set the string token to replace; required unless a nestedreplacetokenelement or thereplacefilterresourceattribute is used.- Parameters:
token- tokenString.
-
setValue
public void setValue(java.lang.String value)
Set the string value to use as token replacement; optional, default is the empty string "".- Parameters:
value- replacement value.
-
setEncoding
public void setEncoding(java.lang.String encoding)
Set the file encoding to use on the files read and written by the task; optional, defaults to default JVM encoding.- Parameters:
encoding- the encoding to use on the files.
-
createReplaceToken
public Replace.NestedString createReplaceToken()
Create a token to filter as the text of a nested element.- Returns:
- nested token
NestedStringto configure.
-
createReplaceValue
public Replace.NestedString createReplaceValue()
Create a string to replace the token as the text of a nested element.- Returns:
- replacement value
NestedStringto configure.
-
setPropertyFile
public void setPropertyFile(java.io.File propertyFile)
The name of a property file from which properties specified using nested<replacefilter>elements are drawn; required only if the property attribute of<replacefilter>is used.- Parameters:
propertyFile-Fileto load.
-
setPropertyResource
public void setPropertyResource(Resource propertyResource)
A resource from which properties specified using nested<replacefilter>elements are drawn; required only if the property attribute of<replacefilter>is used.- Parameters:
propertyResource-Resourceto load.- Since:
- Ant 1.8.0
-
createReplacefilter
public Replace.Replacefilter createReplacefilter()
Add a nested <replacefilter> element.- Returns:
- a nested
Replacefilterobject to be configured.
-
addConfigured
public void addConfigured(ResourceCollection rc)
Support arbitrary file system based resource collections.- Parameters:
rc- ResourceCollection- Since:
- Ant 1.8.0
-
setPreserveLastModified
public void setPreserveLastModified(boolean b)
Whether the file timestamp shall be preserved even if the file is modified.- Parameters:
b- boolean- Since:
- Ant 1.8.0
-
setFailOnNoReplacements
public void setFailOnNoReplacements(boolean b)
Whether the build should fail if nothing has been replaced.- Parameters:
b- boolean- Since:
- Ant 1.8.0
-
-