Package com.opensymphony.module.sitemesh.mapper

# Class PageDecoratorMapper

java.lang.Object
com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper
com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper

All Implemented Interfaces:
  `DecoratorMapper`

public class PageDecoratorMapper extends AbstractDecoratorMapper
The PageDecoratorMapper allows the actual Page to determine the Decorator to be used.

The 'meta.decorator' and 'decorator' properties of the page are accessed and if any of them contain the name of a valid Decorator, that Decorator shall be applied.

As an example, if HTML is being used, the Decorator could be chosen by using a `<html decorator="mydecorator">` root tag or by using a `<meta name="decorator" content="mydecorator">` tag in the header.

The actual properties to query are specified by passing properties to the mapper using the `property.?` prefix. As the properties are stored in a Map, each key has to be unique. Example: property.1=decorator, property.2=meta.decorator .

Version:
  $Revision: 1.2 $
Author:
  Joe Walnes
See Also:
  - `DecoratorMapper`

## Field Summary

Fields
Modifier and Type
Field
Description
`private List`
`pageProps`

### Fields inherited from class com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper

`config, parent`

## Constructor Summary

Constructors
Constructor
Description
`PageDecoratorMapper()`

## Method Summary

Modifier and Type
Method
Description
`private Decorator`
`getByProperty(javax.servlet.http.HttpServletRequest request, Page p, String name)`
`Decorator`
`getDecorator(javax.servlet.http.HttpServletRequest request, Page page)`
Delegate to parent.
`void`
`init(Config config, Properties properties, DecoratorMapper parent)`
Set parent.

### Methods inherited from class com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper

`getNamedDecorator`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### pageProps

private List pageProps

## Constructor Details

### PageDecoratorMapper

public PageDecoratorMapper()

## Method Details

### init

public void init(Config config, Properties properties, DecoratorMapper parent) throws InstantiationException
Description copied from class: `AbstractDecoratorMapper`
Set parent.

Specified by:
  `init` in interface `DecoratorMapper`
Overrides:
  `init` in class `AbstractDecoratorMapper`
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

public Decorator getDecorator(javax.servlet.http.HttpServletRequest request, Page page)
Description copied from class: `AbstractDecoratorMapper`
Delegate to parent.

Specified by:
  `getDecorator` in interface `DecoratorMapper`
Overrides:
  `getDecorator` in class `AbstractDecoratorMapper`

### getByProperty

private Decorator getByProperty(javax.servlet.http.HttpServletRequest request, Page p, String name)