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 RulesBase

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

All Implemented Interfaces:
  Rules

Direct Known Subclasses:
  ExtendedBaseRules

    public class RulesBase

extends Object
implements Rules

Default implementation of the `Rules` interface that supports the standard rule matching behavior. This class can also be used as a base class for specialized `Rules` implementations.

The matching policies implemented by this class support two different types of pattern matching rules:

- Exact Match - A pattern "a/b/c" exactly matches a `<c>` element, nested inside a `<b>` element, which is nested inside an `<a>` element.
- Tail Match - A pattern "*/a/b" matches a `<b>` element, nested inside an `<a>` element, no matter how deeply the pair is nested.

Note that wildcard patterns are ignored if an explicit match can be found (and when multiple wildcard patterns match, only the longest, ie most explicit, pattern is considered a match).

See the package documentation for package org.apache.commons.digester for more information.

Field Summary
`protected HashMap<String,List<Rule>>` | `cache` The set of registered Rule instances, keyed by the matching pattern.
`protected Digester` | `digester` The Digester instance with which this Rules instance is associated.
`protected String` | `namespaceURI` The namespace URI for which subsequently added `Rule` objects are relevant, or `null` for matching independent of namespaces.
`protected ArrayList<Rule>` | `rules` The set of registered Rule instances, in the order that they were originally registered.

Constructor Summary
`RulesBase()`

Method Summary
`void` | `add(String pattern, Rule rule)` Register a new Rule instance matching the specified pattern.
`void` | `clear()` Clear all existing Rule instance registrations.
`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.
`protected List<Rule>` | `lookup(String namespaceURI, String pattern)` Return a List of Rule instances for the specified pattern that also match the specified namespace URI (if any).
`List<Rule>` | `match(String pattern)` Deprecated. Call match(namespaceURI,pattern) instead.
`List<Rule>` | `match(String namespaceURI, 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>` | `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`

Field Detail

### cache

    protected HashMap<String,List<Rule>> cache

  The set of registered Rule instances, keyed by the matching pattern. Each value is a List containing the Rules for that pattern, in the order that they were orginally registered.

### digester

    protected Digester digester

  The Digester instance with which this Rules instance is associated.

### namespaceURI

    protected String namespaceURI

  The namespace URI for which subsequently added `Rule` objects are relevant, or `null` for matching independent of namespaces.

### rules

    protected ArrayList<Rule> rules

  The set of registered Rule instances, in the order that they were originally registered.

Constructor Detail

### RulesBase

    public RulesBase()

Method Detail

### getDigester

    public Digester getDigester()

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

  Specified by:
    `getDigester` in interface `Rules`

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

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

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

### clear

    public void clear()

  Clear all existing Rule instance registrations.

  Specified by:
    `clear` in interface `Rules`

### match

    public List<Rule> match(String pattern)

  Deprecated. Call match(namespaceURI,pattern) instead.

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

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

### lookup

    protected List<Rule> lookup(String namespaceURI,
                                String pattern)

  Return a List of Rule instances for the specified pattern that also match the specified namespace URI (if any). If there are no such rules, return `null`.

  Parameters:
    `namespaceURI` - Namespace URI to match, or `null` to select matching rules regardless of namespace URI
    `pattern` - Pattern to be matched

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.