com.opensymphony.module.sitemesh.factory
Class DefaultFactory

java.lang.Object
  extended by com.opensymphony.module.sitemesh.Factory
      extended by com.opensymphony.module.sitemesh.factory.BaseFactory
          extended by com.opensymphony.module.sitemesh.factory.DefaultFactory
All Implemented Interfaces:
PageParserSelector

public class DefaultFactory
extends BaseFactory

DefaultFactory, reads configuration from the sitemesh.configfile init param, or /WEB-INF/sitemesh.xml if not specified, or uses the default configuration if sitemesh.xml does not exist.

To use the sitemesh.configfile parameter, add the following to your web.xml:

 <context-param>
      <param-name>sitemesh.configfile</param-name>
      <param-value>/WEB-INF/etc/sitemesh.xml</param-value>
  </context-param>
 

Version:
$Revision: 1.8 $
Author:
Joe Walnes, Mathias Bogaert

Field Summary
static long configCheckMillis
           
(package private)  File configFile
           
(package private)  String configFileName
           
private  long configLastCheck
           
(package private)  long configLastModified
           
(package private)  Map configProps
           
private static String DEFAULT_CONFIG_FILENAME
           
(package private)  File excludesFile
           
(package private)  String excludesFileName
           
 
Fields inherited from class com.opensymphony.module.sitemesh.factory.BaseFactory
config, decoratorMapper, excludeUrls, pageParsers
 
Constructor Summary
DefaultFactory(Config config)
           
 
Method Summary
private  void loadConfig()
          Load configuration from file.
private  void loadDecoratorMappers(NodeList nodes)
           
private  void loadExcludes()
           
private  void loadExcludeUrls(NodeList nodes)
          Reads in all the url patterns to exclude from decoration.
private  void loadPageParsers(NodeList nodes)
          Loop through children of 'page-parsers' element and add all 'parser' mappings.
private  Element loadSitemeshXML()
           
 void refresh()
          Check if configuration file has been modified, and if so reload it.
private  String replaceProperties(String str)
          Replaces any properties that appear in the supplied string with their actual values
 
Methods inherited from class com.opensymphony.module.sitemesh.factory.BaseFactory
addExcludeUrl, clearDecoratorMappers, clearExcludeUrls, clearParserMappings, getDecoratorMapper, getDecoratorMapper, getPageParser, isPathExcluded, mapParser, pushDecoratorMapper, shouldParsePage
 
Methods inherited from class com.opensymphony.module.sitemesh.Factory
getInstance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

configFileName

String configFileName

DEFAULT_CONFIG_FILENAME

private static final String DEFAULT_CONFIG_FILENAME
See Also:
Constant Field Values

configFile

File configFile

configLastModified

long configLastModified

configLastCheck

private long configLastCheck

configCheckMillis

public static long configCheckMillis

configProps

Map configProps

excludesFileName

String excludesFileName

excludesFile

File excludesFile
Constructor Detail

DefaultFactory

public DefaultFactory(Config config)
Method Detail

loadConfig

private void loadConfig()
Load configuration from file.


loadSitemeshXML

private Element loadSitemeshXML()
                         throws ParserConfigurationException,
                                IOException,
                                SAXException
Throws:
ParserConfigurationException
IOException
SAXException

loadExcludes

private void loadExcludes()
                   throws ParserConfigurationException,
                          IOException,
                          SAXException
Throws:
ParserConfigurationException
IOException
SAXException

loadPageParsers

private void loadPageParsers(NodeList nodes)
Loop through children of 'page-parsers' element and add all 'parser' mappings.


loadDecoratorMappers

private void loadDecoratorMappers(NodeList nodes)

loadExcludeUrls

private void loadExcludeUrls(NodeList nodes)
Reads in all the url patterns to exclude from decoration.


refresh

public void refresh()
Check if configuration file has been modified, and if so reload it.

Specified by:
refresh in class Factory

replaceProperties

private String replaceProperties(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

www.opensymphony.com/sitemesh/