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`