Rules (Apache Tomcat 9.0.111 API Documentation)
Description: declaration: package: org.apache.tomcat.util.digester, interface: Rules

# 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

  Modifier and Type
  Method
  Description
  `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 Details

  - ### 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