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
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 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:
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
-