Replace (Apache Ant API)

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:
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
Author:
Stefano Mazzocchi stefano@apache.org
, Erik Langenbach

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, useDefaultExcludes
 
Fields inherited from class org.apache.tools.ant.Task
description, location, target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
Replace()
           
 
Method Summary
 Replace.Replacefilter createReplacefilter()
          Add a nested <replacefilter> element.
 Replace.NestedString createReplaceToken()
          the token to filter as the text of a nested element
 Replace.NestedString createReplaceValue()
          the string to replace the token as the text of a nested element
 void execute()
          Do the execution.
 java.util.Properties getProperties(java.io.File propertyFile)
          helper method to load a properties file and throw a build exception if it cannot be loaded
 void setDir(java.io.File dir)
          The base directory to use when replacing a token in multiple files; required if file is not defined.
 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
 void setFile(java.io.File file)
          Set the source file; required unless dir is set.
 void setPropertyFile(java.io.File filename)
          The name of a property file from which properties specified using nested <replacefilter> elements are drawn; Required only if property attribute of <replacefilter> is used.
 void setReplaceFilterFile(java.io.File filename)
          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(java.lang.String token)
          Set the string token to replace; required unless a nested replacetoken element or the replacefilterfile attribute is used.
 void setValue(java.lang.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
addAnd, addContains, addCustom, addDate, addDepend, addDepth, addFilename, addMajority, addNone, addNot, addOr, addPresent, addSelector, addSize, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems
 
Methods inherited from class org.apache.tools.ant.Task
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, handleErrorOutput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Replace


public Replace()
Method Detail

execute


public void execute()
             throws BuildException
Do the execution.

Overrides:
execute in class Task
Throws:
BuildException - if we cant build

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

getProperties


public java.util.Properties getProperties(java.io.File propertyFile)
                                   throws BuildException
helper method to load a properties file and throw a build exception if it cannot be loaded

Parameters:
propertyFile -
Returns:
loaded properties collection
Throws:
BuildException - if the file could not be found or read

setFile


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

Parameters:
file - source file

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 - true if you would like a summary logged of the replace operation

setReplaceFilterFile


public void setReplaceFilterFile(java.io.File filename)
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:
filename - file to load

setDir


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

Parameters:
dir - base dir

setToken


public void setToken(java.lang.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(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()
the token to filter as the text of a nested element

Returns:
nested token to configure

createReplaceValue


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

Returns:
replacement value to configure

setPropertyFile


public void setPropertyFile(java.io.File filename)
The name of a property file from which properties specified using nested <replacefilter> elements are drawn; Required only if property attribute of <replacefilter> is used.

Parameters:
filename - file to load

createReplacefilter


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



Copyright © 2000-2002 Apache Software Foundation. All Rights Reserved.