org.eclipse.jetty.rewrite.handler

## Class PatternRule

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

Direct Known Subclasses:
  CookiePatternRule, HeaderPatternRule, ProxyRule, RedirectPatternRule, ResponsePatternRule, RewritePatternRule

    public abstract class PatternRule
    extends Rule

Abstract rule that use a `PathMap` for pattern matching. It uses the servlet pattern syntax.

### Nested Class Summary

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

`Rule.ApplyURI`

### Field Summary

Fields
`protected String` `_pattern`

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

`_handling, _terminating`

### Constructor Summary

Constructors
Constructor and Description
`PatternRule()`

### Method Summary

Methods
`protected abstract String` `apply(String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)` Apply the rule to the request
`String` `getPattern()`
`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` `setPattern(String pattern)` Sets the rule pattern.
`String` `toString()` Returns the rule pattern.

### 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

#### _pattern

    protected String _pattern

### Constructor Detail

#### PatternRule

    public PatternRule()

### Method Detail

#### getPattern

    public String getPattern()

#### setPattern

    public void setPattern(String pattern)

Sets the rule pattern.

Parameters:
  `pattern` - the pattern

#### 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)
                             throws IOException

Apply the rule to the request

Parameters:
  `target` - field to attempt match
  `request` - request object
  `response` - response object
Returns:
  The target (possible updated)
Throws:
  `IOException` - exceptions dealing with operating on request or response objects

#### toString

    public String toString()

Returns the rule pattern.

Overrides:
  `toString` in class `Rule`