org.apache.commons.digester3
Class RegexRules

java.lang.Object
  extended by org.apache.commons.digester3.AbstractRulesImpl
      extended by org.apache.commons.digester3.RegexRules
All Implemented Interfaces:
Rules

public class RegexRules
extends AbstractRulesImpl

Rules implementation that uses regular expression matching for paths.

The regex implementation is pluggable, allowing different strategies to be used. The basic way that this class work does not vary. All patterns are tested to see if they match the path using the regex matcher. All those that do are return in the order which the rules were added.

Since:
1.5

Constructor Summary
RegexRules(RegexMatcher matcher)
          Construct sets the Regex matching strategy.
 
Method Summary
 void clear()
          Clear all existing Rule instance registrations.
 RegexMatcher getRegexMatcher()
          Gets the current regex matching strategy.
 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.
protected  void registerRule(String pattern, Rule rule)
          Register rule at given pattern.
 List<Rule> rules()
          Return a List of all registered Rule instances, or a zero-length List if there are no registered Rule instances.
 void setRegexMatcher(RegexMatcher matcher)
          Sets the current regex matching strategy.
 
Methods inherited from class org.apache.commons.digester3.AbstractRulesImpl
add, getDigester, getNamespaceURI, setDigester, setNamespaceURI
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RegexRules

public RegexRules(RegexMatcher matcher)
Construct sets the Regex matching strategy.

Parameters:
matcher - the regex strategy to be used, not null
Method Detail

getRegexMatcher

public RegexMatcher getRegexMatcher()
Gets the current regex matching strategy.

Returns:
the current regex matching strategy.

setRegexMatcher

public void setRegexMatcher(RegexMatcher matcher)
Sets the current regex matching strategy.

Parameters:
matcher - use this RegexMatcher, not null

registerRule

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

Specified by:
registerRule in class AbstractRulesImpl
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.


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.

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

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.

Returns:
a List of all registered Rule instances


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