Class ConfigParser

java.lang.Object
org.apache.commons.chain.config.ConfigParser

public class ConfigParser extends Object

Class to parse the contents of an XML configuration file (using Commons Digester) that defines and configures commands and command chains to be registered in a Catalog. Advanced users can configure the detailed parsing behavior by configuring the properties of an instance of this class prior to calling the parse() method. It is legal to call the parse() method more than once, in order to parse more than one configuration document.

Version:
$Revision: 482967 $ $Date: 2006-12-06 08:43:48 +0000 (Wed, 06 Dec 2006) $
Author:
Craig R. McClanahan
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private org.apache.commons.digester.Digester
    The Digester to be used for parsing.
    private org.apache.commons.digester.RuleSet
    The RuleSet to be used for configuring our Digester parsing rules.
    private boolean
    Should Digester use the context class loader?
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.commons.digester.Digester
    Return the Digester instance to be used for parsing, creating one if necessary.
    org.apache.commons.digester.RuleSet
    Return the RuleSet to be used for configuring our Digester parsing rules, creating one if necessary.
    boolean
    Return the "use context class loader" flag.
    void
    parse(URL url)
    Parse the XML document at the specified URL using the configured RuleSet, registering catalogs with nested chains and commands as they are encountered.
    void
    parse(Catalog catalog, URL url)
    Deprecated.
    Use parse(URL) on a configuration resource with "factory" element(s) embedded
    void
    setRuleSet(org.apache.commons.digester.RuleSet ruleSet)
    Set the RuleSet to be used for configuring our Digester parsing rules.
    void
    setUseContextClassLoader(boolean useContextClassLoader)
    Set the "use context class loader" flag.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • digester

      private org.apache.commons.digester.Digester digester

      The Digester to be used for parsing.

    • ruleSet

      private org.apache.commons.digester.RuleSet ruleSet

      The RuleSet to be used for configuring our Digester parsing rules.

    • useContextClassLoader

      private boolean useContextClassLoader

      Should Digester use the context class loader?

  • Constructor Details

    • ConfigParser

      public ConfigParser()
  • Method Details

    • getDigester

      public org.apache.commons.digester.Digester getDigester()

      Return the Digester instance to be used for parsing, creating one if necessary.

      Returns:
      A Digester instance.
    • getRuleSet

      public org.apache.commons.digester.RuleSet getRuleSet()

      Return the RuleSet to be used for configuring our Digester parsing rules, creating one if necessary.

      Returns:
      The RuleSet for configuring a Digester instance.
    • setRuleSet

      public void setRuleSet(org.apache.commons.digester.RuleSet ruleSet)

      Set the RuleSet to be used for configuring our Digester parsing rules.

      Parameters:
      ruleSet - The new RuleSet to use
    • getUseContextClassLoader

      public boolean getUseContextClassLoader()

      Return the "use context class loader" flag. If set to true, Digester will attempt to instantiate new command and chain instances from the context class loader.

      Returns:
      true if Digester should use the context class loader.
    • setUseContextClassLoader

      public void setUseContextClassLoader(boolean useContextClassLoader)

      Set the "use context class loader" flag.

      Parameters:
      useContextClassLoader - The new flag value
    • parse

      public void parse(Catalog catalog, URL url) throws Exception
      Deprecated.
      Use parse(URL) on a configuration resource with "factory" element(s) embedded

      Parse the XML document at the specified URL, using the configured RuleSet, registering top level commands into the specified Catalog. Use this method only if you have NOT included any factory element in your configuration resource, and wish to supply the catalog explictly.

      Parameters:
      catalog - Catalog into which configured chains are to be registered
      url - URL of the XML document to be parsed
      Throws:
      Exception - if a parsing error occurs
    • parse

      public void parse(URL url) throws Exception

      Parse the XML document at the specified URL using the configured RuleSet, registering catalogs with nested chains and commands as they are encountered. Use this method only if you have included one or more factory elements in your configuration resource.

      Parameters:
      url - URL of the XML document to be parsed
      Throws:
      Exception - if a parsing error occurs