Class DefaultFactory


public class DefaultFactory extends BaseFactory
DefaultFactory, reads configuration from /WEB-INF/sitemesh.xml, or uses the default configuration if sitemesh.xml does not exist.
Version:
$Revision: 1.3 $
Author:
Joe Walnes, Mathias Bogaert
  • Field Details

    • configFileName

      String configFileName
    • configFile

      File configFile
    • configLastModified

      long configLastModified
    • configProps

      Map configProps
    • excludesFileName

      String excludesFileName
    • excludesFile

      File excludesFile
  • Constructor Details

    • DefaultFactory

      public DefaultFactory(Config config)
  • Method Details

    • getDecoratorMapper

      public DecoratorMapper getDecoratorMapper()
      Refresh config before delegating to superclass.
      Overrides:
      getDecoratorMapper in class BaseFactory
    • getPageParser

      public PageParser getPageParser(String contentType)
      Refresh config before delegating to superclass.
      Overrides:
      getPageParser in class BaseFactory
      Parameters:
      contentType - The MIME content-type of the data to be parsed
      Returns:
      Appropriate PageParser for reading data, or null if no suitable parser was found.
    • shouldParsePage

      public boolean shouldParsePage(String contentType)
      Refresh config before delegating to superclass.
      Overrides:
      shouldParsePage in class BaseFactory
    • isPathExcluded

      public boolean isPathExcluded(String path)
      Returns true if the supplied path matches one of the exclude URLs specified in sitemesh.xml, otherwise returns false. This method refreshes the config before delgating to the superclass.
      Overrides:
      isPathExcluded in class BaseFactory
      Parameters:
      path -
      Returns:
      whether the path is excluded
    • 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

      private void refresh()
      Check if configuration file has been modified, and if so reload it.
    • 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