org.apache.tools.ant.taskdefs

Class Replace

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

UNKNOWN: category="filesystem"

Nested Class Summary
classReplace.NestedString
An inline string to use as the replacement text.
classReplace.Replacefilter
A filter to apply.
Method Summary
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.
PropertiesgetProperties(File propertyFile)
Load a properties file.
PropertiesgetProperties(Resource propertyResource)
Load a properties resource.
voidsetDir(File dir)
The base directory to use when replacing a token in multiple files; required if file is not defined.
voidsetEncoding(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(File file)
Set the source file; required unless dir is set.
voidsetPreserveLastModified(boolean b)
Whether the file timestamp shall be preserved even if the file is modified.
voidsetPropertyFile(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(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(String token)
Set the string token to replace; required unless a nested replacetoken element or the replacefilterresource attribute is used.
voidsetValue(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.

Method Detail

addConfigured

public void addConfigured(ResourceCollection rc)
Support arbitrary file system based resource collections.

Since: Ant 1.8.0

createReplacefilter

public Replace.Replacefilter createReplacefilter()
Add a nested <replacefilter> element.

Returns: a nested Replacefilter object to be configured.

createReplaceToken

public Replace.NestedString createReplaceToken()
Create a token to filter as the text of a nested element.

Returns: nested token NestedString to configure.

createReplaceValue

public Replace.NestedString createReplaceValue()
Create a string to replace the token as the text of a nested element.

Returns: replacement value NestedString to configure.

execute

public void execute()
Do the execution.

Throws: BuildException if we cant build

getProperties

public Properties getProperties(File propertyFile)
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

public Properties getProperties(Resource propertyResource)
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

setDir

public void setDir(File dir)
The base directory to use when replacing a token in multiple files; required if file is not defined.

Parameters: dir File representing the base directory.

setEncoding

public 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.

Parameters: encoding the encoding to use on the files.

setFailOnNoReplacements

public void setFailOnNoReplacements(boolean b)
Whether the build should fail if nothing has been replaced.

Since: Ant 1.8.0

setFile

public void setFile(File file)
Set the source file; required unless dir is set.

Parameters: file source File.

setPreserveLastModified

public void setPreserveLastModified(boolean b)
Whether the file timestamp shall be preserved even if the file is modified.

Since: Ant 1.8.0

setPropertyFile

public 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.

Parameters: propertyFile File to 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 Resource to load.

Since: Ant 1.8.0

setReplaceFilterFile

public void setReplaceFilterFile(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 File to 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 Resource to load.

Since: Ant 1.8.0

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.

setToken

public void setToken(String token)
Set the string token to replace; required unless a nested replacetoken element or the replacefilterresource attribute is used.

Parameters: token token String.

setValue

public void setValue(String value)
Set the string value to use as token replacement; optional, default is the empty string "".

Parameters: value replacement value.

validateAttributes

public void 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

public void validateReplacefilters()
Validate nested elements.

Throws: BuildException if any supplied attribute is invalid or any mandatory attribute is missing.