Package org.apache.tomcat.util.digester
Class WithDefaultsRulesWrapper
- java.lang.Object
-
- org.apache.tomcat.util.digester.WithDefaultsRulesWrapper
-
- All Implemented Interfaces:
Rules
public class WithDefaultsRulesWrapper extends Object implements Rules
RulesDecorator that returns default rules when no matches are returned by the wrapped implementation.This allows default
Ruleinstances to be added to any existingRulesimplementation. These defaultRuleinstances 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.WithDefaultsRulesWrapperfollows the Decorator pattern.- Since:
- 1.6
-
-
Constructor Summary
Constructors Constructor Description WithDefaultsRulesWrapper(Rules wrappedRules)Base constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(String pattern, Rule rule)Adds 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 RulesList<Rule>getDefaults()Gets Rule's which will be fired when the wrapped implementation returns no matchesDigestergetDigester()Gets digester using these RulesStringgetNamespaceURI()Gets namespace to apply to Rules addedList<Rule>match(String namespaceURI, String pattern)Return list of rules matching given pattern.List<Rule>rules()Gets all rulesvoidsetDigester(Digester digester)Sets digeseter using these RulesvoidsetNamespaceURI(String namespaceURI)Sets namespace to apply to Rules added subsequently
-
-
-
Constructor Detail
-
WithDefaultsRulesWrapper
public WithDefaultsRulesWrapper(Rules wrappedRules)
Base constructor.- Parameters:
wrappedRules- the wrappedRulesimplementation, not null- Throws:
IllegalArgumentException- whenwrappedRulesis null
-
-
Method Detail
-
getDigester
public Digester getDigester()
Gets digester using these Rules- Specified by:
getDigesterin interfaceRules
-
setDigester
public void setDigester(Digester digester)
Sets digeseter using these Rules- Specified by:
setDigesterin interfaceRules- Parameters:
digester- The newly associated Digester instance
-
getNamespaceURI
public String getNamespaceURI()
Gets namespace to apply to Rules added- Specified by:
getNamespaceURIin interfaceRules
-
setNamespaceURI
public void setNamespaceURI(String namespaceURI)
Sets namespace to apply to Rules 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
public List<Rule> getDefaults()
Gets Rule's which will be fired when the wrapped implementation returns no matches
-
match
public List<Rule> match(String namespaceURI, String pattern)
Return list of rules matching given pattern. If wrapped implementation returns any matches return those. Otherwise, return default matches.
-
addDefault
public void addDefault(Rule rule)
Adds a rule to be fired when wrapped implementation returns no matches
-
-