GlobPatternMapper (Apache Ant API)
Date: 2018-09-11

Package org.apache.tools.ant.util

## 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

    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