Class AbstractRulesImpl

  • All Implemented Interfaces:
    Rules
    Direct Known Subclasses:
    RegexRules

    public abstract class AbstractRulesImpl
    extends java.lang.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
      Digester using this Rules implementation
      private java.lang.String namespaceURI
      Namespace uri to assoicate with subsequent Rule's
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void add​(java.lang.String pattern, Rule rule)
      Registers a new Rule instance matching the specified pattern.
      abstract void clear()
      Clear all existing Rule instance registrations.
      Digester getDigester()
      Return the Digester instance with which this Rules instance is associated.
      java.lang.String getNamespaceURI()
      Return the namespace URI that will be applied to all subsequently added Rule objects.
      java.util.List match​(java.lang.String pattern)
      Deprecated.
      Call match(namespaceURI,pattern) instead.
      abstract java.util.List match​(java.lang.String namespaceURI, java.lang.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​(java.lang.String pattern, Rule rule)
      Register rule at given pattern.
      abstract java.util.List rules()
      Return a List of all registered Rule instances, or a zero-length List if there are no registered Rule instances.
      void setDigester​(Digester digester)
      Set the Digester instance with which this Rules instance is associated.
      void setNamespaceURI​(java.lang.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 Detail

      • digester

        private Digester digester
        Digester using this Rules implementation
      • namespaceURI

        private java.lang.String namespaceURI
        Namespace uri to assoicate with subsequent Rule's
    • Constructor Detail

      • AbstractRulesImpl

        public AbstractRulesImpl()
    • Method Detail

      • 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 java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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

        public java.util.List match​(java.lang.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 java.util.List match​(java.lang.String namespaceURI,
                                             java.lang.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 java.util.List 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