org.apache.commons.digester.xmlrules
Class DigesterRuleParser
- RuleSet
public class DigesterRuleParser
This is a RuleSet that parses XML into Digester rules, and then
adds those rules to a 'target' Digester.
- 1.2
void | add(Rule rule) - Adds a rule the the target digester.
|
void | addRuleInstances(Digester digester) - Add to the given digester the set of Rule instances used to parse an XML
document defining Digester rules.
|
protected String | getDigesterRulesDTD() - Returns the location of the DTD used to validate the digester rules
XML document.
|
void | setBasePath(String path) - Set a base pattern beneath which all the rules loaded by this
object will be registered.
|
void | setDigesterRulesDTD(String dtdURL) - Sets the location of the digester rules DTD.
|
void | setTarget(Digester d) - Sets the digester into which to add the parsed rules
|
DIGESTER_PUBLIC_ID
public static final String DIGESTER_PUBLIC_ID
basePath
protected String basePath
digesterDtdUrl
private String digesterDtdUrl
path to the DTD
includedFiles
private Set includedFiles
Used to detect circular includes
patternStack
protected DigesterRuleParser.PatternStack 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.
targetDigester
protected Digester targetDigester
This is the digester to which we are adding the rules that we parse
from the Rules XML document.
DigesterRuleParser
public DigesterRuleParser()
Constructs a DigesterRuleParser. This object will be inoperable
until the target digester is set, via setTarget(Digester)
DigesterRuleParser
public DigesterRuleParser(Digester targetDigester)
Constructs a rule set for converting XML digester rule descriptions
into Rule objects, and adding them to the given Digester
targetDigester
- the Digester to add the rules to
DigesterRuleParser
private DigesterRuleParser(Digester targetDigester,
DigesterRuleParser.PatternStack stack,
Set includedFiles)
Constructs a rule set for parsing an XML digester rule file that
has been included within an outer XML digester rule file. In this
case, we must pass the pattern stack and the target digester
to the rule set, as well as the list of files that have already
been included, for cycle detection.
targetDigester
- the Digester to add the rules tostack
- Stack containing the prefix pattern string to be prepended
to any pattern parsed by this rule set.
add
public void add(Rule rule)
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.
rule
- a Rule to add to the target digester.
addRuleInstances
public void addRuleInstances(Digester digester)
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 & 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);
- addRuleInstances in interface RuleSet
- addRuleInstances in interface RuleSetBase
getDigesterRulesDTD
protected String getDigesterRulesDTD()
Returns the location of the DTD used to validate the digester rules
XML document.
setBasePath
public void setBasePath(String path)
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.
- 1.6
setDigesterRulesDTD
public void setDigesterRulesDTD(String dtdURL)
Sets the location of the digester rules DTD. This is the DTD used
to validate the rules XML file.
setTarget
public void setTarget(Digester d)
Sets the digester into which to add the parsed rules
d
- the Digester to add the rules to
Copyright (c) 2001-2004 - Apache Software Foundation