org.apache.commons.digester
Class WithDefaultsRulesWrapper
java.lang.Object
org.apache.commons.digester.WithDefaultsRulesWrapper
- Rules
public class WithDefaultsRulesWrapper
extends java.lang.Object
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.
private List | allRules - All rules (preserves order in which they were originally added)
|
private List | defaultRules - Rules to be fired when the wrapped implementations returns none.
|
private Rules | wrappedRules - The Rules implementation that this class wraps.
|
void | add(String pattern, Rule rule) - Adds a Rule to be fired on given pattern.
|
void | addDefault(Rule rule) - Adds a rule to be fired when wrapped implementation returns no matches
|
void | clear() - Clears all Rule's
|
List | getDefaults() - Gets Rule's which will be fired when the wrapped implementation returns no matches
|
Digester | getDigester() - Gets digester using these Rules
|
String | getNamespaceURI() - Gets namespace to apply to Rule's added
|
List | match(String pattern) - Call match(namespaceURI,pattern) instead.
|
List | match(String namespaceURI, String pattern) - Return list of rules matching given pattern.
|
List | rules() - Gets all rules
|
void | setDigester(Digester digester) - Sets digeseter using these Rules
|
void | setNamespaceURI(String namespaceURI) - Sets namespace to apply to Rule's added subsequently
|
allRules
private List allRules
All rules (preserves order in which they were originally added)
defaultRules
private List defaultRules
Rules to be fired when the wrapped implementations returns none.
wrappedRules
private Rules wrappedRules
The Rules implementation that this class wraps.
WithDefaultsRulesWrapper
public WithDefaultsRulesWrapper(Rules wrappedRules)
Base constructor.
wrappedRules
- the wrapped Rules
implementation, not null
add
public void add(String pattern,
Rule rule)
Adds a Rule to be fired on given pattern.
Pattern matching is delegated to wrapped implementation.
- add in interface Rules
addDefault
public void addDefault(Rule rule)
Adds a rule to be fired when wrapped implementation returns no matches
clear
public void clear()
Clears all Rule's
- clear in interface Rules
getDefaults
public List getDefaults()
Gets Rule's which will be fired when the wrapped implementation returns no matches
getNamespaceURI
public String getNamespaceURI()
Gets namespace to apply to Rule's added
- getNamespaceURI in interface Rules
match
public List match(String pattern)
Call match(namespaceURI,pattern) instead.
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.
- match in interface Rules
pattern
- Nesting pattern to be matched
match
public List match(String namespaceURI,
String pattern)
Return list of rules matching given pattern.
If wrapped implementation returns any matches return those.
Otherwise, return default matches.
- match in interface Rules
rules
public List rules()
Gets all rules
- rules in interface Rules
setNamespaceURI
public void setNamespaceURI(String namespaceURI)
Sets namespace to apply to Rule's added subsequently
- setNamespaceURI in interface Rules
Copyright 2001-2005 The Apache Software Foundation.