freemarker.template

Interface ObjectWrapper

Known Implementing Classes:
BeansWrapper, DefaultObjectWrapper, JythonWrapper, RhinoWrapper, SimpleObjectWrapper

public interface ObjectWrapper

An object that knows how to "wrap" a java object as a TemplateModel instance.
Version:
$Id: ObjectWrapper.java,v 1.15 2003/06/22 17:50:28 ddekany Exp $

Field Summary

static ObjectWrapper
BEANS_WRAPPER
An ObjectWrapper that works similarly to SIMPLE_WRAPPER, but exposes the objects methods and JavaBeans properties as hash elements and custom handling for Java Maps, ResourceBundles, etc.
static ObjectWrapper
DEFAULT_WRAPPER
The default object wrapper implementation.
static ObjectWrapper
SIMPLE_WRAPPER
Object wrapper that uses SimpleXXX wrappers only.

Method Summary

TemplateModel
wrap(Object obj)

Field Details

BEANS_WRAPPER

public static final ObjectWrapper BEANS_WRAPPER
An ObjectWrapper that works similarly to SIMPLE_WRAPPER, but exposes the objects methods and JavaBeans properties as hash elements and custom handling for Java Maps, ResourceBundles, etc.

DEFAULT_WRAPPER

public static final ObjectWrapper DEFAULT_WRAPPER
The default object wrapper implementation. Wraps Maps as SimpleHash and Lists as SimpleSequences, Strings and Numbers as SimpleScalar and SimpleNumber respectively. Other objects are beans-wrapped, thus exposing reflection-based information.

SIMPLE_WRAPPER

public static final ObjectWrapper SIMPLE_WRAPPER
Object wrapper that uses SimpleXXX wrappers only. This wrapper has far more restrictive semantics. It behaves like the DEFAULT_WRAPPER, but for objects that it does not know how to wrap as a SimpleXXX, it throws an exception. It makes no use of reflection-based exposure of methods.

Method Details

wrap

public TemplateModel wrap(Object obj)
            throws TemplateModelException
Returns:
a TemplateModel wrapper of the object passed in.