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
    setFrom​(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​(String to)
    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