Class RuleContainer

  • All Implemented Interfaces:
    org.eclipse.jetty.util.component.Dumpable
    Direct Known Subclasses:
    RewriteCustomizer, VirtualHostRuleContainer

    public class RuleContainer
    extends Rule
    implements org.eclipse.jetty.util.component.Dumpable
    Base container to group rules. Can be extended so that the contained rules will only be applied under certain conditions
    • Field Detail

      • ORIGINAL_QUERYSTRING_ATTRIBUTE_SUFFIX

        public static final java.lang.String ORIGINAL_QUERYSTRING_ATTRIBUTE_SUFFIX
        See Also:
        Constant Field Values
      • _rules

        protected Rule[] _rules
      • _originalPathAttribute

        protected java.lang.String _originalPathAttribute
      • _originalQueryStringAttribute

        protected java.lang.String _originalQueryStringAttribute
      • _rewriteRequestURI

        protected boolean _rewriteRequestURI
      • _rewritePathInfo

        protected boolean _rewritePathInfo
    • Constructor Detail

      • RuleContainer

        public RuleContainer()
    • Method Detail

      • 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 java.lang.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​(java.lang.String originalPathAttribte)
        Parameters:
        originalPathAttribte - If non null, this string will be used as the attribute name to store the original request path.
      • matchAndApply

        public java.lang.String matchAndApply​(java.lang.String target,
                                              javax.servlet.http.HttpServletRequest request,
                                              javax.servlet.http.HttpServletResponse response)
                                       throws java.io.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:
        java.io.IOException - if unable to match the rule
      • apply

        protected java.lang.String apply​(java.lang.String target,
                                         javax.servlet.http.HttpServletRequest request,
                                         javax.servlet.http.HttpServletResponse response)
                                  throws java.io.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
        Returns:
        the target
        Throws:
        java.io.IOException - if unable to apply the rule
      • dump

        public void dump​(java.lang.Appendable out,
                         java.lang.String indent)
                  throws java.io.IOException
        Specified by:
        dump in interface org.eclipse.jetty.util.component.Dumpable
        Throws:
        java.io.IOException