org.apache.commons.chain.config
Class ConfigParser

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

public class ConfigParser
extends java.lang.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
private  org.apache.commons.digester.Digester digester
          The Digester to be used for parsing.
private  org.apache.commons.digester.RuleSet ruleSet
          The RuleSet to be used for configuring our Digester parsing rules.
private  boolean useContextClassLoader
          Should Digester use the context class loader?
 
Constructor Summary
ConfigParser()
           
 
Method Summary
 org.apache.commons.digester.Digester getDigester()
          Return the Digester instance to be used for parsing, creating one if necessary.
 org.apache.commons.digester.RuleSet getRuleSet()
          Return the RuleSet to be used for configuring our Digester parsing rules, creating one if necessary.
 boolean getUseContextClassLoader()
          Return the "use context class loader" flag.
 void parse(Catalog catalog, java.net.URL url)
          Deprecated. Use parse(URL) on a configuration resource with "factory" element(s) embedded
 void parse(java.net.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 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 Detail

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 Detail

ConfigParser

public ConfigParser()
Method Detail

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,
                  java.net.URL url)
           throws java.lang.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:
java.lang.Exception - if a parsing error occurs

parse

public void parse(java.net.URL url)
           throws java.lang.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:
java.lang.Exception - if a parsing error occurs