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.lang.StringnamespaceURIDeprecated.Unused.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.java.lang.StringgetNamespaceURI()Return the namespace URI that will be applied to all subsequently addedRuleobjects.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.voidsetNamespaceURI(java.lang.String namespaceURI)Set the namespace URI that will be applied to all subsequently addedRuleobjects.
 
- 
- 
- 
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.
 - 
namespaceURI@Deprecated protected java.lang.String namespaceURI Deprecated.Unused. Will be removed in Tomcat 9.0.xThe namespace URI for which subsequently addedRuleobjects are relevant, ornullfor matching independent of namespaces.
 - 
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
 
 - 
getNamespaceURIpublic java.lang.String getNamespaceURI() Return the namespace URI that will be applied to all subsequently addedRuleobjects.- Specified by:
- getNamespaceURIin interface- Rules
- Returns:
- the namespace URI that will be applied to all subsequently
 added Ruleobjects.
 
 - 
setNamespaceURIpublic void setNamespaceURI(java.lang.String namespaceURI) Set the namespace URI that will be applied to all subsequently addedRuleobjects.- Specified by:
- setNamespaceURIin interface- Rules
- Parameters:
- namespaceURI- Namespace URI that must match on all subsequently added rules, or- nullfor matching regardless of the current namespace URI
 
 - 
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
 
 
- 
 
-