Class DigesterRuleParser
java.lang.Object
org.apache.commons.digester.RuleSetBase
org.apache.commons.digester.xmlrules.DigesterRuleParser
- All Implemented Interfaces:
RuleSet
This is a RuleSet that parses XML into Digester rules, and then
adds those rules to a 'target' Digester.
- Since:
- 1.2
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classFactory for creating a CallMethodRule.protected classFactory for creating a CallParamRule.protected classFactory for creating a FactoryCreateRuleprotected classFactory for creating a NodeCreateRuleprotected classFactory for creating a ObjectCreateRuleprotected classFactory for creating a ObjectParamRuleprotected classA stack whose toString method returns a '/'-separated concatenation of all the elements in the stack.protected classA rule for adding a attribute-property alias to the custom alias mappings of the containing SetNestedPropertiesRule rule.protected classFactory for creating a SetNestedPropertiesRuleprotected classFactory for creating a SetNextRuleFactoryprotected classA rule for adding a attribute-property alias to the custom alias mappings of the containing SetPropertiesRule rule.protected classFactory for creating a SetPropertiesRuleprotected classFactory for creating a SetPropertyRuleprotected classFactory for creating a SetRootRuleFactoryprotected classFactory for creating a SetTopRuleFactory -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringstatic final Stringprotected DigesterRuleParser.PatternStack<String> A stack used to maintain the current pattern.protected DigesterThis is the digester to which we are adding the rules that we parse from the Rules XML document.Fields inherited from class org.apache.commons.digester.RuleSetBase
namespaceURI -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a DigesterRuleParser.DigesterRuleParser(Digester targetDigester) Constructs a rule set for converting XML digester rule descriptions into Rule objects, and adding them to the given Digester -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a rule the the target digester.voidaddRuleInstances(Digester digester) Add to the given digester the set of Rule instances used to parse an XML document defining Digester rules.protected StringReturns the location of the DTD used to validate the digester rules XML document.voidsetBasePath(String path) Set a base pattern beneath which all the rules loaded by this object will be registered.voidsetDigesterRulesDTD(String dtdURL) Sets the location of the digester rules DTD.voidSets the digester into which to add the parsed rulesMethods inherited from class org.apache.commons.digester.RuleSetBase
getNamespaceURI
-
Field Details
-
DIGESTER_PUBLIC_ID
- See Also:
-
targetDigester
This is the digester to which we are adding the rules that we parse from the Rules XML document. -
basePath
-
patternStack
A stack used to maintain the current pattern. The Rules XML document type allows nesting of patterns. If an element defines a matching pattern, the resulting pattern is a concatenation of that pattern with all the ancestor elements' patterns. Hence the need for a stack.
-
-
Constructor Details
-
DigesterRuleParser
public DigesterRuleParser()Constructs a DigesterRuleParser. This object will be inoperable until the target digester is set, viasetTarget(Digester) -
DigesterRuleParser
Constructs a rule set for converting XML digester rule descriptions into Rule objects, and adding them to the given Digester- Parameters:
targetDigester- the Digester to add the rules to
-
-
Method Details
-
setTarget
Sets the digester into which to add the parsed rules- Parameters:
d- the Digester to add the rules to
-
setBasePath
Set a base pattern beneath which all the rules loaded by this object will be registered. If this string is not empty, and does not end in a "/", then one will be added.- Since:
- 1.6
-
setDigesterRulesDTD
Sets the location of the digester rules DTD. This is the DTD used to validate the rules XML file. -
getDigesterRulesDTD
Returns the location of the DTD used to validate the digester rules XML document. -
add
Adds a rule the the target digester. After a rule has been created by parsing the XML, it is added to the digester by calling this method. Typically, this method is called via reflection, when executing a SetNextRule, from the Digester that is parsing the rules XML.- Parameters:
rule- a Rule to add to the target digester.
-
addRuleInstances
Add to the given digester the set of Rule instances used to parse an XML document defining Digester rules. When the digester parses an XML file, it will add the resulting rules invalid input: '&' patterns to the 'target digester' that was passed in this RuleSet's constructor.If you extend this class to support additional rules, your implementation should of this method should call this implementation first: i.e.
super.addRuleInstances(digester);- Specified by:
addRuleInstancesin interfaceRuleSet- Specified by:
addRuleInstancesin classRuleSetBase- Parameters:
digester- Digester instance to which the new Rule instances should be added.
-