com.opensymphony.module.sitemesh
Class Factory

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

public abstract class Factory
extends Object
implements PageParserSelector

Factory responsible for creating appropriate instances of implementations. This is specific to a web context and is obtained through getInstance(com.opensymphony.module.sitemesh.Config).

The actual Factory method used is determined by the enviroment entry sitemesh.factory. If this doesn't exist, it defaults to DefaultFactory .

Version:
$Revision: 1.8 $
Author:
Joe Walnes

Field Summary
private static String SITEMESH_FACTORY
          Web context lookup key
 
Constructor Summary
Factory()
           
 
Method Summary
abstract  DecoratorMapper getDecoratorMapper()
          Return instance of DecoratorMapper.
private static String getEnvEntry(String envEntry, String defaultValue)
          Find String environment entry, or return default if not found.
static Factory getInstance(Config config)
          Entry-point for obtaining singleton instance of Factory.
abstract  PageParser getPageParser(String contentType)
          Create a PageParser suitable for the given content-type.
abstract  boolean isPathExcluded(String path)
          Determine whether the given path should be excluded from decoration or not.
abstract  void refresh()
           
abstract  boolean shouldParsePage(String contentType)
          Determine whether a Page of given content-type should be parsed or not.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SITEMESH_FACTORY

private static final String SITEMESH_FACTORY
Web context lookup key

See Also:
Constant Field Values
Constructor Detail

Factory

public Factory()
Method Detail

getInstance

public static Factory getInstance(Config config)
Entry-point for obtaining singleton instance of Factory. The default factory class that will be instantiated can be overridden with the environment entry sitemesh.factory.


refresh

public abstract void refresh()

getDecoratorMapper

public abstract DecoratorMapper getDecoratorMapper()
Return instance of DecoratorMapper.


getPageParser

public abstract 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.

Never returns null.

Specified by:
getPageParser in interface PageParserSelector
Parameters:
contentType - The MIME content-type of the data to be parsed
Returns:
Appropriate PageParser for reading data

shouldParsePage

public abstract boolean shouldParsePage(String contentType)
Determine whether a Page of given content-type should be parsed or not.

Specified by:
shouldParsePage in interface PageParserSelector

isPathExcluded

public abstract boolean isPathExcluded(String path)
Determine whether the given path should be excluded from decoration or not.


getEnvEntry

private static String getEnvEntry(String envEntry,
                                  String defaultValue)
Find String environment entry, or return default if not found.


www.opensymphony.com/sitemesh/