Package com.opensymphony.module.sitemesh.mapper

# Class ParameterDecoratorMapper

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

All Implemented Interfaces:
  `DecoratorMapper`

public class ParameterDecoratorMapper extends AbstractDecoratorMapper
The ParameterDecoratorMapper will map a suitable decorator based on request parameters.

The ParameterDecoratorMapper is configured via three properties.

`decorator.parameter` - the parameter which contains the name of the decorator which will be mapped. The default is "decorator".

For example if `decorator.parameter` is "foobar" then myurl.jsp?foobar=mydecorator will map to the decorator named "mydecorator".

You can also supply an optional 'confirmation parameter'. The decorator will only be mapped if the parameter named `parameter.name` is in the request URI and the value of that parameter is equal to the `parameter.value` property.

For example assuming parameter.name=confirm and parameter.value=true the URI myurl.jsp?decorator=mydecoratorinvalid input: '&confirm'=true will map the decorator mydecorator. where as the URIs myurl.jsp?decorator=mydecorator and myurl.jsp?decorator=mydecoratorinvalid input: '&confirm'=false will not return any decorator.

Version:
  $Revision: 1.3 $
Author:
  Mike Cannon-Brookes
See Also:
  - `DecoratorMapper`

## Field Summary

Fields
Modifier and Type
Field
Description
`private String`
`decoratorParameter`
`private String`
`paramName`
`private String`
`paramValue`

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

`config, parent`

## Constructor Summary

Constructors
Constructor
Description
`ParameterDecoratorMapper()`

## Method Summary

Modifier and Type
Method
Description
`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

### decoratorParameter

private String decoratorParameter

### paramName

private String paramName

### paramValue

private String paramValue

## Constructor Details

### ParameterDecoratorMapper

public ParameterDecoratorMapper()

## 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`