Class DefaultFactory
- java.lang.Object
-
- com.opensymphony.module.sitemesh.Factory
-
- com.opensymphony.module.sitemesh.factory.BaseFactory
-
- com.opensymphony.module.sitemesh.factory.DefaultFactory
-
public class DefaultFactory extends BaseFactory
DefaultFactory, reads configuration from/WEB-INF/sitemesh.xml
, or uses the default configuration ifsitemesh.xml
does not exist.- Version:
- $Revision: 1.3 $
- Author:
- Joe Walnes, Mathias Bogaert
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.io.File
configFile
(package private) java.lang.String
configFileName
(package private) long
configLastModified
(package private) java.util.Map
configProps
(package private) java.io.File
excludesFile
(package private) java.lang.String
excludesFileName
-
Fields inherited from class com.opensymphony.module.sitemesh.factory.BaseFactory
config, decoratorMapper, excludeUrls, pageParsers
-
-
Constructor Summary
Constructors Constructor Description DefaultFactory(Config config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DecoratorMapper
getDecoratorMapper()
Refresh config before delegating to superclass.PageParser
getPageParser(java.lang.String contentType)
Refresh config before delegating to superclass.boolean
isPathExcluded(java.lang.String path)
Returnstrue
if the supplied path matches one of the exclude URLs specified in sitemesh.xml, otherwise returnsfalse
.private void
loadConfig()
Load configuration from file.private void
loadDecoratorMappers(org.w3c.dom.NodeList nodes)
private void
loadExcludes()
private void
loadExcludeUrls(org.w3c.dom.NodeList nodes)
Reads in all the url patterns to exclude from decoration.private void
loadPageParsers(org.w3c.dom.NodeList nodes)
Loop through children of 'page-parsers' element and add all 'parser' mappings.private org.w3c.dom.Element
loadSitemeshXML()
private void
refresh()
Check if configuration file has been modified, and if so reload it.private java.lang.String
replaceProperties(java.lang.String str)
Replaces any properties that appear in the supplied string with their actual valuesboolean
shouldParsePage(java.lang.String contentType)
Refresh config before delegating to superclass.-
Methods inherited from class com.opensymphony.module.sitemesh.factory.BaseFactory
addExcludeUrl, clearDecoratorMappers, clearExcludeUrls, clearParserMappings, mapParser, pushDecoratorMapper
-
Methods inherited from class com.opensymphony.module.sitemesh.Factory
getInstance, report
-
-
-
-
Constructor Detail
-
DefaultFactory
public DefaultFactory(Config config)
-
-
Method Detail
-
getDecoratorMapper
public DecoratorMapper getDecoratorMapper()
Refresh config before delegating to superclass.- Overrides:
getDecoratorMapper
in classBaseFactory
-
getPageParser
public PageParser getPageParser(java.lang.String contentType)
Refresh config before delegating to superclass.- Overrides:
getPageParser
in classBaseFactory
- Parameters:
contentType
- The MIME content-type of the data to be parsed- Returns:
- Appropriate
PageParser
for reading data, ornull
if no suitable parser was found.
-
shouldParsePage
public boolean shouldParsePage(java.lang.String contentType)
Refresh config before delegating to superclass.- Overrides:
shouldParsePage
in classBaseFactory
-
isPathExcluded
public boolean isPathExcluded(java.lang.String path)
Returnstrue
if the supplied path matches one of the exclude URLs specified in sitemesh.xml, otherwise returnsfalse
. This method refreshes the config before delgating to the superclass.- Overrides:
isPathExcluded
in classBaseFactory
- Returns:
- whether the path is excluded
-
loadConfig
private void loadConfig()
Load configuration from file.
-
loadSitemeshXML
private org.w3c.dom.Element loadSitemeshXML() throws javax.xml.parsers.ParserConfigurationException, java.io.IOException, org.xml.sax.SAXException
- Throws:
javax.xml.parsers.ParserConfigurationException
java.io.IOException
org.xml.sax.SAXException
-
loadExcludes
private void loadExcludes() throws javax.xml.parsers.ParserConfigurationException, java.io.IOException, org.xml.sax.SAXException
- Throws:
javax.xml.parsers.ParserConfigurationException
java.io.IOException
org.xml.sax.SAXException
-
loadPageParsers
private void loadPageParsers(org.w3c.dom.NodeList nodes)
Loop through children of 'page-parsers' element and add all 'parser' mappings.
-
loadDecoratorMappers
private void loadDecoratorMappers(org.w3c.dom.NodeList nodes)
-
loadExcludeUrls
private void loadExcludeUrls(org.w3c.dom.NodeList nodes)
Reads in all the url patterns to exclude from decoration.
-
refresh
private void refresh()
Check if configuration file has been modified, and if so reload it.
-
replaceProperties
private java.lang.String replaceProperties(java.lang.String str)
Replaces any properties that appear in the supplied string with their actual values- Parameters:
str
- the string to replace the properties in- Returns:
- the same string but with any properties expanded out to their actual values
-
-