## org.mortbay.jetty.handler.rewrite
Class RegexRule

    java.lang.Object
      org.mortbay.jetty.handler.rewrite.Rule
          org.mortbay.jetty.handler.rewrite.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.

Field Summary
`protected java.util.regex.Pattern` `_regex`

Fields inherited from class org.mortbay.jetty.handler.rewrite.Rule
`_handling, _terminating`

Constructor Summary
`RegexRule()`

Method Summary
`protected abstract java.lang.String` `apply(java.lang.String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.util.regex.Matcher matcher)` Apply this rule to the request/response pair.
`java.lang.String` `getRegex()`
`java.lang.String` `matchAndApply(java.lang.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(java.lang.String regex)` Sets the regular expression string used to match with string URI.
`java.lang.String` `toString()` Returns the regular expression string.

Methods inherited from class org.mortbay.jetty.handler.rewrite.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 java.util.regex.Pattern _regex

Constructor Detail

### RegexRule

    public RegexRule()

Method Detail

### setRegex

    public void setRegex(java.lang.String regex)

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

  Parameters:
    `regex` - the regular expression.

### getRegex

    public java.lang.String getRegex()

  Returns:
    get the regular expression

### matchAndApply

    public java.lang.String matchAndApply(java.lang.String target,
                                          javax.servlet.http.HttpServletRequest request,
                                          javax.servlet.http.HttpServletResponse response)
                                   throws java.io.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:
    `java.io.IOException` - TODO

### apply

    protected abstract java.lang.String apply(java.lang.String target,
                                              javax.servlet.http.HttpServletRequest request,
                                              javax.servlet.http.HttpServletResponse response,
                                              java.util.regex.Matcher matcher)
                                       throws java.io.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:
    `java.io.IOException` - exceptions dealing with operating on request or response objects

### toString

    public java.lang.String toString()

  Returns the regular expression string.

  Overrides:
    `toString` in class `Rule`

Copyright © 1995-2010 Mort Bay Consulting. All Rights Reserved.