Package org.apache.tools.ant.util.regexp

# Class RegexpMatcherFactory

java.lang.Object
org.apache.tools.ant.util.regexp.RegexpMatcherFactory

Direct Known Subclasses:
  `RegexpFactory`

public class RegexpMatcherFactory extends Object
Simple Factory Class that produces an implementation of RegexpMatcher based on the system property `ant.regexp.regexpimpl` and the classes available.

In a more general framework this class would be abstract and have a static newInstance method.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RegexpMatcherFactory()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected RegexpMatcher`
  `createInstance​(String className)`
  Create an instance of a matcher from a classname.
  `RegexpMatcher`
  `newRegexpMatcher()`
  Create a new regular expression instance.
  `RegexpMatcher`
  `newRegexpMatcher​(Project p)`
  Create a new regular expression instance.
  `static boolean`
  `regexpMatcherPresent​(Project project)`
  Checks if a RegExp-Matcher is available.
  `protected void`
  `testAvailability​(String className)`
  Test if a particular class is available to be used.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### RegexpMatcherFactory

    public RegexpMatcherFactory()

- ## Method Details

  - ### newRegexpMatcher

    public RegexpMatcher newRegexpMatcher() throws BuildException
    Create a new regular expression instance.
    Returns:
      the matcher
    Throws:
      `BuildException` - on error

  - ### newRegexpMatcher

    public RegexpMatcher newRegexpMatcher​(Project p) throws BuildException
    Create a new regular expression instance.
    Parameters:
      `p` - Project whose ant.regexp.regexpimpl property will be used.
    Returns:
      the matcher
    Throws:
      `BuildException` - on error

  - ### createInstance

    protected RegexpMatcher createInstance​(String className) throws BuildException
    Create an instance of a matcher from a classname.
    Parameters:
      `className` - a `String` value
    Returns:
      a `RegexpMatcher` value
    Throws:
      `BuildException` - if an error occurs

  - ### testAvailability

    protected void testAvailability​(String className) throws BuildException
    Test if a particular class is available to be used.
    Parameters:
      `className` - a `String` value
    Throws:
      `BuildException` - if an error occurs

  - ### regexpMatcherPresent

    public static boolean regexpMatcherPresent​(Project project)
    Checks if a RegExp-Matcher is available.
    Parameters:
      `project` - The project to check for (may be `null`)
    Returns:
      `true` if available otherwise `false`