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.StringfromPostfixPart of "from" pattern after the *.protected java.lang.StringfromPrefixPart of "from" pattern before the *.protected intpostfixLengthLength of the postfix ("from" pattern).protected intprefixLengthLength of the prefix ("from" pattern).protected java.lang.StringtoPostfixPart of "to" pattern after the *.protected java.lang.StringtoPrefixPart of "to" pattern before the *. -
Constructor Summary
Constructors Constructor Description GlobPatternMapper() -
Method Summary
Modifier and Type Method Description protected java.lang.StringextractVariablePart(java.lang.String name)Returns the part of the given string that matches the * in the "from" pattern.booleangetHandleDirSep()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.voidsetCaseSensitive(boolean caseSensitive)Attribute specifying whether to ignore the case difference in the names.voidsetFrom(java.lang.String from)Sets the "from" pattern.voidsetHandleDirSep(boolean handleDirSep)Attribute specifying whether to ignore the difference between / and \ (the two common directory characters).voidsetTo(java.lang.String to)Sets the "to" pattern.
-
Field Details
-
fromPrefix
protected java.lang.String fromPrefixPart of "from" pattern before the *. -
fromPostfix
protected java.lang.String fromPostfixPart of "from" pattern after the *. -
prefixLength
protected int prefixLengthLength of the prefix ("from" pattern). -
postfixLength
protected int postfixLengthLength of the postfix ("from" pattern). -
toPrefix
protected java.lang.String toPrefixPart of "to" pattern before the *. -
toPostfix
protected java.lang.String toPostfixPart of "to" pattern after the *.
-
-
Constructor Details
-
GlobPatternMapper
public GlobPatternMapper()
-
-
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
-
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:
setFromin interfaceFileNameMapper- Parameters:
from- a string
-
setTo
public void setTo(java.lang.String to)Sets the "to" pattern. Required.- Specified by:
setToin 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:
mapFileNamein 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
-