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.