Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.digester.xmlrules
Class DigesterRuleParser

    java.lang.Object
      org.apache.commons.digester.RuleSetBase
          org.apache.commons.digester.xmlrules.DigesterRuleParser

All Implemented Interfaces:
  RuleSet

    public class DigesterRuleParser

extends RuleSetBase

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
`protected class` | `DigesterRuleParser.CallMethodRuleFactory` Factory for creating a CallMethodRule.
`protected class` | `DigesterRuleParser.CallParamRuleFactory` Factory for creating a CallParamRule.
`protected class` | `DigesterRuleParser.FactoryCreateRuleFactory` Factory for creating a FactoryCreateRule
`protected class` | `DigesterRuleParser.NodeCreateRuleFactory` Factory for creating a NodeCreateRule
`protected class` | `DigesterRuleParser.ObjectCreateRuleFactory` Factory for creating a ObjectCreateRule
`protected class` | `DigesterRuleParser.ObjectParamRuleFactory` Factory for creating a ObjectParamRule
`protected class` | `DigesterRuleParser.PatternStack<E>` A stack whose toString method returns a '/'-separated concatenation of all the elements in the stack.
`protected class` | `DigesterRuleParser.SetNestedPropertiesAliasRule` A rule for adding a attribute-property alias to the custom alias mappings of the containing SetNestedPropertiesRule rule.
`protected class` | `DigesterRuleParser.SetNestedPropertiesRuleFactory` Factory for creating a SetNestedPropertiesRule
`protected class` | `DigesterRuleParser.SetNextRuleFactory` Factory for creating a SetNextRuleFactory
`protected class` | `DigesterRuleParser.SetPropertiesAliasRule` A rule for adding a attribute-property alias to the custom alias mappings of the containing SetPropertiesRule rule.
`protected class` | `DigesterRuleParser.SetPropertiesRuleFactory` Factory for creating a SetPropertiesRule
`protected class` | `DigesterRuleParser.SetPropertyRuleFactory` Factory for creating a SetPropertyRule
`protected class` | `DigesterRuleParser.SetRootRuleFactory` Factory for creating a SetRootRuleFactory
`protected class` | `DigesterRuleParser.SetTopRuleFactory` Factory for creating a SetTopRuleFactory

Field Summary
`protected String` | `basePath` See `setBasePath(java.lang.String)`.
`static String` | `DIGESTER_PUBLIC_ID`
`protected DigesterRuleParser.PatternStack<String>` | `patternStack` A stack used to maintain the current pattern.
`protected Digester` | `targetDigester` This 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
`DigesterRuleParser()` Constructs 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
`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

Methods inherited from class org.apache.commons.digester.RuleSetBase
`getNamespaceURI`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### DIGESTER_PUBLIC_ID

    public static final String DIGESTER_PUBLIC_ID

See Also:
  Constant Field Values

### targetDigester

    protected Digester targetDigester

  This is the digester to which we are adding the rules that we parse from the Rules XML document.

### basePath

    protected String basePath

  See `setBasePath(java.lang.String)`.

### patternStack

    protected DigesterRuleParser.PatternStack<String> 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 Detail

### 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

  Parameters:
    `targetDigester` - the Digester to add the rules to

Method Detail

### setTarget

    public void setTarget(Digester d)

  Sets the digester into which to add the parsed rules

  Parameters:
    `d` - the Digester to add the rules to

### 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.

  Since:
    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.

### getDigesterRulesDTD

    protected String getDigesterRulesDTD()

  Returns the location of the DTD used to validate the digester rules XML document.

### 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.

  Parameters:
    `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);`

  Specified by:
    `addRuleInstances` in interface `RuleSet`
  Specified by:
    `addRuleInstances` in class `RuleSetBase`
  Parameters:
    `digester` - Digester instance to which the new Rule instances should be added.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.