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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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`

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