org.apache.tools.ant.util

Class GlobPatternMapper

Implemented Interfaces:
FileNameMapper
Known Direct 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 String
fromPostfix
Part of "from" pattern after the *.
protected 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 String
toPostfix
Part of "to" pattern after the *.
protected String
toPrefix
Part of "to" pattern before the *.

Method Summary

protected String
extractVariablePart(String name)
Returns the part of the given string that matches the * in the "from" pattern.
String[]
mapFileName(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 specifing whether to ignore the case difference in the names.
void
setFrom(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(String to)
Sets the "to" pattern.

Field Details

fromPostfix

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

fromPrefix

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

postfixLength

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

prefixLength

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

toPostfix

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

toPrefix

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

Method Details

extractVariablePart

protected String extractVariablePart(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

mapFileName

public String[] mapFileName(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

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(String from)
Sets the "from" pattern. Required.
Specified by:
setFrom in interface FileNameMapper
Parameters:
from - a string

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

setTo

public void setTo(String to)
Sets the "to" pattern. Required.
Specified by:
setTo in interface FileNameMapper
Parameters:
to - a string

Copyright B) 2000-2006 Apache Software Foundation. All Rights Reserved.