freemarker.ext.beans
Class SimpleMapModel

java.lang.Object
  extended byfreemarker.template.WrappingTemplateModel
      extended byfreemarker.ext.beans.SimpleMapModel
All Implemented Interfaces:
TemplateHashModel, TemplateHashModelEx, TemplateMethodModel, TemplateMethodModelEx, TemplateModel, WrapperTemplateModel

public class SimpleMapModel
extends WrappingTemplateModel
implements TemplateHashModelEx, TemplateMethodModelEx, WrapperTemplateModel

Model used by BeansWrapper when simpleMapWrapper mode is enabled. Provides a simple hash model interface to the underlying map (does not copy like SimpleHash), and a method interface to non-string keys.

Version:
$Id: SimpleMapModel.java,v 1.7 2004/01/06 17:06:42 szegedia Exp $
Author:
Chris Nokleberg

Field Summary
 
Fields inherited from interface freemarker.template.TemplateModel
NOTHING
 
Constructor Summary
SimpleMapModel(java.util.Map map, BeansWrapper wrapper)
           
 
Method Summary
 java.lang.Object exec(java.util.List args)
          Executes a method call.
 TemplateModel get(java.lang.String key)
          Gets a TemplateModel from the hash.
 java.lang.Object getWrappedObject()
          Retrieves the object wrapped by this model.
 boolean isEmpty()
           
 TemplateCollectionModel keys()
           
 int size()
           
 TemplateCollectionModel values()
           
 
Methods inherited from class freemarker.template.WrappingTemplateModel
getDefaultObjectWrapper, getObjectWrapper, setDefaultObjectWrapper, setObjectWrapper, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleMapModel

public SimpleMapModel(java.util.Map map,
                      BeansWrapper wrapper)
Method Detail

get

public TemplateModel get(java.lang.String key)
                  throws TemplateModelException
Description copied from interface: TemplateHashModel
Gets a TemplateModel from the hash.

Specified by:
get in interface TemplateHashModel
Parameters:
key - the name by which the TemplateModel is identified in the template.
Returns:
the TemplateModel referred to by the key, or null if not found.
Throws:
TemplateModelException

exec

public java.lang.Object exec(java.util.List args)
                      throws TemplateModelException
Description copied from interface: TemplateMethodModel
Executes a method call. All arguments passed to the method call are treated as TemplateScalarModels, and evaluated to Strings before being passed. If some of the passed arguments is not a scalar, an exception will occur and the method will not be called. If your method would like to act on actual data model objects instead of on their String representations, implement the TemplateMethodModelEx instead.

Specified by:
exec in interface TemplateMethodModel
Parameters:
args - a List of String objects containing the values of the arguments passed to the method.
Returns:
the TemplateModel produced by the method, or null.
Throws:
TemplateModelException

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface TemplateHashModel

size

public int size()
Specified by:
size in interface TemplateHashModelEx
Returns:
the number of key/value mappings in the hash.

keys

public TemplateCollectionModel keys()
Specified by:
keys in interface TemplateHashModelEx
Returns:
a collection containing the keys in the hash. Every element of the returned collection must implement the TemplateScalarModel (as the keys of hashes are always strings).

values

public TemplateCollectionModel values()
Specified by:
values in interface TemplateHashModelEx
Returns:
a collection containing the values in the hash.

getWrappedObject

public java.lang.Object getWrappedObject()
Description copied from interface: WrapperTemplateModel
Retrieves the object wrapped by this model.

Specified by:
getWrappedObject in interface WrapperTemplateModel