SOURCE_CLASSPATH
protected static final String SOURCE_CLASSPATH
SOURCE_FILE
protected static final String SOURCE_FILE
SOURCE_SERVLET
protected static final String SOURCE_SERVLET
configPath
protected String configPath
configSource
protected String configSource
digesterPath
protected String digesterPath
digesterSource
protected String digesterSource
log
private static Log log
Commons Logging instance.
push
protected boolean push
rulesets
protected String rulesets
applyRuleSets
protected void applyRuleSets(Digester digester)
throws ServletException
Instantiate any RuleSet
classes defined in the
rulesets
property and use them to add rules to our
Digester
.
digester
- the Digester instance to add RuleSet objects to.
destroy
public void destroy()
Receive notification that our owning module is being shut down.
- destroy in interface PlugIn
digesterFromXml
protected Digester digesterFromXml(String path,
String source)
throws IOException
Instantiate a Digester from an XML input stream using the Commons
DigesterLoader
.
path
- the path to the digester rules XML to be found using source
source
- a string indicating the lookup method to be used with path
getClassPathURL
protected URL getClassPathURL(String path)
Given a string, return a URL to a classpath resource of that name.
path
- a Classpath-relative string identifying a resource.
- a URL identifying the resource on the classpath.
TODO Do we need to be smarter about ClassLoaders?
getConfigPath
public String getConfigPath()
getConfigSource
public String getConfigSource()
- the string describing which access method should be used to
resolve configPath.
getConfigURL
protected URL getConfigURL(String path,
String source)
throws IOException
Look up a resource path using one of a set of known path resolution mechanisms
and return a URL to the resource.
path
- a String which is meaningful to one of the known resolution mechanisms.source
- one of the known path resolution mechanisms:
- file - the path is a fully-qualified filesystem path.
- servlet - the path is a servlet-context relative path.
- classpath - the path is a classpath-relative path.
- a URL pointing to the given path in the given mechanism.
getDigesterPath
public String getDigesterPath()
- the configured path to a Digester XML config file, or null.
getDigesterSource
public String getDigesterSource()
- the configured lookup mechanism for resolving
digesterPath
.
getFileURL
protected URL getFileURL(String path)
throws IOException
Given a string, return a URL to a Filesystem resource of that name.
- a URL identifying the resource in the in the file system.
getKey
public String getKey()
- The ServletContext attribute name the generated object is stored
under.
getPush
public boolean getPush()
- Whether or not this
PlugIn
instance will be pushed
onto the Digester
stack before digester.parse()
is called.
getRulesets
public String getRulesets()
- The configured list of
RuleSet
classes.
getServletContextURL
protected URL getServletContextURL(String path)
throws IOException
Given a string, return a URL to a Servlet Context resource of that name.
path
- a Classpath-relative string identifying a resource.
- a URL identifying the resource in the Servlet Context
init
public void init(ActionServlet servlet,
ModuleConfig config)
throws ServletException
Initialize a Digester
and use it to parse a
configuration file, resulting in a root object which will be placed into
the ServletContext.
- init in interface PlugIn
servlet
- ActionServlet that is managing all the
modules in this web applicationconfig
- ModuleConfig for the module with which
this plug-in is associated
initializeDigester
protected Digester initializeDigester()
throws ServletException
Initialize the Digester
which will be used to process the
main configuration.
- a Digester, ready to use.
newDigesterInstance
protected Digester newDigesterInstance()
Instantiate a
Digester
.
Subclasses may wish to override this to provide a subclass of Digester,
or to configure the Digester using object methods.
- a basic instance of
org.apache.commons.digester.Digester
setConfigPath
public void setConfigPath(String configPath)
configPath
- the path to configuration information for this PlugIn.
setConfigSource
public void setConfigSource(String configSource)
Set the source of the config file. Should be one of the following:
-
"classpath" - indicates that the configPath will be resolved by the
ClassLoader.
-
"file" - indicates that the configPath is a fully-qualified
filesystem path.
-
"servlet" - indicates that the configPath will be found by the
ServletContext.
configSource
- the source (lookup method) for the config file.
setDigesterPath
public void setDigesterPath(String digesterPath)
The path to a Digester XML configuration file, relative to the
digesterSource
property. (Optional)
setDigesterSource
public void setDigesterSource(String digesterSource)
The lookup mechanism to be used to resolve digesterPath
(optional).
setKey
public void setKey(String key)
key
- The ServletContext attribute name to store the generated
object under.
setPush
public void setPush(boolean push)
If set to
true
, this PlugIn will be pushed onto
the Digester stack before the digester
parse
method is
called.
Defaults to
false
setRulesets
public void setRulesets(String ruleSets)
A comma-delimited list of one or more classes which implement
org.apache.commons.digester.RuleSet
. (Optional)
storeGeneratedObject
protected void storeGeneratedObject(Object obj)
This method is called after the Digester runs to store the generated
object somewhere. This implementation places the given object into the
ServletContext under the attribute name as defined in key
.
obj
- The object to save.