org.apache.commons.digester
public class RulesBase extends Object implements 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:
<c>
element, nested inside a <b>
element, which is nested inside an <a>
element.<b>
element, nested inside an <a>
element, no matter how deeply the pair is nested.Note that wildcard patterns are ignored if an explicit match can be found (and when multiple wildcard patterns match, only the longest, ie most explicit, pattern is considered a match).
See the package documentation for package org.apache.commons.digester for more information.
Field Summary | |
---|---|
protected HashMap | cache
The set of registered Rule instances, keyed by the matching pattern.
|
protected Digester | digester
The Digester instance with which this Rules instance is associated. |
protected String | namespaceURI
The namespace URI for which subsequently added Rule
objects are relevant, or null for matching independent
of namespaces. |
protected ArrayList | rules
The set of registered Rule instances, in the order that they were
originally registered. |
Method Summary | |
---|---|
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()
Return the Digester instance with which this Rules instance is
associated. |
String | getNamespaceURI()
Return the namespace URI that will be applied to all subsequently
added Rule objects. |
protected List | lookup(String namespaceURI, String pattern)
Return a List of Rule instances for the specified pattern that also
match the specified namespace URI (if any). |
List | match(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 | 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 | 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)
Set the namespace URI that will be applied to all subsequently
added Rule objects.
|
Rule
objects are relevant, or null
for matching independent
of namespaces.Parameters: pattern Nesting pattern to be matched for this Rule rule Rule instance to be registered
Rule
objects.null
.
Parameters: namespaceURI Namespace URI to match, or null
to
select matching rules regardless of namespace URI pattern Pattern to be matched
Deprecated: Call match(namespaceURI,pattern) instead.
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.
Parameters: pattern Nesting pattern to be matched
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
add()
method.Parameters: digester The newly associated Digester instance
Rule
objects.
Parameters: namespaceURI Namespace URI that must match on all
subsequently added rules, or null
for matching
regardless of the current namespace URI