Class RegexRules

java.lang.Object
org.apache.commons.digester.AbstractRulesImpl
org.apache.commons.digester.RegexRules
All Implemented Interfaces:
Rules

public class RegexRules extends AbstractRulesImpl

Rules implementation that uses regular expression matching for paths.

The regex implementation is pluggable, allowing different strategies to be used. The basic way that this class work does not vary. All patterns are tested to see if they match the path using the regex matcher. All those that do are return in the order which the rules were added.

Since:
1.5
  • Field Details

  • Constructor Details

    • RegexRules

      public RegexRules(RegexMatcher matcher)
      Construct sets the Regex matching strategy.
      Parameters:
      matcher - the regex strategy to be used, not null
      Throws:
      IllegalArgumentException - if the strategy is null
  • Method Details

    • getRegexMatcher

      public RegexMatcher getRegexMatcher()
      Gets the current regex matching strategy.
    • setRegexMatcher

      public void setRegexMatcher(RegexMatcher matcher)
      Sets the current regex matching strategy.
      Parameters:
      matcher - use this RegexMatcher, not null
      Throws:
      IllegalArgumentException - if the strategy is null
    • registerRule

      protected void registerRule(String pattern, Rule rule)
      Register a new Rule instance matching the specified pattern.
      Specified by:
      registerRule in class AbstractRulesImpl
      Parameters:
      pattern - Nesting pattern to be matched for this Rule
      rule - Rule instance to be registered
    • clear

      public void clear()
      Clear all existing Rule instance registrations.
      Specified by:
      clear in interface Rules
      Specified by:
      clear in class AbstractRulesImpl
    • match

      public List<Rule> match(String namespaceURI, String pattern)
      Finds matching rules by using current regex matching strategy. The rule associated with each path that matches is added to the list of matches. The order of matching rules is the same order that they were added.
      Specified by:
      match in interface Rules
      Specified by:
      match in class AbstractRulesImpl
      Parameters:
      namespaceURI - Namespace URI for which to select matching rules, or null to match regardless of namespace URI
      pattern - Nesting pattern to be matched
      Returns:
      a list of matching Rule's
    • rules

      public List<Rule> rules()
      Return a List of all registered Rule instances, or a zero-length List if there are no registered Rule instances. If more than one Rule instance has been registered, they must be returned in the order originally registered through the add() method.
      Specified by:
      rules in interface Rules
      Specified by:
      rules in class AbstractRulesImpl