Class GlobPatternMapper

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

public class GlobPatternMapper extends 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 String
    Part of "from" pattern after the *.
    protected String
    Part of "from" pattern before the *.
    protected int
    Length of the postfix ("from" pattern).
    protected int
    Length of the prefix ("from" pattern).
    protected String
    Part of "to" pattern after the *.
    protected String
    Part of "to" pattern before the *.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected String
    Returns the part of the given string that matches the * in the "from" pattern.
    boolean
    Attribute specifying whether to ignore the difference between / and \ (the two common directory characters).
    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 specifying whether to ignore the case difference in the names.
    void
    Sets the "from" pattern.
    void
    setHandleDirSep(boolean handleDirSep)
    Attribute specifying whether to ignore the difference between / and \ (the two common directory characters).
    void
    Sets the "to" pattern.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • fromPrefix

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

      protected 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 String toPrefix
      Part of "to" pattern before the *.
    • toPostfix

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

      public void setTo(String to)
      Sets the "to" pattern. Required.
      Specified by:
      setTo in interface FileNameMapper
      Parameters:
      to - a string
    • 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
    • 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