Package org.apache.commons.digester
Class WithDefaultsRulesWrapper
java.lang.Object
org.apache.commons.digester.WithDefaultsRulesWrapper
- All Implemented Interfaces:
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.
- Since:
- 1.6
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a Rule to be fired on given pattern.void
addDefault
(Rule rule) Adds a rule to be fired when wrapped implementation returns no matchesvoid
clear()
Clears all Rule'sGets Rule's which will be fired when the wrapped implementation returns no matchesGets digester using these RulesGets namespace to apply to Rule's addedReturn a List of all registered Rule instances that match the specified nesting pattern, or a zero-length List if there are no matches.Return list of rules matching given pattern.rules()
Gets all rulesvoid
setDigester
(Digester digester) Sets digeseter using these Rulesvoid
setNamespaceURI
(String namespaceURI) Sets namespace to apply to Rule's added subsequently
-
Constructor Details
-
WithDefaultsRulesWrapper
Base constructor.- Parameters:
wrappedRules
- the wrappedRules
implementation, not null- Throws:
IllegalArgumentException
- whenwrappedRules
is null
-
-
Method Details
-
getDigester
Gets digester using these Rules- Specified by:
getDigester
in interfaceRules
-
setDigester
Sets digeseter using these Rules- Specified by:
setDigester
in interfaceRules
- Parameters:
digester
- The newly associated Digester instance
-
getNamespaceURI
Gets namespace to apply to Rule's added- Specified by:
getNamespaceURI
in interfaceRules
-
setNamespaceURI
Sets namespace to apply to Rule's added subsequently- Specified by:
setNamespaceURI
in interfaceRules
- Parameters:
namespaceURI
- Namespace URI that must match on all subsequently added rules, ornull
for matching regardless of the current namespace URI
-
getDefaults
Gets Rule's which will be fired when the wrapped implementation returns no matches -
match
Description copied from interface:Rules
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 theadd()
method. -
match
Return list of rules matching given pattern. If wrapped implementation returns any matches return those. Otherwise, return default matches. -
addDefault
Adds a rule to be fired when wrapped implementation returns no matches -
rules
Gets all rules -
clear
Clears all Rule's -
add
Adds a Rule to be fired on given pattern. Pattern matching is delegated to wrapped implementation.
-