Class AbstractRulesImpl

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

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.digester.Rule) (rather than add(java.lang.String, org.apache.commons.digester.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 Summary

    Fields
    Modifier and Type
    Field
    Description
    private Digester
    Digester using this Rules implementation
    private String
    Namespace uri to assoicate with subsequent Rule's
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(String pattern, Rule rule)
    Registers a new Rule instance matching the specified pattern.
    abstract void
    Clear all existing Rule instance registrations.
    Return the Digester instance with which this Rules instance is associated.
    Return the namespace URI that will be applied to all subsequently added Rule objects.
    match(String pattern)
    Deprecated.
    Call match(namespaceURI,pattern) instead.
    abstract List<Rule>
    match(String namespaceURI, String pattern)
    Return a List of all registered Rule instances that match the specified nesting pattern, or a zero-length List if there are no matches.
    protected abstract void
    registerRule(String pattern, Rule rule)
    Register rule at given pattern.
    abstract List<Rule>
    Return a List of all registered Rule instances, or a zero-length List if there are no registered Rule instances.
    void
    Set the Digester instance with which this Rules instance is associated.
    void
    setNamespaceURI(String namespaceURI)
    Set the namespace URI that will be applied to all subsequently added Rule objects.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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
    • 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
    • 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 void add(String pattern, Rule rule)
      Registers a new Rule instance matching the specified pattern. This implementation sets the Digester and the namespaceURI on the Rule before calling registerRule(java.lang.String, org.apache.commons.digester.Rule).
      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
    • clear

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

      @Deprecated public List<Rule> match(String pattern)
      Deprecated.
      Call match(namespaceURI,pattern) instead.
      Return a List of all registered Rule instances that match the specified nesting pattern, or a zero-length List if there are no matches. If more than one Rule instance matches, they must be returned in the order originally registered through the add() method.
      Specified by:
      match in interface Rules
      Parameters:
      pattern - Nesting pattern to be matched
    • match

      public abstract List<Rule> match(String namespaceURI, String pattern)
      Return a List of all registered Rule instances that match the specified nesting pattern, or a zero-length List if there are no matches. If more than one Rule instance matches, they must be returned in the order originally registered through the add() method.
      Specified by:
      match in interface Rules
      Parameters:
      namespaceURI - Namespace URI for which to select matching rules, or null to match regardless of namespace URI
      pattern - Nesting pattern to be matched
    • rules

      public abstract 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