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

  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()`
  `String`
  `getNamespaceURI()`
  Deprecated.
  Unused.
  `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.
  `void`
  `setNamespaceURI(String namespaceURI)`
  Deprecated.
  Unused.

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

  - ### getNamespaceURI

    @Deprecated String getNamespaceURI()
    Deprecated.
    Unused. Will be removed in Tomcat 9
    Returns:
      the namespace URI that will be applied to all subsequently added `Rule` objects.

  - ### setNamespaceURI

    @Deprecated void setNamespaceURI(String namespaceURI)
    Deprecated.
    Unused. Will be removed in Tomcat 9
    Set the namespace URI that will be applied to all subsequently added `Rule` objects.
    Parameters:
      `namespaceURI` - Namespace URI that must match on all subsequently added rules, or `null` for matching regardless of the current namespace URI

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