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.digester3
Class WithDefaultsRulesWrapper

    java.lang.Object
      org.apache.commons.digester3.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)` Register a new Rule instance matching the specified pattern.
`void` | `addDefault(Rule rule)` Adds a rule to be fired when wrapped implementation returns no matches
`void` | `clear()` Clear all existing Rule instance registrations.
`List<Rule>` | `getDefaults()` Gets Rule's which will be fired when the wrapped implementation returns no matches
`Digester` | `getDigester()` Return the Digester instance with which this Rules instance is associated.
`String` | `getNamespaceURI()` Return the namespace URI that will be applied to all subsequently added `Rule` objects.
`List<Rule>` | `match(String namespaceURI, String pattern, String name, Attributes attributes)` 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>` | `rules()` Return a List of all registered Rule instances, or a zero-length List if there are no registered Rule instances.
`void` | `setDigester(Digester digester)` Set the Digester instance with which this Rules instance is associated.
`void` | `setNamespaceURI(String namespaceURI)` Set the namespace URI that will be applied to all subsequently added `Rule` objects.

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

Method Detail

### getDigester

    public Digester getDigester()

  Return the Digester instance with which this Rules instance is associated.

  Specified by:
    `getDigester` in interface `Rules`
  Returns:
    the Digester instance with which this Rules instance is associated

### setDigester

    public void setDigester(Digester digester)

  Set the Digester instance with which this Rules instance is associated.

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

### getNamespaceURI

    public String getNamespaceURI()

  Return the namespace URI that will be applied to all subsequently added `Rule` objects.

  Specified by:
    `getNamespaceURI` in interface `Rules`
  Returns:
    the namespace URI that will be applied to all subsequently added `Rule` objects.

### setNamespaceURI

    public void setNamespaceURI(String namespaceURI)

  Set the namespace URI that will be applied to all subsequently added `Rule` objects.

  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

  Returns:
    Rule's which will be fired when the wrapped implementation returns no matches

### match

    public List<Rule> match(String namespaceURI,
                            String pattern,
                            String name,
                            Attributes attributes)

  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:
    `namespaceURI` - Namespace URI for which to select matching rules, or `null` to match regardless of namespace URI
    `pattern` - Nesting pattern to be matched
    `name` - the local name if the parser is namespace aware, or just the element name otherwise
    `attributes` - The attribute list of the current matching element
  Returns:
    a List of all registered Rule instances that match the specified nesting pattern

### addDefault

    public void addDefault(Rule rule)

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

  Parameters:
    `rule` - a Rule to be fired when wrapped implementation returns no matches

### rules

    public List<Rule> rules()

  Return a List of all registered Rule instances, or a zero-length List if there are no registered Rule instances. If more than one Rule instance has been registered, they must be returned in the order originally registered through the `add()` method.

  Specified by:
    `rules` in interface `Rules`
  Returns:
    a List of all registered Rule instances

### clear

    public void clear()

  Clear all existing Rule instance registrations.

  Specified by:
    `clear` in interface `Rules`

### add

    public void add(String pattern,
                    Rule rule)

  Register a new Rule instance matching the specified pattern.

  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-2011 The Apache Software Foundation. All Rights Reserved.