Package org.szegedi.expose.model

Provides various model implementations for Freemarker: reflection models, resource bundle model, and singleton boolean models. Most of the issues dealing with reflection are handled by the ReflectionUtilities.wrap(Object)and StaticModel.create(Class) methods.

See:
          Description

Class Summary
BooleanScalar Provides singleton template models for representing boolean values.
Models Various predefined singleton models.
ReflectionArrayModel A class that will wrap an arbitrary array into TemplateHashModel, TemplateMethodModel, and TemplateListModel interfaces.
ReflectionCollectionModel A special case of ReflectionObjectModel that adds implementation for TemplateListModel on collection objects.
ReflectionEnumerationModel A class that adds TemplateListModel functionality to the Iterator interface implementers.
ReflectionIteratorModel A class that adds TemplateListModel functionality to the Iterator interface implementers.
ReflectionMapModel A special case of ReflectionObjectModel that adds implementation for TemplateListModel and TemplateMethodModel on map objects.
ReflectionMethodModel A class that will wrap a reflected method call into a TemplateMethodModel interface.
ReflectionObjectModel A class that will wrap an arbitrary object into TemplateHashModel interface.
ReflectionObjectModelBase Base class for all classes that wrap objects into template models.
ReflectionRootModel A wrapper for an arbitrary map that will expose it as a TemplateModelRoot.
ReflectionScalarModel A class that will wrap a reflected parameterless method call into a TemplateScalarModel interface.
ReflectionUtilities Utility class that provides generic services to reflection classes.
ResourceBundleHashModel A hash model that wraps a resource bundle.
StaticModel Wraps the static fields and methods of a class in a TemplateHashModel.
StaticModels Utility class for instantiating StaticModel instances from templates.
 

Package org.szegedi.expose.model Description

Provides various model implementations for Freemarker: reflection models, resource bundle model, and singleton boolean models.

Most of the issues dealing with reflection are handled by the ReflectionUtilities.wrap(Object)and StaticModel.create(Class) 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 it's <tt>getInstance</tt> method (which canonicalizes instances, meaning you always get the same wrapper instance for an object) , or using the new operator (which, by definition, always creates a new wrapper). There are also two classes that are not part of the automatic wrapping implemented by the ReflectionUtilities class, therefore you must always create their instances manually: the ReflectionRootModel and ResourceBundleHashModel class.