public class WithDefaultsRulesWrapper extends Object implements Rules
Rules
Decorator that returns default rules when no matches are returned by the wrapped
implementation.
This allows default Rule
instances to be added to any existing Rules
implementation. These
default Rule
instances will be returned for any match for which the wrapped implementation does not
return any matches.
For example,
Rule alpha; ... WithDefaultsRulesWrapper rules = new WithDefaultsRulesWrapper(new BaseRules()); rules.addDefault(alpha); ... digester.setRules(rules); ...when a pattern does not match any other rule, then rule alpha will be called.
WithDefaultsRulesWrapper
follows the Decorator pattern.
Constructor and Description |
---|
WithDefaultsRulesWrapper(Rules wrappedRules)
Base constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
add(String pattern,
Rule rule)
Register a new Rule instance matching the specified pattern.
|
void |
addDefault(Rule rule)
Adds a rule to be fired when wrapped implementation returns no matches
|
void |
clear()
Clear all existing Rule instance registrations.
|
List<Rule> |
getDefaults()
Gets Rule's which will be fired when the wrapped implementation returns no matches
|
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. |
List<Rule> |
match(String namespaceURI,
String pattern,
String name,
Attributes attributes)
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. |
public WithDefaultsRulesWrapper(Rules wrappedRules)
wrappedRules
- the wrapped Rules
implementation, not nullpublic 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
Rule
objects.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 List<Rule> getDefaults()
public List<Rule> match(String namespaceURI, String pattern, String name, Attributes attributes)
add()
method.match
in interface Rules
namespaceURI
- Namespace URI for which to select matching rules, or null
to match regardless of
namespace URIpattern
- Nesting pattern to be matchedname
- the local name if the parser is namespace aware, or just the element name otherwiseattributes
- The attribute list of the current matching elementpublic void addDefault(Rule rule)
rule
- a Rule to be fired when wrapped implementation returns no matchespublic List<Rule> rules()
add()
method.public void clear()
Copyright © 2001-2013 The Apache Software Foundation. All Rights Reserved.