com.opensymphony.module.sitemesh.mapper
Class EnvEntryDecoratorMapper

java.lang.Object
  extended by com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper
      extended by com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper
          extended by 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
EnvEntryDecoratorMapper()
           
 
Method Summary
 Decorator getNamedDecorator(javax.servlet.http.HttpServletRequest request, java.lang.String name)
          Retrieves the Decorator specified by the decorator name.
static java.lang.String getStringResource(java.lang.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 Detail

EnvEntryDecoratorMapper

public EnvEntryDecoratorMapper()
Method Detail

getNamedDecorator

public Decorator getNamedDecorator(javax.servlet.http.HttpServletRequest request,
                                   java.lang.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 java.lang.String getStringResource(java.lang.String name)
This pulls a value out of the web-app environment. If the value isn't there, returns null.


www.opensymphony.com/sitemesh/