Class BaseFactory
java.lang.Object
com.opensymphony.module.sitemesh.Factory
com.opensymphony.module.sitemesh.factory.BaseFactory
- All Implemented Interfaces:
PageParserSelector
- Direct Known Subclasses:
DefaultFactory
Base Factory implementation. Provides utility methods for implementation.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ConfigServletConfig or FilterConfig.protected DecoratorMapperInstance ofDecoratorMapper.protected PathMapperA map of paths that are excluded from decorationprotected MapMap that associates content-types with PageParser instances. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBaseFactory(Config config) Constructor for default implementation of Factory. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddExcludeUrl(String path) protected voidClear all current DecoratorMappers.protected voidClears all exclude URLs.protected voidClear all PageParser mappings.Return instance of DecoratorMapper.protected DecoratorMappergetDecoratorMapper(Class decoratorMapperClass) getPageParser(String contentType) Create a PageParser suitable for the given content-type.booleanisPathExcluded(String path) Returnstrueif the supplied path matches one of the exclude URLs specified in sitemesh.xml, otherwise returnsfalse.protected voidMap new PageParser to given content-type.protected voidpushDecoratorMapper(String className, Properties properties) Push new DecoratorMapper onto end of chain.booleanshouldParsePage(String contentType) Determine whether a Page of given content-type should be parsed or not.Methods inherited from class com.opensymphony.module.sitemesh.Factory
getInstance, refresh
-
Field Details
-
config
ServletConfig or FilterConfig. -
decoratorMapper
Instance ofDecoratorMapper. 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
Map that associates content-types with PageParser instances. -
excludeUrls
A map of paths that are excluded from decoration
-
-
Constructor Details
-
BaseFactory
Constructor for default implementation of Factory. Should never be called by client. Singleton instance should be obtained instead.
-
-
Method Details
-
getDecoratorMapper
Return instance of DecoratorMapper.- Specified by:
getDecoratorMapperin classFactory
-
getPageParser
Create a PageParser suitable for the given content-type.For example, if the supplied parameter is
text/htmla parser shall be returned that can parse HTML accordingly. Returns null if no parser can be found for the supplied content type.- Specified by:
getPageParserin interfacePageParserSelector- Specified by:
getPageParserin classFactory- Parameters:
contentType- The MIME content-type of the data to be parsed- Returns:
- Appropriate
PageParserfor reading data, ornullif no suitable parser was found.
-
shouldParsePage
Determine whether a Page of given content-type should be parsed or not.- Specified by:
shouldParsePagein interfacePageParserSelector- Specified by:
shouldParsePagein classFactory
-
isPathExcluded
Returnstrueif the supplied path matches one of the exclude URLs specified in sitemesh.xml, otherwise returnsfalse.- Specified by:
isPathExcludedin classFactory- Parameters:
path-- Returns:
- whether the path is excluded
-
clearDecoratorMappers
protected void clearDecoratorMappers()Clear all current DecoratorMappers. -
pushDecoratorMapper
Push new DecoratorMapper onto end of chain. -
getDecoratorMapper
protected DecoratorMapper getDecoratorMapper(Class decoratorMapperClass) throws InstantiationException, IllegalAccessException -
clearParserMappings
protected void clearParserMappings()Clear all PageParser mappings. -
mapParser
Map new PageParser to given content-type. contentType = null signifies default PageParser for unknown content-types. -
addExcludeUrl
-
clearExcludeUrls
protected void clearExcludeUrls()Clears all exclude URLs.
-