Package org.apache.tomcat.util.digester
Class RulesBase
java.lang.Object
org.apache.tomcat.util.digester.RulesBase
- All Implemented Interfaces:
Rules
Default implementation of the Rules
interface that supports
the standard rule matching behavior. This class can also be used as a
base class for specialized Rules
implementations.
The matching policies implemented by this class support two different types of pattern matching rules:
- Exact Match - A pattern "a/b/c" exactly matches a
<c>
element, nested inside a<b>
element, which is nested inside an<a>
element. - Tail Match - A pattern "*/a/b" matches a
<b>
element, nested inside an<a>
element, no matter how deeply the pair is nested.
-
Field Summary
Modifier and TypeFieldDescriptionThe set of registered Rule instances, keyed by the matching pattern.protected Digester
The Digester instance with which this Rules instance is associated.The set of registered Rule instances, in the order that they were originally registered. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Register a new Rule instance matching the specified pattern.void
clear()
Clear all existing Rule instance registrations.Return the Digester instance with which this Rules instance is associated.Return a List of Rule instances for the specified pattern that also match the specified namespace URI (if any).Return a List of all registered Rule instances that match the specified nesting pattern, or a zero-length List if there are no matches.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.
-
Field Details
-
cache
The set of registered Rule instances, keyed by the matching pattern. Each value is a List containing the Rules for that pattern, in the order that they were originally registered. -
digester
The Digester instance with which this Rules instance is associated. -
rules
The set of registered Rule instances, in the order that they were originally registered.
-
-
Constructor Details
-
RulesBase
public RulesBase()
-
-
Method Details
-
getDigester
Return the Digester instance with which this Rules instance is associated.- Specified by:
getDigester
in interfaceRules
- Returns:
- the Digester instance with which this Rules instance is associated.
-
setDigester
Set the Digester instance with which this Rules instance is associated.- Specified by:
setDigester
in interfaceRules
- Parameters:
digester
- The newly associated Digester instance
-
add
Register a new Rule instance matching the specified pattern. -
clear
public void clear()Clear all existing Rule instance registrations. -
match
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 theadd()
method. -
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 theadd()
method. -
lookup
Return a List of Rule instances for the specified pattern that also match the specified namespace URI (if any). If there are no such rules, returnnull
.- Parameters:
namespaceURI
- Namespace URI to match, ornull
to select matching rules regardless of namespace URIpattern
- Pattern to be matched- Returns:
- a rules list
-