Package org.apache.tools.ant.util
Class GlobPatternMapper
- java.lang.Object
-
- 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
Fields Modifier and Type Field Description 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
Constructors Constructor Description GlobPatternMapper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.
-
-
-
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 *.
-
-
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).- Returns:
- boolean
- 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 interfaceFileNameMapper
- Parameters:
from
- a string
-
setTo
public void setTo(java.lang.String to)
Sets the "to" pattern. Required.- Specified by:
setTo
in interfaceFileNameMapper
- 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 interfaceFileNameMapper
- 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
-
-