org.apache.tomcat.util.digester

Class WithDefaultsRulesWrapper

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.

Since: 1.6

Constructor Summary
WithDefaultsRulesWrapper(Rules wrappedRules)
Base constructor.
Method Summary
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 matches
voidclear()
Clears all Rule's
ListgetDefaults()
Gets Rule's which will be fired when the wrapped implementation returns no matches
DigestergetDigester()
Gets digester using these Rules
StringgetNamespaceURI()
Gets namespace to apply to Rule's added
Listmatch(String pattern)
Listmatch(String namespaceURI, String pattern)
Return list of rules matching given pattern.
Listrules()
Gets all rules
voidsetDigester(Digester digester)
Sets digeseter using these Rules
voidsetNamespaceURI(String namespaceURI)
Sets namespace to apply to Rule's added subsequently

Constructor Detail

WithDefaultsRulesWrapper

public WithDefaultsRulesWrapper(Rules wrappedRules)
Base constructor.

Parameters: wrappedRules the wrapped Rules implementation, not null

Throws: IllegalArgumentException when wrappedRules is null

Method Detail

add

public void add(String pattern, Rule rule)
Adds a Rule to be fired on given pattern. Pattern matching is delegated to wrapped implementation.

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

getDefaults

public List getDefaults()
Gets Rule's which will be fired when the wrapped implementation returns no matches

getDigester

public Digester getDigester()
Gets digester using these Rules

getNamespaceURI

public String getNamespaceURI()
Gets namespace to apply to Rule's added

match

public List match(String pattern)

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.

rules

public List rules()
Gets all rules

setDigester

public void setDigester(Digester digester)
Sets digeseter using these Rules

setNamespaceURI

public void setNamespaceURI(String namespaceURI)
Sets namespace to apply to Rule's added subsequently
Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.