Class PluginRules
- All Implemented Interfaces:
Rules
During parsing, a linked list of PluginCreateRule instances develop, and this list also acts like a stack. The original instance that was set before the Digester started parsing is always at the tail of the list, and the Digester always holds a reference to the instance at the head of the list in the rules member. Initially, this list/stack holds just one instance, ie head and tail are the same object.
When the start of an xml element causes a PluginCreateRule to fire, a new PluginRules instance is created and inserted at the head of the list (ie pushed onto the stack of Rules objects). Digester.getRules() therefore returns this new Rules object, and any custom rules associated with that plugin are added to that instance.
When the end of the xml element is encountered (and therefore the PluginCreateRule end method fires), the stack of Rules objects is popped, so that Digester.getRules returns the previous Rules object.
- Since:
- 1.6
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionConstructor for top-level Rules objects.PluginRules
(Rules decoratedRules) Constructor for top-level Rules object which handles rule-matching using the specified implementation. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Register a new Rule instance matching the specified pattern.void
clear()
Clear all rules.Return the Digester instance with which this instance is associated.Return the namespace URI that will be applied to all subsequently addedRule
objects.Return the parent Rules object.Return the object which "knows" about all declared plugins.Return the rules factory object (or null if one has not been specified).Deprecated.Call match(namespaceURI,pattern) instead.Return a List of all registered Rule instances that match the specified nodepath, or a zero-length List if there are no matches.rules()
Return the list of rules registered with this object, in the order they were registered with this object.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 addedRule
objects.void
setPluginClassAttribute
(String namespaceUri, String attrName) void
setPluginIdAttribute
(String namespaceUri, String attrName) void
setRuleFinders
(List<RuleFinder> ruleFinders) void
setRulesFactory
(RulesFactory factory) Set the object which is used to generate the new Rules instances created to hold and process the rules associated with each plugged-in class.
-
Field Details
-
digester
The Digester instance with which this Rules instance is associated.
-
-
Constructor Details
-
PluginRules
public PluginRules()Constructor for top-level Rules objects. Exactly one of these must be created and installed into the Digester instance as the Rules object before parsing starts. -
PluginRules
Constructor for top-level Rules object which handles rule-matching using the specified implementation.
-
-
Method Details
-
getParent
Return the parent Rules object. -
getDigester
Return the Digester instance with which this instance is associated.- Specified by:
getDigester
in interfaceRules
-
setDigester
Set the Digester instance with which this Rules instance is associated.- Specified by:
setDigester
in interfaceRules
- Parameters:
digester
- The newly associated Digester instance
-
getNamespaceURI
Return the namespace URI that will be applied to all subsequently addedRule
objects.- Specified by:
getNamespaceURI
in interfaceRules
-
setNamespaceURI
Set the namespace URI that will be applied to all subsequently addedRule
objects.- Specified by:
setNamespaceURI
in interfaceRules
- Parameters:
namespaceURI
- Namespace URI that must match on all subsequently added rules, ornull
for matching regardless of the current namespace URI
-
getPluginManager
Return the object which "knows" about all declared plugins.- Returns:
- The pluginManager value
-
getRuleFinders
-
setRuleFinders
-
getRulesFactory
Return the rules factory object (or null if one has not been specified). -
setRulesFactory
Set the object which is used to generate the new Rules instances created to hold and process the rules associated with each plugged-in class. -
rules
Return the list of rules registered with this object, in the order they were registered with this object.Note that Rule objects stored in parent Rules objects are not returned by this method.
-
add
Register a new Rule instance matching the specified pattern. -
clear
Clear all rules. -
match
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 theadd()
method. -
match
Return a List of all registered Rule instances that match the specified nodepath, 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. -
setPluginClassAttribute
-
setPluginIdAttribute
-
getPluginClassAttrNs
-
getPluginClassAttr
-
getPluginIdAttrNs
-
getPluginIdAttr
-