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:
Cloneable
,SelectorContainer
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
Modifier and TypeClassDescriptionclass
An inline string to use as the replacement text.class
A 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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Support arbitrary file system based resource collections.Add a nested <replacefilter> element.Create a token to filter as the text of a nested element.Create a string to replace the token as the text of a nested element.void
execute()
Do the execution.getProperties
(File propertyFile) Load a properties file.getProperties
(Resource propertyResource) Load a properties resource.void
The base directory to use when replacing a token in multiple files; required iffile
is not defined.void
setEncoding
(String encoding) Set the file encoding to use on the files read and written by the task; optional, defaults to default JVM encoding.void
setFailOnNoReplacements
(boolean b) Whether the build should fail if nothing has been replaced.void
Set the source file; required unlessdir
is set.void
setPreserveLastModified
(boolean b) Whether the file timestamp shall be preserved even if the file is modified.void
setPropertyFile
(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.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.void
setReplaceFilterFile
(File replaceFilterFile) Sets the name of a property file containing filters; optional.void
setReplaceFilterResource
(Resource replaceFilter) Sets the name of a resource containing filters; optional.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
.void
Set the string token to replace; required unless a nestedreplacetoken
element or thereplacefilterresource
attribute is used.void
Set the string value to use as token replacement; optional, default is the empty string "".void
Validate attributes provided for this task in .xml build file.void
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
-
Constructor Details
-
Replace
public Replace()
-
-
Method Details
-
execute
Do the execution.- Overrides:
execute
in classTask
- Throws:
BuildException
- if we can't build
-
validateAttributes
Validate attributes provided for this task in .xml build file.- Throws:
BuildException
- if any supplied attribute is invalid or any mandatory attribute is missing.
-
validateReplacefilters
Validate nested elements.- Throws:
BuildException
- if any supplied attribute is invalid or any mandatory attribute is missing.
-
getProperties
Load a properties file.- Parameters:
propertyFile
- the file to load the properties from.- Returns:
- loaded
Properties
object. - Throws:
BuildException
- if the file could not be found or read.
-
getProperties
Load a properties resource.- Parameters:
propertyResource
- the resource to load the properties from.- Returns:
- loaded
Properties
object. - Throws:
BuildException
- if the resource could not be found or read.- Since:
- Ant 1.8.0
-
setFile
Set the source file; required unlessdir
is 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
-boolean
whether a summary of the replace operation should be logged.
-
setReplaceFilterFile
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
-File
to load.
-
setReplaceFilterResource
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
-Resource
to load.- Since:
- Ant 1.8.0
-
setDir
The base directory to use when replacing a token in multiple files; required iffile
is not defined.- Parameters:
dir
-File
representing the base directory.
-
setToken
Set the string token to replace; required unless a nestedreplacetoken
element or thereplacefilterresource
attribute is used.- Parameters:
token
- tokenString
.
-
setValue
Set the string value to use as token replacement; optional, default is the empty string "".- Parameters:
value
- replacement value.
-
setEncoding
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
Create a token to filter as the text of a nested element.- Returns:
- nested token
NestedString
to configure.
-
createReplaceValue
Create a string to replace the token as the text of a nested element.- Returns:
- replacement value
NestedString
to configure.
-
setPropertyFile
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
-File
to load.
-
setPropertyResource
A resource from which properties specified using nested<replacefilter>
elements are drawn; required only if the property attribute of<replacefilter>
is used.- Parameters:
propertyResource
-Resource
to load.- Since:
- Ant 1.8.0
-
createReplacefilter
Add a nested <replacefilter> element.- Returns:
- a nested
Replacefilter
object to be configured.
-
addConfigured
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
-