Class BaseFactory

java.lang.Object
com.opensymphony.module.sitemesh.Factory
com.opensymphony.module.sitemesh.factory.BaseFactory
All Implemented Interfaces:
PageParserSelector
Direct Known Subclasses:
DefaultFactory

public abstract class BaseFactory extends Factory
Base Factory implementation. Provides utility methods for implementation.
Version:
$Revision: 1.9 $
Author:
Joe Walnes
  • Field Details

    • config

      protected Config config
      ServletConfig or FilterConfig.
    • decoratorMapper

      protected DecoratorMapper decoratorMapper
      Instance of DecoratorMapper. Because it is thread-safe, it can be shared by multiple clients. This is only the last DecoratorMapper in the chain, and all parents will be automatically delegated to it.
    • pageParsers

      protected Map pageParsers
      Map that associates content-types with PageParser instances.
    • excludeUrls

      protected PathMapper excludeUrls
      A map of paths that are excluded from decoration
  • Constructor Details

  • Method Details

    • getDecoratorMapper

      public DecoratorMapper getDecoratorMapper()
      Return instance of DecoratorMapper.
      Specified by:
      getDecoratorMapper in class Factory
    • getPageParser

      public PageParser getPageParser(String contentType)
      Create a PageParser suitable for the given content-type.

      For example, if the supplied parameter is text/html a parser shall be returned that can parse HTML accordingly. Returns null if no parser can be found for the supplied content type.

      Specified by:
      getPageParser in interface PageParserSelector
      Specified by:
      getPageParser in class Factory
      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)
      Determine whether a Page of given content-type should be parsed or not.
      Specified by:
      shouldParsePage in interface PageParserSelector
      Specified by:
      shouldParsePage in class Factory
    • 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.
      Specified by:
      isPathExcluded in class Factory
      Parameters:
      path -
      Returns:
      whether the path is excluded
    • clearDecoratorMappers

      protected void clearDecoratorMappers()
      Clear all current DecoratorMappers.
    • pushDecoratorMapper

      protected void pushDecoratorMapper(String className, Properties properties)
      Push new DecoratorMapper onto end of chain.
    • getDecoratorMapper

      protected DecoratorMapper getDecoratorMapper(Class decoratorMapperClass) throws InstantiationException, IllegalAccessException
      Throws:
      InstantiationException
      IllegalAccessException
    • clearParserMappings

      protected void clearParserMappings()
      Clear all PageParser mappings.
    • mapParser

      protected void mapParser(String contentType, String className)
      Map new PageParser to given content-type. contentType = null signifies default PageParser for unknown content-types.
    • addExcludeUrl

      protected void addExcludeUrl(String path)
    • clearExcludeUrls

      protected void clearExcludeUrls()
      Clears all exclude URLs.