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