Class AbstractRulesImpl

java.lang.Object
org.apache.commons.digester3.AbstractRulesImpl
All Implemented Interfaces:
Rules
Direct Known Subclasses:
RegexRules, RulesBase

public abstract class AbstractRulesImpl extends Object implements Rules

AbstractRuleImpl provides basic services for Rules implementations. Extending this class should make it easier to create a Rules implementation.

AbstractRuleImpl manages the Digester and namespaceUri properties. If the subclass overrides registerRule(java.lang.String, org.apache.commons.digester3.Rule) (rather than add(java.lang.String, org.apache.commons.digester3.Rule)), then the Digester and namespaceURI of the Rule will be set correctly before it is passed to registerRule. The subclass can then perform whatever it needs to do to register the rule.

Since:
1.5
  • Field Details

    • digester

      private Digester digester
      Digester using this Rules implementation
    • namespaceURI

      private String namespaceURI
      Namespace uri to assoicate with subsequent Rule's
  • Constructor Details

    • AbstractRulesImpl

      public AbstractRulesImpl()
  • Method Details

    • getDigester

      public Digester getDigester()
      Return the Digester instance with which this Rules instance is associated.
      Specified by:
      getDigester in interface Rules
      Returns:
      the Digester instance with which this Rules instance is associated
    • setDigester

      public void setDigester(Digester digester)
      Set the Digester instance with which this Rules instance is associated.
      Specified by:
      setDigester in interface Rules
      Parameters:
      digester - The newly associated Digester instance
    • getNamespaceURI

      public String getNamespaceURI()
      Return the namespace URI that will be applied to all subsequently added Rule objects.
      Specified by:
      getNamespaceURI in interface Rules
      Returns:
      the namespace URI that will be applied to all subsequently added Rule objects.
    • setNamespaceURI

      public void setNamespaceURI(String namespaceURI)
      Set the namespace URI that will be applied to all subsequently added Rule objects.
      Specified by:
      setNamespaceURI in interface Rules
      Parameters:
      namespaceURI - Namespace URI that must match on all subsequently added rules, or null for matching regardless of the current namespace URI
    • add

      public final void add(String pattern, Rule rule)
      Register a new Rule instance matching the specified pattern.
      Specified by:
      add in interface Rules
      Parameters:
      pattern - Nesting pattern to be matched for this Rule
      rule - Rule instance to be registered
    • registerRule

      protected abstract void registerRule(String pattern, Rule rule)
      Register rule at given pattern. The the Digester and namespaceURI properties of the given Rule can be assumed to have been set properly before this method is called.
      Parameters:
      pattern - Nesting pattern to be matched for this Rule
      rule - Rule instance to be registered