org.apache.commons.digester
Class AbstractRulesImpl

java.lang.Object
  extended by org.apache.commons.digester.AbstractRulesImpl
All Implemented Interfaces:
Rules
Direct Known Subclasses:
RegexRules

public abstract class AbstractRulesImpl
extends 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(java.lang.String, org.apache.commons.digester.Rule) (rather than add(java.lang.String, org.apache.commons.digester.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

Constructor Summary
AbstractRulesImpl()
           
 
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<Rule> match(String pattern)
          Deprecated. Call match(namespaceURI,pattern) instead.
abstract  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.
protected abstract  void registerRule(String pattern, Rule rule)
          Register rule at given pattern.
abstract  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

AbstractRulesImpl

public AbstractRulesImpl()
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)
Registers a new Rule instance matching the specified pattern. This implementation sets the Digester and the namespaceURI on the Rule before calling registerRule(java.lang.String, org.apache.commons.digester.Rule).

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

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

clear

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


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