Package freemarker.ext.beans

Provides model implementations that allow access to arbitrary Java objects.

Class Summary

ArrayModel A class that will wrap an arbitrary array into TemplateCollectionModel and TemplateSequenceModel interfaces.
BeanModel A class that will wrap an arbitrary object into TemplateHashModel interface allowing calls to arbitrary property getters and invocation of accessible methods on the object from a template using the object.foo to access properties and object.bar(arg1, arg2) to invoke methods on it.
BeansWrapper Utility class that provides generic services to reflection classes.
BooleanModel A class that will wrap instances of java.lang.Boolean into a TemplateBooleanModel.
CollectionModel A special case of BeanModel that can wrap Java collections and that implements the TemplateCollectionModel in order to be usable in a <foreach> block.
DateModel Wraps arbitrary subclass of java.util.Date into a reflective model.
EnumerationModel A class that adds TemplateModelIterator functionality to the Enumeration interface implementers.
HashAdapter
InvalidPropertyException An exception thrown when there is an attempt to access an invalid bean property when we are in a "strict bean" mode
IteratorModel A class that adds TemplateModelIterator functionality to the Iterator interface implementers.
MapModel A special case of BeanModel that adds implementation for TemplateMethodModelEx on map objects that is a shortcut for the Map.get() method.
NumberModel Wraps arbitrary subclass of java.lang.Number into a reflective model.
ResourceBundleModel A hash model that wraps a resource bundle.
SimpleMapModel Model used by BeansWrapper when simpleMapWrapper mode is enabled.
StringModel Subclass of BeanModel that exposes the return value of the java.lang.Object.toString() method through the TemplateScalarModel interface.
Provides model implementations that allow access to arbitrary Java objects.

Most of the issues dealing with beans are handled by the BeansWrapper.wrap(Object)and BeansWrapper.getStaticModels() methods. In normal cases, these are the only methods you should use to turn an arbitrary Java object into a FreeMarker 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.