Package org.apache.tools.ant.util

# Class RegexpPatternMapper

java.lang.Object
org.apache.tools.ant.util.RegexpPatternMapper

All Implemented Interfaces:
  `FileNameMapper`

public class RegexpPatternMapper extends Object implements FileNameMapper
Implementation of FileNameMapper that does regular expression replacements.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected RegexpMatcher`
  `reg`
  `protected StringBuffer`
  `result`
  `protected char[]`
  `to`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RegexpPatternMapper()`
  Constructor for RegexpPatternMapper.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String[]`
  `mapFileName​(String sourceFileName)`
  Returns null if the source file name doesn't match the "from" pattern, an one-element array containing the translated file otherwise.
  `protected String`
  `replaceReferences​(String source)`
  Replace all backreferences in the to pattern with the matched groups of the source.
  `void`
  `setCaseSensitive​(boolean caseSensitive)`
  Attribute specifying whether to ignore the case difference in the names.
  `void`
  `setFrom​(String from)`
  Sets the "from" pattern.
  `void`
  `setHandleDirSep​(boolean handleDirSep)`
  Attribute specifying whether to ignore the difference between / and \ (the two common directory characters).
  `void`
  `setTo​(String to)`
  Sets the "to" pattern.

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

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

- ## Field Details

  - ### reg

    protected RegexpMatcher reg

  - ### to

    protected char[] to

  - ### result

    protected StringBuffer result

- ## Constructor Details

  - ### RegexpPatternMapper

    public RegexpPatternMapper() throws BuildException
    Constructor for RegexpPatternMapper.
    Throws:
      `BuildException` - on error.

- ## Method Details

  - ### setHandleDirSep

    public void setHandleDirSep​(boolean handleDirSep)
    Attribute specifying whether to ignore the difference between / and \ (the two common directory characters).
    Parameters:
      `handleDirSep` - a boolean, default is false.
    Since:
      Ant 1.6.3

  - ### setCaseSensitive

    public void setCaseSensitive​(boolean caseSensitive)
    Attribute specifying whether to ignore the case difference in the names.
    Parameters:
      `caseSensitive` - a boolean, default is false.
    Since:
      Ant 1.6.3

  - ### setFrom

    public void setFrom​(String from) throws BuildException
    Sets the "from" pattern. Required.
    Specified by:
      `setFrom` in interface `FileNameMapper`
    Parameters:
      `from` - the from pattern.
    Throws:
      `BuildException` - on error.

  - ### setTo

    public void setTo​(String to)
    Sets the "to" pattern. Required.
    Specified by:
      `setTo` in interface `FileNameMapper`
    Parameters:
      `to` - the to pattern.
    Throws:
      `BuildException` - on error.

  - ### mapFileName

    public String[] mapFileName​(String sourceFileName)
    Returns null if the source file name doesn't match the "from" pattern, an one-element array containing the translated file otherwise.
    Specified by:
      `mapFileName` in interface `FileNameMapper`
    Parameters:
      `sourceFileName` - the source file name
    Returns:
      a one-element array containing the translated file or null if the to pattern did not match

  - ### replaceReferences

    protected String replaceReferences​(String source)
    Replace all backreferences in the to pattern with the matched groups of the source.
    Parameters:
      `source` - the source file name.
    Returns:
      the translated file name.