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.| Modifier and Type | Field and Description |
|---|---|
protected HashMap<String,List<Rule>> |
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<Rule> |
rules
The set of registered Rule instances, in the order that they were
originally registered.
|
| Constructor and Description |
|---|
RulesBase() |
| Modifier and Type | Method and 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()
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<Rule> |
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<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)
Set the namespace URI that will be applied to all subsequently
added
Rule objects. |
protected HashMap<String,List<Rule>> cache
protected Digester digester
protected String namespaceURI
Rule
objects are relevant, or null for matching independent
of namespaces.public Digester getDigester()
getDigester in interface Rulespublic void setDigester(Digester digester)
setDigester in interface Rulesdigester - The newly associated Digester instancepublic String getNamespaceURI()
Rule objects.getNamespaceURI in interface Rulespublic void setNamespaceURI(String namespaceURI)
Rule objects.setNamespaceURI in interface RulesnamespaceURI - Namespace URI that must match on all
subsequently added rules, or null for matching
regardless of the current namespace URIpublic void add(String pattern, Rule rule)
public void clear()
public List<Rule> match(String namespaceURI, String pattern)
add()
method.public List<Rule> rules()
add()
method.protected List<Rule> lookup(String namespaceURI, String pattern)
null.namespaceURI - Namespace URI to match, or null to
select matching rules regardless of namespace URIpattern - Pattern to be matchedCopyright © 2000-2013 Apache Software Foundation. All Rights Reserved.