## org.apache.tomcat.util.digester
Class AbstractRulesImpl

    java.lang.Object
      org.apache.tomcat.util.digester.AbstractRulesImpl

All Implemented Interfaces:
  Rules

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

Constructor Summary
`AbstractRulesImpl()`

Method Summary
`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`

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.tomcat.util.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`

Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.