## 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 java.lang.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
`RegexpMatcherFactory()` Constructor for RegexpMatcherFactory.

Method Summary
`protected RegexpMatcher` `createInstance(java.lang.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(java.lang.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 Detail

### RegexpMatcherFactory

    public RegexpMatcherFactory()

  Constructor for RegexpMatcherFactory.

Method Detail

### 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(java.lang.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(java.lang.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`