org.apache.tools.ant.taskdefs

Class Replace

Implemented Interfaces:
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

class
Replace.NestedString
An inline string to use as the replacement text.
class
Replace.Replacefilter
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.Task

target, taskName, taskType, wrapper

Fields inherited from class org.apache.tools.ant.ProjectComponent

description, location, project

Method Summary

Replace.NestedString
createReplaceToken()
Create a token to filter as the text of a nested element.
Replace.NestedString
createReplaceValue()
Create a string to replace the token as the text of a nested element.
Replace.Replacefilter
createReplacefilter()
Add a nested <replacefilter> element.
void
execute()
Do the execution.
Properties
getProperties(File propertyFile)
Load a properties file.
void
setDir(File dir)
The base directory to use when replacing a token in multiple files; required if file 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
setFile(File file)
Set the source file; required unless dir is set.
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
setReplaceFilterFile(File replaceFilterFile)
Sets the name of a property file 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
setToken(String token)
Set the string token to replace; required unless a nested replacetoken element or the replacefilterfile attribute is used.
void
setValue(String value)
Set the string value to use as token replacement; optional, default is the empty string "".
void
validateAttributes()
Validate attributes provided for this task in .xml build file.
void
validateReplacefilters()
Validate nested elements.

Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask

XsetIgnore, XsetItems, 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

Methods inherited from class org.apache.tools.ant.Task

bindToOwner, execute, 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, log, log, setDescription, setLocation, setProject

Method Details

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.

createReplacefilter

public Replace.Replacefilter createReplacefilter()
Add a nested <replacefilter> element.
Returns:
a nested Replacefilter object to be configured.

execute

public void execute()
            throws BuildException
Do the execution.
Overrides:
execute in interface Task
Throws:
BuildException - if we cant build

getProperties

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

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.

setFile

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

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.

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.

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 replacefilterfile 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()
            throws BuildException
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()
            throws BuildException
Validate nested elements.
Throws:
BuildException - if any supplied attribute is invalid or any mandatory attribute is missing.