| java.lang.Object org.apache.commons.digester.RulesBase
All known Subclasses: org.apache.commons.digester.ExtendedBaseRules,
RulesBase | public class RulesBase implements Rules(Code) | | 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.
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 | |
public void | add(String pattern, Rule rule) Register a new Rule instance matching the specified pattern. | public void | clear() Clear all existing Rule instance registrations. | public Digester | getDigester() Return the Digester instance with which this Rules instance is
associated. | public 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). | public 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. | public 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. | public List | rules() Return a List of all registered Rule instances, or a zero-length List
if there are no registered Rule instances. | public void | setDigester(Digester digester) Set the Digester instance with which this Rules instance is associated. | public void | setNamespaceURI(String namespaceURI) Set the namespace URI that will be applied to all subsequently
added Rule objects. |
cache | protected HashMap cache(Code) | | 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 orginally registered.
|
digester | protected Digester digester(Code) | | The Digester instance with which this Rules instance is associated.
|
namespaceURI | protected String namespaceURI(Code) | | The namespace URI for which subsequently added Rule
objects are relevant, or null for matching independent
of namespaces.
|
rules | protected ArrayList rules(Code) | | The set of registered Rule instances, in the order that they were
originally registered.
|
add | public void add(String pattern, Rule rule)(Code) | | Register a new Rule instance matching the specified pattern.
Parameters: pattern - Nesting pattern to be matched for this Rule Parameters: rule - Rule instance to be registered |
clear | public void clear()(Code) | | Clear all existing Rule instance registrations.
|
getDigester | public Digester getDigester()(Code) | | Return the Digester instance with which this Rules instance is
associated.
|
getNamespaceURI | public String getNamespaceURI()(Code) | | Return the namespace URI that will be applied to all subsequently
added Rule objects.
|
lookup | protected List lookup(String namespaceURI, String pattern)(Code) | | 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, return null .
Parameters: namespaceURI - Namespace URI to match, or null toselect matching rules regardless of namespace URI Parameters: pattern - Pattern to be matched |
match | public List match(String pattern)(Code) | | 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 the add()
method.
Parameters: pattern - Nesting pattern to be matched |
match | public List match(String namespaceURI, String pattern)(Code) | | 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 the add()
method.
Parameters: namespaceURI - Namespace URI for which to select matching rules,or null to match regardless of namespace URI Parameters: pattern - Nesting pattern to be matched |
rules | public List rules()(Code) | | 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 the add()
method.
|
setDigester | public void setDigester(Digester digester)(Code) | | Set the Digester instance with which this Rules instance is associated.
Parameters: digester - The newly associated Digester instance |
setNamespaceURI | public void setNamespaceURI(String namespaceURI)(Code) | | Set the namespace URI that will be applied to all subsequently
added Rule objects.
Parameters: namespaceURI - Namespace URI that must match on allsubsequently added rules, or null for matchingregardless of the current namespace URI |
|
|