org.apache.commons.digester

Class AbstractRulesImpl

Implemented Interfaces:
Rules
Known Direct Subclasses:
RegexRules

public abstract class AbstractRulesImpl
extends java.lang.Object
implements Rules

AbstractRuleImpl provides basic services for Rules implementations. Extending this class should make it easier to create a Rules implementation.

AbstractRuleImpl manages the Digester and namespaceUri properties. If the subclass overrides registerRule(String,Rule) (rather than add(String,Rule)), then the Digester and namespaceURI of the Rule will be set correctly before it is passed to registerRule. The subclass can then perform whatever it needs to do to register the rule.

Since:
1.5

Field Summary

private Digester
digester
Digester using this Rules implementation
private String
namespaceURI
Namespace uri to assoicate with subsequent Rule's

Method Summary

void
add(String pattern, Rule rule)
Registers a new Rule instance matching the specified pattern.
abstract 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.
List
match(String pattern)
Deprecated. Call match(namespaceURI,pattern) instead.
abstract 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.
protected abstract void
registerRule(String pattern, Rule rule)
Register rule at given pattern.
abstract 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

digester

private Digester digester
Digester using this Rules implementation

namespaceURI

private String namespaceURI
Namespace uri to assoicate with subsequent Rule's

Method Details

add

public void add(String pattern,
                Rule rule)
Registers a new Rule instance matching the specified pattern. This implementation sets the Digester and the namespaceURI on the Rule before calling registerRule(String,Rule).
Specified by:
add in interface Rules
Parameters:
pattern - Nesting pattern to be matched for this Rule
rule - Rule instance to be registered

clear

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

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

registerRule

protected abstract void registerRule(String pattern,
                                     Rule rule)
Register rule at given pattern. The the Digester and namespaceURI properties of the given Rule can be assumed to have been set properly before this method is called.
Parameters:
pattern - Nesting pattern to be matched for this Rule
rule - Rule instance to be registered

rules

public abstract 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 2001-2005 The Apache Software Foundation.