org.apache.tools.ant.util
Class RegexpPatternMapper

java.lang.Object
  extended by org.apache.tools.ant.util.RegexpPatternMapper
All Implemented Interfaces:
FileNameMapper

public class RegexpPatternMapper
extends java.lang.Object
implements FileNameMapper

Implementation of FileNameMapper that does regular expression replacements.


Field Summary
protected  RegexpMatcher reg
           
protected  java.lang.StringBuffer result
           
protected  char[] to
           
 
Constructor Summary
RegexpPatternMapper()
          Constructor for RegexpPatternMapper.
 
Method Summary
 java.lang.String[] mapFileName(java.lang.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  java.lang.String replaceReferences(java.lang.String source)
          Replace all backreferences in the to pattern with the matched groups of the source.
 void setCaseSensitive(boolean caseSensitive)
          Attribute specifing whether to ignore the case difference in the names.
 void setFrom(java.lang.String from)
          Sets the "from" pattern.
 void setHandleDirSep(boolean handleDirSep)
          Attribute specifing whether to ignore the difference between / and \ (the two common directory characters).
 void setTo(java.lang.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 Detail

reg

protected RegexpMatcher reg

to

protected char[] to

result

protected java.lang.StringBuffer result
Constructor Detail

RegexpPatternMapper

public RegexpPatternMapper()
                    throws BuildException
Constructor for RegexpPatternMapper.

Throws:
BuildException - on error.
Method Detail

setHandleDirSep

public void setHandleDirSep(boolean handleDirSep)
Attribute specifing 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 specifing 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(java.lang.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(java.lang.String to)
Sets the "to" pattern. Required.

Specified by:
setTo in interface FileNameMapper
Parameters:
to - the to pattern.
Throws:
BuildException - on error.

mapFileName

public java.lang.String[] mapFileName(java.lang.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 java.lang.String replaceReferences(java.lang.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.