org.eclipse.jetty.rewrite.handler

## Class RegexRule

- java.lang.Object
- - org.eclipse.jetty.rewrite.handler.Rule
  - - org.eclipse.jetty.rewrite.handler.RegexRule

Direct Known Subclasses:
  RedirectRegexRule, RewriteRegexRule

    public abstract class RegexRule
    extends Rule

Abstract rule to use as a base class for rules that match with a regular expression.

### Nested Class Summary

### Nested classes/interfaces inherited from class org.eclipse.jetty.rewrite.handler.Rule

`Rule.ApplyURI`

### Field Summary

Fields
`protected Pattern` `_regex`

### Fields inherited from class org.eclipse.jetty.rewrite.handler.Rule

`_handling, _terminating`

### Constructor Summary

Constructors
Constructor and Description
`RegexRule()`

### Method Summary

Methods
`protected abstract String` `apply(String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Matcher matcher)` Apply this rule to the request/response pair.
`String` `getRegex()`
`String` `matchAndApply(String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)` This method calls tests the rule against the request/response pair and if the Rule applies, then the rule's action is triggered.
`void` `setRegex(String regex)` Sets the regular expression string used to match with string URI.
`String` `toString()` Returns the regular expression string.

### Methods inherited from class org.eclipse.jetty.rewrite.handler.Rule

`isHandling, isTerminating, setHandling, setTerminating`

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

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

### Field Detail

#### _regex

    protected Pattern _regex

### Constructor Detail

#### RegexRule

    public RegexRule()

### Method Detail

#### setRegex

    public void setRegex(String regex)

Sets the regular expression string used to match with string URI.

Parameters:
  `regex` - the regular expression.

#### getRegex

    public String getRegex()

Returns:
  get the regular expression

#### matchAndApply

    public String matchAndApply(String target,
                       javax.servlet.http.HttpServletRequest request,
                       javax.servlet.http.HttpServletResponse response)
                         throws IOException

Description copied from class: `Rule`
This method calls tests the rule against the request/response pair and if the Rule applies, then the rule's action is triggered.

Specified by:
  `matchAndApply` in class `Rule`
Parameters:
  `target` - The target of the request
Returns:
  The new target if the rule has matched, else null
Throws:
  `IOException` - TODO

#### apply

    protected abstract String apply(String target,
               javax.servlet.http.HttpServletRequest request,
               javax.servlet.http.HttpServletResponse response,
               Matcher matcher)
                             throws IOException

Apply this rule to the request/response pair. Called by `matchAndApply(String, HttpServletRequest, HttpServletResponse)` if the regex matches.

Parameters:
  `target` - field to attempt match
  `request` - request object
  `response` - response object
  `matcher` - The Regex matcher that matched the request (with capture groups available for replacement).
Returns:
  The target (possible updated).
Throws:
  `IOException` - exceptions dealing with operating on request or response objects

#### toString

    public String toString()

Returns the regular expression string.

Overrides:
  `toString` in class `Rule`