Class Replace

All Implemented Interfaces:
java.lang.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
  • Constructor Details

  • 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 java.util.Properties getProperties​(java.io.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 java.util.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​(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 - boolean whether a summary of the replace operation should be logged.
    • setReplaceFilterFile

      public void setReplaceFilterFile​(java.io.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​(java.io.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​(java.lang.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​(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()
      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​(java.io.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