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 Rules
public void setDigester(Digester digester)
setDigester
in interface Rules
digester
- The newly associated Digester instancepublic String getNamespaceURI()
Rule
objects.getNamespaceURI
in interface Rules
public void setNamespaceURI(String namespaceURI)
Rule
objects.setNamespaceURI
in interface Rules
namespaceURI
- 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-2021 Apache Software Foundation. All Rights Reserved.