com.opensymphony.webwork.views.freemarker
Class WebWorkBeanWrapper

java.lang.Object
  extended by freemarker.ext.beans.BeansWrapper
      extended by com.opensymphony.webwork.views.freemarker.WebWorkBeanWrapper
All Implemented Interfaces:
freemarker.template.ObjectWrapper

public class WebWorkBeanWrapper
extends freemarker.ext.beans.BeansWrapper

The WebWorkBeanWrapper extends the default FreeMarker BeansWrapper and provides almost no change in functionality, except for how it handles maps. Normally, FreeMarker has two modes of operation: either support for friendly map built-ins (?keys, ?values, etc) but only support for String keys; OR no special built-in support (ie: ?keys returns the methods on the map instead of the keys) but support for String and non-String keys alike. WebWork provides an alternative implementation that gives us the best of both worlds.

It is possible that this special behavior may be confusing or can cause problems. Therefore, you can set the webwork.freemarker.wrapper.altMap property in webwork.properties to false, allowing the normal BeansWrapper logic to take place instead.


Field Summary
 
Fields inherited from class freemarker.ext.beans.BeansWrapper
CAN_NOT_UNWRAP, EXPOSE_ALL, EXPOSE_NOTHING, EXPOSE_PROPERTIES_ONLY, EXPOSE_SAFE
 
Fields inherited from interface freemarker.template.ObjectWrapper
BEANS_WRAPPER, DEFAULT_WRAPPER, SIMPLE_WRAPPER
 
Constructor Summary
WebWorkBeanWrapper()
           
 
Method Summary
 freemarker.template.TemplateModel wrap(Object object)
           
 
Methods inherited from class freemarker.ext.beans.BeansWrapper
coerceBigDecimal, coerceBigDecimals, coerceBigDecimals, getDefaultDateType, getDefaultInstance, getEnumModels, getInstance, getModelFactory, getOuterIdentity, getStaticModels, isExposeFields, isSimpleMapWrapper, isStrict, newInstance, setDefaultDateType, setExposeFields, setExposureLevel, setMethodsShadowItems, setNullModel, setOuterIdentity, setSimpleMapWrapper, setStrict, setUseCache, unwrap, unwrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WebWorkBeanWrapper

public WebWorkBeanWrapper()
Method Detail

wrap

public freemarker.template.TemplateModel wrap(Object object)
                                       throws freemarker.template.TemplateModelException
Specified by:
wrap in interface freemarker.template.ObjectWrapper
Overrides:
wrap in class freemarker.ext.beans.BeansWrapper
Throws:
freemarker.template.TemplateModelException

WebWork Project Page