org.mortbay.jetty.handler.rewrite
Class RegexRule

java.lang.Object
  extended by org.mortbay.jetty.handler.rewrite.Rule
      extended by 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 © 2009 Mortbay Consulting Pty. Ltd. All Rights Reserved.