org.eclipse.jetty.rewrite.handler

## Class RuleContainer

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

Direct Known Subclasses:
  VirtualHostRuleContainer

    public class RuleContainer
    extends Rule

Base container to group rules. Can be extended so that the contained rules will only be applied under certain conditions

### Nested Class Summary

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

`Rule.ApplyURI`

### Field Summary

Fields
`protected LegacyRule` `_legacy`
`protected String` `_originalPathAttribute`
`protected boolean` `_rewritePathInfo`
`protected boolean` `_rewriteRequestURI`
`protected Rule[]` `_rules`

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

`_handling, _terminating`

### Constructor Summary

Constructors
Constructor and Description
`RuleContainer()`

### Method Summary

Methods
`void` `addRule(Rule rule)` Add a Rule
`protected String` `apply(String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)` Process the contained rules (called by matchAndApply)
`LegacyRule` `getLegacyRule()` Deprecated.
`String` `getOriginalPathAttribute()`
`Rule[]` `getRules()` Returns the list of rules.
`boolean` `isRewritePathInfo()`
`boolean` `isRewriteRequestURI()`
`String` `matchAndApply(String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)` Process the contained rules
`void` `setLegacyRule(LegacyRule legacyRule)` Deprecated.
`void` `setOriginalPathAttribute(String originalPathAttribte)`
`void` `setRewritePathInfo(boolean rewritePathInfo)`
`void` `setRewriteRequestURI(boolean rewriteRequestURI)`
`void` `setRules(Rule[] rules)` Assigns the rules to process.

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

`isHandling, isTerminating, setHandling, setTerminating, toString`

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

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

### Field Detail

#### _rules

    protected Rule[] _rules

#### _originalPathAttribute

    protected String _originalPathAttribute

#### _rewriteRequestURI

    protected boolean _rewriteRequestURI

#### _rewritePathInfo

    protected boolean _rewritePathInfo

#### _legacy

    protected LegacyRule _legacy

### Constructor Detail

#### RuleContainer

    public RuleContainer()

### Method Detail

#### getLegacyRule

    @Deprecated
    public LegacyRule getLegacyRule()

Deprecated.

#### setLegacyRule

    @Deprecated
    public void setLegacyRule(LegacyRule legacyRule)

Deprecated.
To enable configuration from jetty.xml on rewriteRequestURI, rewritePathInfo and originalPathAttribute

Parameters:
  `legacyRule` - old style rewrite rule

#### getRules

    public Rule[] getRules()

Returns the list of rules.

Returns:
  an array of `Rule`.

#### setRules

    public void setRules(Rule[] rules)

Assigns the rules to process.

Parameters:
  `rules` - an array of `Rule`.

#### addRule

    public void addRule(Rule rule)

Add a Rule

Parameters:
  `rule` - The rule to add to the end of the rules array

#### isRewriteRequestURI

    public boolean isRewriteRequestURI()

Returns:
  the rewriteRequestURI If true, this handler will rewrite the value returned by `HttpServletRequest.getRequestURI()`.

#### setRewriteRequestURI

    public void setRewriteRequestURI(boolean rewriteRequestURI)

Parameters:
  `rewriteRequestURI` - true if this handler will rewrite the value returned by `HttpServletRequest.getRequestURI()`.

#### isRewritePathInfo

    public boolean isRewritePathInfo()

Returns:
  true if this handler will rewrite the value returned by `HttpServletRequest.getPathInfo()`.

#### setRewritePathInfo

    public void setRewritePathInfo(boolean rewritePathInfo)

Parameters:
  `rewritePathInfo` - true if this handler will rewrite the value returned by `HttpServletRequest.getPathInfo()`.

#### getOriginalPathAttribute

    public String getOriginalPathAttribute()

Returns:
  the originalPathAttribte. If non null, this string will be used as the attribute name to store the original request path.

#### setOriginalPathAttribute

    public void setOriginalPathAttribute(String originalPathAttribte)

Parameters:
  `originalPathAttribte` - If non null, this string will be used as the attribute name to store the original request path.

#### matchAndApply

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

Process the contained rules

Specified by:
  `matchAndApply` in class `Rule`
Parameters:
  `target` - target field to pass on to the contained rules
  `request` - request object to pass on to the contained rules
  `response` - response object to pass on to the contained rules
Returns:
  The new target if the rule has matched, else null
Throws:
  `IOException` - TODO

#### apply

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

Process the contained rules (called by matchAndApply)

Parameters:
  `target` - target field to pass on to the contained rules
  `request` - request object to pass on to the contained rules
  `response` - response object to pass on to the contained rules
Throws:
  `IOException`