<html>
<head>
<title></title>
</head>
<body>

<p>The {@link freemarker.template.DefaultObjectWrapper default object wrapper} of FreeMarker uses
this to expose Java Beans and POJO-s to templates, but it can also be used in itself as a
better alternative {@link freemarker.template.ObjectWrapper}.</p>

<p>Most of the issues dealing with beans are handled by the 
{@link freemarker.ext.beans.BeansWrapper#wrap(Object)}and {@link 
freemarker.ext.beans.BeansWrapper#getStaticModels()} methods. In normal cases, 
 these are the only methods
you should use to turn an arbitrary Java object into a 
FreeMarker {@link freemarker.template.TemplateModel}. Additionally, you can manually create 
instance of any wrapper class using its constructors.
Note, however that in such cases you bypass the eventual model caching
of the wrapper.</p>

</body>
</html>
