public final class ConfigLoader
extends java.lang.Object
These can then be accessed by the getDecoratorByName() methods and getMappedName() methods respectively.
The DTD for the configuration file in old (deprecated) format is located at http://www.opensymphony.com/dtds/sitemesh_1_0_decorators.dtd .
The DTD for the configuration file in new format is located at http://www.opensymphony.com/dtds/sitemesh_1_5_decorators.dtd .
Editing the config file will cause it to be auto-reloaded.
This class is used by ConfigDecoratorMapper, and uses PathMapper for pattern matching.
ConfigDecoratorMapper,
PathMapper| Modifier and Type | Field and Description |
|---|---|
private Config |
config |
private java.io.File |
configFile |
private java.lang.String |
configFileName |
private long |
configLastModified |
private java.util.Map |
decorators |
private PathMapper |
pathMapper |
| Constructor and Description |
|---|
ConfigLoader(java.io.File configFile)
Create new ConfigLoader using supplied File.
|
ConfigLoader(java.lang.String configFileName,
Config config)
Create new ConfigLoader using supplied filename and config.
|
| Modifier and Type | Method and Description |
|---|---|
private static java.lang.String |
getAttribute(org.w3c.dom.Element element,
java.lang.String name)
Override default behavior of element.getAttribute (returns the empty string) to return null.
|
private static java.lang.String |
getContainedText(org.w3c.dom.Node parent,
java.lang.String childTagName)
With a given parent XML Element, find the text contents of the child element with
supplied name.
|
Decorator |
getDecoratorByName(java.lang.String name)
Retrieve Decorator based on name specified in configuration file.
|
java.lang.String |
getMappedName(java.lang.String path)
Get name of Decorator mapped to given path.
|
private void |
loadConfig()
Load configuration from file.
|
private void |
parseConfig(org.w3c.dom.Document document)
Parse configuration from XML document.
|
private void |
populatePathMapper(org.w3c.dom.NodeList patternNodes,
java.lang.String role,
java.lang.String name)
Extracts each URL pattern and adds it to the pathMapper map.
|
private void |
refresh()
Check if configuration file has been updated, and if so, reload.
|
private void |
storeDecorator(Decorator d)
Store Decorator in Map
|
private java.util.Map decorators
private long configLastModified
private java.io.File configFile
private java.lang.String configFileName
private PathMapper pathMapper
private Config config
public ConfigLoader(java.io.File configFile)
throws javax.servlet.ServletException
javax.servlet.ServletExceptionpublic ConfigLoader(java.lang.String configFileName,
Config config)
throws javax.servlet.ServletException
javax.servlet.ServletExceptionpublic Decorator getDecoratorByName(java.lang.String name) throws javax.servlet.ServletException
javax.servlet.ServletExceptionpublic java.lang.String getMappedName(java.lang.String path)
throws javax.servlet.ServletException
javax.servlet.ServletExceptionprivate void loadConfig()
throws javax.servlet.ServletException
javax.servlet.ServletExceptionprivate void parseConfig(org.w3c.dom.Document document)
private void populatePathMapper(org.w3c.dom.NodeList patternNodes,
java.lang.String role,
java.lang.String name)
private static java.lang.String getAttribute(org.w3c.dom.Element element,
java.lang.String name)
private static java.lang.String getContainedText(org.w3c.dom.Node parent,
java.lang.String childTagName)
private void storeDecorator(Decorator d)
private void refresh()
throws javax.servlet.ServletException
javax.servlet.ServletException