org.apache.commons.digester

Class RulesBase

Implemented Interfaces:
Rules
Known Direct Subclasses:
ExtendedBaseRules

public class RulesBase
extends java.lang.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:

Field Summary

protected HashMap
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
rules
The set of registered Rule instances, in the order that they were originally registered.

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
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
match(String pattern)
Deprecated. Call match(namespaceURI,pattern) instead.
List
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
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.

Field Details

cache

protected HashMap 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 rules
The set of registered Rule instances, in the order that they were originally registered.

Method Details

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


getDigester

public Digester getDigester()
Return the Digester instance with which this Rules instance is associated.
Specified by:
getDigester in interface Rules


getNamespaceURI

public String getNamespaceURI()
Return the namespace URI that will be applied to all subsequently added Rule objects.
Specified by:
getNamespaceURI in interface Rules


lookup

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


match

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


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


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


Copyright (c) 2001-2004 - Apache Software Foundation