org.apache.tools.ant.util
Class GlobPatternMapper

java.lang.Object
  extended by org.apache.tools.ant.util.GlobPatternMapper
All Implemented Interfaces:
FileNameMapper
Direct Known Subclasses:
PackageNameMapper, UnPackageNameMapper

public class GlobPatternMapper
extends java.lang.Object
implements FileNameMapper

Implementation of FileNameMapper that does simple wildcard pattern replacements.

This does simple translations like *.foo -> *.bar where the prefix to .foo will be left unchanged. It only handles a single * character, use regular expressions for more complicated situations.

This is one of the more useful Mappers, it is used by javac for example.


Field Summary
protected  java.lang.String fromPostfix
          Part of "from" pattern after the *.
protected  java.lang.String fromPrefix
          Part of "from" pattern before the *.
protected  int postfixLength
          Length of the postfix ("from" pattern).
protected  int prefixLength
          Length of the prefix ("from" pattern).
protected  java.lang.String toPostfix
          Part of "to" pattern after the *.
protected  java.lang.String toPrefix
          Part of "to" pattern before the *.
 
Constructor Summary
GlobPatternMapper()
           
 
Method Summary
protected  java.lang.String extractVariablePart(java.lang.String name)
          Returns the part of the given string that matches the * in the "from" pattern.
 boolean getHandleDirSep()
          Attribute specifying whether to ignore the difference between / and \ (the two common directory characters).
 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.
 void setCaseSensitive(boolean caseSensitive)
          Attribute specifying whether to ignore the case difference in the names.
 void setFrom(java.lang.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(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

fromPrefix

protected java.lang.String fromPrefix
Part of "from" pattern before the *.


fromPostfix

protected java.lang.String fromPostfix
Part of "from" pattern after the *.


prefixLength

protected int prefixLength
Length of the prefix ("from" pattern).


postfixLength

protected int postfixLength
Length of the postfix ("from" pattern).


toPrefix

protected java.lang.String toPrefix
Part of "to" pattern before the *.


toPostfix

protected java.lang.String toPostfix
Part of "to" pattern after the *.

Constructor Detail

GlobPatternMapper

public GlobPatternMapper()
Method Detail

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

getHandleDirSep

public boolean getHandleDirSep()
Attribute specifying whether to ignore the difference between / and \ (the two common directory characters).

Since:
Ant 1.8.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(java.lang.String from)
Sets the "from" pattern. Required.

Specified by:
setFrom in interface FileNameMapper
Parameters:
from - a string

setTo

public void setTo(java.lang.String to)
Sets the "to" pattern. Required.

Specified by:
setTo in interface FileNameMapper
Parameters:
to - a string

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 filename to map
Returns:
a list of converted filenames

extractVariablePart

protected java.lang.String extractVariablePart(java.lang.String name)
Returns the part of the given string that matches the * in the "from" pattern.

Parameters:
name - the source file name
Returns:
the variable part of the name