public class RulesBase extends java.lang.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 java.util.HashMap<java.lang.String,java.util.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 java.lang.String |
namespaceURI
The namespace URI for which subsequently added
Rule
objects are relevant, or null for matching independent
of namespaces. |
protected java.util.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(java.lang.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.
|
java.lang.String |
getNamespaceURI()
Return the namespace URI that will be applied to all subsequently
added
Rule objects. |
protected java.util.List<Rule> |
lookup(java.lang.String namespaceURI,
java.lang.String pattern)
Return a List of Rule instances for the specified pattern that also
match the specified namespace URI (if any).
|
java.util.List<Rule> |
match(java.lang.String namespaceURI,
java.lang.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.
|
java.util.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(java.lang.String namespaceURI)
Set the namespace URI that will be applied to all subsequently
added
Rule objects. |
protected java.util.HashMap<java.lang.String,java.util.List<Rule>> cache
protected Digester digester
protected java.lang.String namespaceURI
Rule
objects are relevant, or null
for matching independent
of namespaces.protected java.util.ArrayList<Rule> rules
public Digester getDigester()
getDigester
in interface Rules
public void setDigester(Digester digester)
setDigester
in interface Rules
digester
- The newly associated Digester instancepublic java.lang.String getNamespaceURI()
Rule
objects.getNamespaceURI
in interface Rules
public void setNamespaceURI(java.lang.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(java.lang.String pattern, Rule rule)
public void clear()
public java.util.List<Rule> match(java.lang.String namespaceURI, java.lang.String pattern)
add()
method.public java.util.List<Rule> rules()
add()
method.protected java.util.List<Rule> lookup(java.lang.String namespaceURI, java.lang.String pattern)
null
.namespaceURI
- Namespace URI to match, or null
to
select matching rules regardless of namespace URIpattern
- Pattern to be matchedCopyright © 2000-2018 Apache Software Foundation. All Rights Reserved.