Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.digester
Class WithDefaultsRulesWrapper

    java.lang.Object
      org.apache.commons.digester.WithDefaultsRulesWrapper

All Implemented Interfaces:
  Rules

    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
`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<Rule>` | `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<Rule>` | `match(String pattern)` Return a List of all registered Rule instances that match the specified nesting pattern, or a zero-length List if there are no matches.
`List<Rule>` | `match(String namespaceURI, String pattern)` Return list of rules matching given pattern.
`List<Rule>` | `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

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

### getDigester

    public Digester getDigester()

  Gets digester using these Rules

  Specified by:
    `getDigester` in interface `Rules`

### setDigester

    public void setDigester(Digester digester)

  Sets digeseter using these Rules

  Specified by:
    `setDigester` in interface `Rules`
  Parameters:
    `digester` - The newly associated Digester instance

### getNamespaceURI

    public String getNamespaceURI()

  Gets namespace to apply to Rule's added

  Specified by:
    `getNamespaceURI` in interface `Rules`

### setNamespaceURI

    public void setNamespaceURI(String namespaceURI)

  Sets namespace to apply to Rule's added subsequently

  Specified by:
    `setNamespaceURI` in interface `Rules`
  Parameters:
    `namespaceURI` - Namespace URI that must match on all subsequently added rules, or `null` for 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 pattern)

  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 the `add()` method.

  Specified by:
    `match` in interface `Rules`
  Parameters:
    `pattern` - Nesting pattern to be matched

### 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.

  Specified by:
    `match` in interface `Rules`
  Parameters:
    `namespaceURI` - Namespace URI for which to select matching rules, or `null` to match regardless of namespace URI
    `pattern` - Nesting pattern to be matched

### addDefault

    public void addDefault(Rule rule)

  Adds a rule to be fired when wrapped implementation returns no matches

### rules

    public List<Rule> rules()

  Gets all rules

  Specified by:
    `rules` in interface `Rules`

### clear

    public void clear()

  Clears all Rule's

  Specified by:
    `clear` in interface `Rules`

### add

    public void add(String pattern,
                    Rule rule)

  Adds a Rule to be fired on given pattern. Pattern matching is delegated to wrapped implementation.

  Specified by:
    `add` in interface `Rules`
  Parameters:
    `pattern` - Nesting pattern to be matched for this Rule
    `rule` - Rule instance to be registered

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.