Package org.apache.tomcat.util.digester
Class RulesBase
- java.lang.Object
- 
- org.apache.tomcat.util.digester.RulesBase
 
- 
- All Implemented Interfaces:
- Rules
 
 public class RulesBase extends java.lang.Object implements Rules Default implementation of the Rulesinterface that supports the standard rule matching behavior. This class can also be used as a base class for specializedRulesimplementations.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.
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected java.util.HashMap<java.lang.String,java.util.List<Rule>>cacheThe set of registered Rule instances, keyed by the matching pattern.protected DigesterdigesterThe Digester instance with which this Rules instance is associated.protected java.util.ArrayList<Rule>rulesThe set of registered Rule instances, in the order that they were originally registered.
 - 
Constructor SummaryConstructors Constructor Description RulesBase()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(java.lang.String pattern, Rule rule)Register a new Rule instance matching the specified pattern.voidclear()Clear all existing Rule instance registrations.DigestergetDigester()Return the Digester instance with which this Rules instance is associated.protected java.util.List<Rule>lookup(java.lang.String namespaceURI, java.lang.String pattern)Return a List of Rule instances for the specified pattern that also match the specified namespace URI (if any).java.util.List<Rule>match(java.lang.String namespaceURI, java.lang.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.java.util.List<Rule>rules()Return a List of all registered Rule instances, or a zero-length List if there are no registered Rule instances.voidsetDigester(Digester digester)Set the Digester instance with which this Rules instance is associated.
 
- 
- 
- 
Field Detail- 
cacheprotected java.util.HashMap<java.lang.String,java.util.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 originally registered.
 - 
digesterprotected Digester digester The Digester instance with which this Rules instance is associated.
 - 
rulesprotected java.util.ArrayList<Rule> rules The set of registered Rule instances, in the order that they were originally registered.
 
- 
 - 
Method Detail- 
getDigesterpublic Digester getDigester() Return the Digester instance with which this Rules instance is associated.- Specified by:
- getDigesterin interface- Rules
- Returns:
- the Digester instance with which this Rules instance is associated.
 
 - 
setDigesterpublic void setDigester(Digester digester) Set the Digester instance with which this Rules instance is associated.- Specified by:
- setDigesterin interface- Rules
- Parameters:
- digester- The newly associated Digester instance
 
 - 
addpublic void add(java.lang.String pattern, Rule rule)Register a new Rule instance matching the specified pattern.
 - 
clearpublic void clear() Clear all existing Rule instance registrations.
 - 
matchpublic java.util.List<Rule> match(java.lang.String namespaceURI, java.lang.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 theadd()method.
 - 
rulespublic java.util.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 theadd()method.
 - 
lookupprotected java.util.List<Rule> lookup(java.lang.String namespaceURI, java.lang.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, returnnull.- Parameters:
- namespaceURI- Namespace URI to match, or- nullto select matching rules regardless of namespace URI
- pattern- Pattern to be matched
- Returns:
- a rules list
 
 
- 
 
-