## 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, getImplicitFileSet, 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, handleErrorFlush, handleErrorOutput, handleFlush, 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-2003 Apache Software Foundation. All Rights Reserved.