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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GlobPatternMapper()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected String`
  `extractVariablePart​(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).
  `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.
  `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