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 TypeMethodDescriptionvoidAdds a Rule to be fired on given pattern.voidaddDefault(Rule rule) Adds a rule to be fired when wrapped implementation returns no matchesvoidclear()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 rulesvoidsetDigester(Digester digester) Sets digeseter using these RulesvoidsetNamespaceURI(String namespaceURI) Sets namespace to apply to Rule's added subsequently
-
Constructor Details
-
WithDefaultsRulesWrapper
Base constructor.- Parameters:
wrappedRules- the wrappedRulesimplementation, not null- Throws:
IllegalArgumentException- whenwrappedRulesis null
-
-
Method Details
-
getDigester
Gets digester using these Rules- Specified by:
getDigesterin interfaceRules
-
setDigester
Sets digeseter using these Rules- Specified by:
setDigesterin interfaceRules- Parameters:
digester- The newly associated Digester instance
-
getNamespaceURI
Gets namespace to apply to Rule's added- Specified by:
getNamespaceURIin interfaceRules
-
setNamespaceURI
Sets namespace to apply to Rule's added subsequently- Specified by:
setNamespaceURIin interfaceRules- Parameters:
namespaceURI- Namespace URI that must match on all subsequently added rules, ornullfor 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:RulesReturn 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
-
clear
-
add
-