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

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