Package com.opensymphony.module.sitemesh.mapper

# Class EnvEntryDecoratorMapper

java.lang.Object
com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper
com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper
com.opensymphony.module.sitemesh.mapper.EnvEntryDecoratorMapper

All Implemented Interfaces:
  `DecoratorMapper`

public class EnvEntryDecoratorMapper extends ConfigDecoratorMapper
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.

In some cases, it's desirable to allow a deployer, as opposed to a developer, to specify a decorator. In a .WAR file, this can be very difficult, since decorator mappings are specified in `decorators.xml` (more or less). This mapper corrects that by allowing two types of mapping. If the decorator name is found in an `<env-entry>`, the entry's value is used as the decorator reference.

Known Issues:

1. It still uses the decorator path (from `decorators.xml`). This needs to be corrected for full functionality. If anyone has a suggestion on how...

Version:
  $Revision: 1.3 $
Author:
  Joseph B. Ottinger
See Also:
  - `ConfigDecoratorMapper`

## Field Summary

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

`config, parent`

## Constructor Summary

Constructors
Constructor
Description
`EnvEntryDecoratorMapper()`

## Method Summary

Modifier and Type
Method
Description
`Decorator`
`getNamedDecorator(javax.servlet.http.HttpServletRequest request, String name)`
Retrieves the `Decorator` specified by the decorator name.
`static String`
`getStringResource(String name)`
This pulls a value out of the web-app environment.

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

`getDecorator, init`

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

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

## Constructor Details

### EnvEntryDecoratorMapper

public EnvEntryDecoratorMapper()

## Method Details

### getNamedDecorator

public Decorator getNamedDecorator(javax.servlet.http.HttpServletRequest request, String name)
Retrieves the `Decorator` specified by the decorator name. If it's not in the environment entries of the web application, assume it's a named decorator from `decorators.xml`.

Specified by:
  `getNamedDecorator` in interface `DecoratorMapper`
Overrides:
  `getNamedDecorator` in class `ConfigDecoratorMapper`

### getStringResource

public static String getStringResource(String name)
This pulls a value out of the web-app environment. If the value isn't there, returns null.