Package org.apache.tomcat.util.digester

## Interface Rules

All Known Implementing Classes:
  `RulesBase`

    public interface Rules

Public interface defining a collection of Rule instances (and corresponding matching patterns) plus an implementation of a matching policy that selects the rules that match a particular pattern of nested elements discovered during parsing.

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `add​(String pattern, Rule rule)` Register a new Rule instance matching the specified pattern.
`void` `clear()` Clear all existing Rule instance registrations.
`Digester` `getDigester()`
`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.
`List<Rule>` `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.

### Method Detail

#### getDigester

    Digester getDigester()

Returns:
  the Digester instance with which this Rules instance is associated.

#### setDigester

    void setDigester​(Digester digester)

Set the Digester instance with which this Rules instance is associated.

Parameters:
  `digester` - The newly associated Digester instance

#### add

    void add​(String pattern,
             Rule rule)

Register a new Rule instance matching the specified pattern.

Parameters:
  `pattern` - Nesting pattern to be matched for this Rule
  `rule` - Rule instance to be registered

#### clear

    void clear()

Clear all existing Rule instance registrations.

#### match

    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.

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 rules list

#### rules

    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.

Returns:
  a rules list