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`

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

  Nested Classes
  Modifier and Type
  Class
  Description
  `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`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Replace()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addConfigured​(ResourceCollection rc)`
  Support arbitrary file system based resource collections.
  `Replace.Replacefilter`
  `createReplacefilter()`
  Add a nested <replacefilter> element.
  `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.
  `void`
  `execute()`
  Do the execution.
  `Properties`
  `getProperties​(File propertyFile)`
  Load a properties file.
  `Properties`
  `getProperties​(Resource propertyResource)`
  Load a properties resource.
  `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`
  `setFailOnNoReplacements​(boolean b)`
  Whether the build should fail if nothing has been replaced.
  `void`
  `setFile​(File file)`
  Set the source file; required unless `dir` 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`
  `setToken​(String token)`
  Set the string token to replace; required unless a nested `replacetoken` element or the `replacefilterresource` 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

  `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`

  ### Methods inherited from class java.lang.Object

  `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Replace

    public Replace()

- ## Method Details

  - ### execute

    public void execute() throws BuildException
    Do the execution.
    Overrides:
      `execute` in class `Task`
    Throws:
      `BuildException` - if we can't 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 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.

  - ### getProperties

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

    public void setFile​(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` - `boolean` whether a summary of the replace operation should be logged.

  - ### 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

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

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

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

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

  - ### 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

  - ### createReplacefilter

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

  - ### addConfigured

    public void addConfigured​(ResourceCollection rc)
    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