Class 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 *.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      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 Detail

      • 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 Detail

      • GlobPatternMapper

        public GlobPatternMapper()
    • Method Detail

      • 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