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.

    Methods inherited from class java.lang.Object

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

    • fromPrefix

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

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

      protected java.lang.String toPostfix
      Part of "to" pattern after the *.
  • Constructor Details

  • 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 interface FileNameMapper
      Parameters:
      from - a string
    • setTo

      public void setTo​(java.lang.String to)
      Sets the "to" pattern. Required.
      Specified by:
      setTo in interface FileNameMapper
      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 interface FileNameMapper
      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