Package com.opensymphony.module.sitemesh

# Interface DecoratorMapper

All Known Implementing Classes:
  `AbstractDecoratorMapper`, `AgentDecoratorMapper`, `ConfigDecoratorMapper`, `CookieDecoratorMapper`, `EnvEntryDecoratorMapper`, `FileDecoratorMapper`, `FrameSetDecoratorMapper`, `InlineDecoratorMapper`, `LanguageDecoratorMapper`, `NullDecoratorMapper`, `OSDecoratorMapper`, `PageDecoratorMapper`, `ParameterDecoratorMapper`, `PrintableDecoratorMapper`, `RobotDecoratorMapper`, `SessionDecoratorMapper`

public interface DecoratorMapper
The DecoratorMapper is responsible for determining which `Decorator` should be used for a `Page`.

Implementations of this are returned by the `Factory`, and should be thread-safe.

Version:
  $Revision: 1.2 $
Author:
  Joe Walnes

## Method Summary

Modifier and Type
Method
Description
`Decorator`
`getDecorator(javax.servlet.http.HttpServletRequest request, Page page)`
Return appropriate `Decorator` for a certain Page.
`Decorator`
`getNamedDecorator(javax.servlet.http.HttpServletRequest request, String name)`
Return a `Decorator` with given name.
`void`
`init(Config config, Properties properties, DecoratorMapper parent)`
Initialize the mapper.

## Method Details

### init

void init(Config config, Properties properties, DecoratorMapper parent) throws InstantiationException
Initialize the mapper. This is always called before the other methods.

Parameters:
  `config` - Config supplied by Servlet or Filter.
  `properties` - Any initialization properties (specific to implementation).
Throws:
  `InstantiationException` - should be thrown if the implementation cannot be initialized properly.

### getDecorator

Decorator getDecorator(javax.servlet.http.HttpServletRequest request, Page page)
Return appropriate `Decorator` for a certain Page.

The implementation can determine the result based on the actual request or the data of the parsed page. Typically this would call `getNamedDecorator()` which would delegate to a parent DecoratorMapper.

### getNamedDecorator

Decorator getNamedDecorator(javax.servlet.http.HttpServletRequest request, String name)
Return a `Decorator` with given name.