# All Classes and Interfaces

Class
Description
AbstractDecoratorMapper
Abstract DecoratorMapper implementation for easy creation of new DecoratorMappers.
AbstractHTMLPage
Abstract implementation of `HTMLPage`.
AbstractPage
Abstract implementation of `Page` .
AbstractTag
Convenience implementation of Tag containing generice methods required by all (or most) taglibs.
AgentDecoratorMapper
The AgentDecoratorMapper can determine the user-agent (i.e.
ApplyDecoratorTag
This tag inserts an external resource as a panel into the current Page.
BaseFactory
Base Factory implementation.
BaseWebAppDecorator
Convenient base class for all Java web-app based decorators that make use of the Servlet API.
BasicRule
BlockExtractingRule
BodyTag
Write original Page body to out.
BodyTagRule
Buffer
When SiteMesh is activated for a request, the contents of the response are stored in this buffer, where they can later be accessed as a parsed Page object.
CharArray
A leaner, meaner version of StringBuffer.
CharArrayReader
This class implements a character buffer that can be used as a character-input stream.
CharArrayWriter
Unsynced version of the JDK's CharArrayWriter
ClassLoaderUtil
This class is extremely useful for loading resources and classes in a fault tolerant manner that works across different applications servers.
Config
Common interface to ServletConfig and FilterConfig (since javax.servlet.Config was removed from 2.3 spec).
ConfigDecoratorMapper
Default implementation of DecoratorMapper.
ConfigLoader
The ConfigLoader reads a configuration XML file that contains Decorator definitions (name, url, init-params) and path-mappings (pattern, name).
ConfigLoader.State
State visibile across threads stored in a single container so that we can efficiently atomically access it with the guarantee that we wont see a partially loaded configuration in the face of one thread reloading the configuration while others are trying to read it.
Container
Utility for determining the Servlet Container the application is running in.
ContainerTweaks
Provides details of which tweaks should be used in SiteMesh - necessary because containers behave subtly different.
Content
Content2HTMLPage
Adapts a SiteMesh 3 `Content` to a SiteMesh 2 `HTMLPage`.
ContentBlockExtractingRule
ContentBufferingResponse
ContentProcessor
CookieDecoratorMapper
The CookieDecoratorMapper will map a suitable decorator based on a cookie value.
CustomTag
A CustomTag provides a mechanism to manipulate the contents of a Tag.
DebugResponseWrapper
Decorator
Representation of a Decorator.
Decorator
DecoratorMapper
The DecoratorMapper is responsible for determining which `Decorator` should be used for a `Page`.
DecoratorMapper2DecoratorSelector
Adapts a SiteMesh 2 `DecoratorMapper` to a SiteMesh 2 `DecoratorSelector`.
DecoratorSelector
Selects an appropriate Decorator for the Content.
DefaultDecorator
Default implementation of Decorator.
DefaultFactory
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.
DispatchedDecorator
Decorator that dispatches to another path in the Servlet Container (such as a JSP or path mapped to a Servlet).
DivExtractingPageParser
DivExtractingPageParser.TopLevelDivExtractingRule
EnvEntryDecoratorMapper
The EnvEntryDecoratorMapper allows the reference to a web-app environment entry for the decorator name, and falls back to ConfigDecoratorMapper's behavior if no matching environment entry is found.
ExternalDispatchedDecorator
Decorator that dispatches to another path in A DIFFERENT WEB-APP in the same Servlet Container (such as a JSP or path mapped to a Servlet).
ExtractPropertyTag
Factory
Factory responsible for creating appropriate instances of implementations.
FactoryException
This RuntimeException is thrown by the Factory if it cannot initialize or perform an appropriate function.
FastByteArrayOutputStream
A speedy implementation of ByteArrayOutputStream.
FastPage
HTMLPage implementation produced by FastPageParser.
FastPageParser
Deprecated.
Use HTMLPageParser instead - it performs better and is more extensible.
FileDecoratorMapper
The FileDecoratorMapper will treat the name of the decorator as a file-name to use (in the context of the web-app).
FrameSetDecoratorMapper
The FrameSetDecoratorMapper will use the specified decorator when the Page is an instance of `HTMLPage` and `isFrameSet()` returns true.
FramesetRule
FreemarkerDecoratorServlet
Servlet that allows Freemarker templates to be used as decorators.
HeadExtractingRule
HeadTag
Write original HTMLPage head to out.
HtmlAttributesRule
HTMLPage
Extension of `Page` providing access to HTML data.
HTMLPage2Content
Adapts a SiteMesh 2 `HTMLPage` to a SiteMesh 3 `Content`.
HTMLPageParser
Builds an HTMLPage object from an HTML document.
HTMLProcessor
HTMLProcessorContext
HttpContentType
Extracts the type and encoding from an HTTP Content-Type header.
InlineDecoratorMapper
The InlineDecoratorMapper is used to determine the correct Decorator when using inline decorators.
LanguageDecoratorMapper
The LanguageDecoratorMapper can determine the preferred language set in the browser requesting a page, and map to a suitable Decorator (using the "Accept-Language" HTTP header).
MetaTagRule
MSOfficeDocumentPropertiesRule
Extracts the extra properties saved in HTML from MS Office applications (Word and Excel), such as Author, Company, Version, etc.
MultipassFilter
MultipassReplacementPageParser
NoDecorator
If no decorator is to be applied to a page, this will ensure the original content gets written out.
NullDecoratorMapper
The NullDecoratorMapper represents the top-level DecoratorMapper that is finally delegated to if no other DecoratorMapper has intervened.
OldDecorator2NewDecorator
Adapts a SiteMesh 2 `Decorator` to a SiteMesh 3 `Decorator`.
OSDecoratorMapper
The OSDecoratorMapper will map a suitable decorator based on the operating system of the remote client.
OutputConverter
A converter from one character type to another
OutputConverter.ResinWriter
To get internationalised characters to work on Resin, some conversions need to take place.
Page
The Page object wraps the contents of the original (undecorated) page.
PageBuilder
Allows a TagRule to add information to a Page object.
PageDecoratorMapper
The PageDecoratorMapper allows the actual Page to determine the Decorator to be used.
PageFilter
Deprecated.
Use `SiteMeshFilter` instead.
PageParser
The PageParser is responsible for parsing the page data into an appropriate `Page` object.
PageParser2ContentProcessor
Adapts a SiteMesh 2 `PageParser` to a SiteMesh 3 `ContentProcessor`.
PageParserSelector
PageRequest
PageRequestWrapper
Will wrap a request for the `RequestDispatcherWrapper`.
PageResponseWrapper
Implementation of HttpServletResponseWrapper that captures page data instead of sending to the writer.
ParameterDecoratorMapper
The ParameterDecoratorMapper will map a suitable decorator based on request parameters.
ParameterExtractingRule
ParamTag
Add a parameter to the inline Decorator, as if specified in the Page.
Parser
Looks for patterns of tokens in the Lexer and translates these to calls to pass to the TokenHandler.
PathMapper
The PathMapper is used to map file patterns to keys, and find an approriate key for a given file path.
PrintableDecoratorMapper
The PrintableDecoratorMapper is a sample DecoratorMapper that will check to see whether 'printable=true' is supplied as a request parameter and if so, use the specified decorator instead.
PropertyTag
Write property of Page to out.
RegexReplacementTextFilter
TextFilter that substitutes content using a JDK 1.4 regular expression.
RequestConstants
A set of static constants of Strings to be used as ServletRequest attribute keys to represent various objects passed between pages.
RequestDispatcherWrapper
Special request dispatcher that will include when an inline decorator includes a resource that uses an internal forward.
RobotDecoratorMapper
The RobotDecoratorMapper will use the specified decorator when the requester is identified as a robot (also known as spider, crawler, ferret) of a search engine.
RoutablePrintWriter
Provides a PrintWriter that routes through to another PrintWriter, however the destination can be changed at any point.
RoutablePrintWriter.DestinationFactory
Factory to lazily instantiate the destination.
RoutablePrintWriter.NullWriter
Just to keep super constructor for PrintWriter happy - it's never actually used.
RoutableServletOutputStream
Provides a ServletOutputStream that routes through to another ServletOutputStream, however the destination can be changed at any point.
RoutableServletOutputStream.DestinationFactory
Factory to lazily instantiate the destination.
SessionDecoratorMapper
Will look at a session attribute to find the name of an appropriate decorator to use.
SiteMeshContext
SiteMeshFilter
Core Filter for integrating SiteMesh into a Java web application.
SiteMeshWebAppContext
State
StateChangeListener
StateTransitionRule
Tag
Tag returned by HTMLTagTokenizer.
TagReplaceRule
Very simple rule for replacing all occurences of one tag with another.
TagRule
TagTokenizer
Splits a chunk of HTML into 'text' and 'tag' tokens, for easy processing.
Text
Text returned by HTMLTagTokenizer.
TextEncoder
Converts text stored in byte[] to char[] using specified encoding.
TextFilter
TextFilters can be added to the HTMLProcessor (or specific States) and allow a simple means of filtering text content.
TitleExtractingRule
TitleTag
Write the Page `<title>` value to out.
TokenHandler
Handler passed to `TagTokenizer` that will receive callbacks as 'tags' and 'text' are encountered.
TokenizedHTMLPage
HTMLPage implementation that builds itself based on the incoming 'tag' and 'text' tokens fed to it from the HTMLTagTokenizer.
UseHTMLPageTEI
TagExtraInfo implementation to expose HTMLPage object as variable.
UsePageTag
Expose the Page as a bean to the page which can then be accessed from scriptlets.
UsePageTEI
TagExtraInfo implementation to expose Page object as variable.
VelocityDecoratorServlet
Servlet that allows Velocity templates to be used as decorators.