Class DefaultObjectWrapper

java.lang.Object
freemarker.ext.beans.BeansWrapper
freemarker.template.DefaultObjectWrapper
All Implemented Interfaces:
ObjectWrapper
Direct Known Subclasses:
SimpleObjectWrapper

public class DefaultObjectWrapper extends freemarker.ext.beans.BeansWrapper

The default implementation of the ObjectWrapper interface.

  • 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

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Object
    Converts an array to a java.util.List
    protected TemplateModel
    Called if an unknown type is passed in.
    wrap(Object obj)
    Wraps the object with a template model that is most specific for the object's class.
     

    Methods inherited from class freemarker.ext.beans.BeansWrapper

    coerceBigDecimal, coerceBigDecimals, create, getDefaultDateType, getDefaultInstance, getEnumModels, getModelFactory, getOuterIdentity, getStaticModels, isExposeFields, isSimpleMapWrapper, isStrict, newInstance, setDefaultDateType, setExposeFields, setExposureLevel, setMethodsShadowItems, 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 Details

    • DefaultObjectWrapper

      public DefaultObjectWrapper()
  • Method Details

    • wrap

      public TemplateModel wrap(Object obj) throws TemplateModelException
      Description copied from class: freemarker.ext.beans.BeansWrapper
      Wraps the object with a template model that is most specific for the object's class. Specifically:
      • if the object is null, returns TemplateModel.JAVA_NULL
      • if the object is already a TemplateModel, returns it unchanged,
      • if the object is a TemplateModelAdapter, returns its underlying model,
      • if the object is a Map, returns a MapModel for it
      • if the object is a Collection, returns a CollectionModel for it
      • if the object is an array, returns a ArrayModel for it
      • if the object is a Number returns a NumberModel for it,
      • if the object is a Date returns a DateModel for it,
      • if the object is a Boolean returns TemplateBooleanModel.TRUE or TemplateBooleanModel.FALSE
      • if the object is a ResourceBundle returns a ResourceBundleModel for it,
      • if the object is an Iterator, returns a IteratorModel for it
      • if the object is an Enumeration, returns a EnumerationModel for it
      • otherwise, returns a generic StringModel for it.
      Specified by:
      wrap in interface ObjectWrapper
      Overrides:
      wrap in class freemarker.ext.beans.BeansWrapper
      Returns:
      a TemplateModel wrapper of the object passed in.
      Throws:
      TemplateModelException
    • handleUnknownType

      protected TemplateModel handleUnknownType(Object obj) throws TemplateModelException
      Called if an unknown type is passed in. Since 2.3, this falls back on XML wrapper and BeansWrapper functionality.
      Throws:
      TemplateModelException
    • wrapDomNode

      public TemplateModel wrapDomNode(Object obj)
    • convertArray

      protected Object convertArray(Object arr)
      Converts an array to a java.util.List