freemarker.ext.beans
Class StaticModel

java.lang.Object
  |
  +--freemarker.ext.beans.StaticModel
All Implemented Interfaces:
TemplateHashModel, TemplateModel

public final class StaticModel
extends java.lang.Object
implements TemplateHashModel

Wraps the static fields and methods of a class in a TemplateHashModel. Fields are wrapped using BeansWrapper.wrap(Object), and methods are wrapped into SimpleMethodModel instances. Unfortunately, there is currently no support for bean property-style calls of static methods, as in BeanModel.

Version:
1.0
Author:
Attila Szegedi, szegedia@freemail.hu

Method Summary
static StaticModel create(java.lang.Class clazz)
          Creates a model representing the static fields and methods of the passed class.
 TemplateModel get(java.lang.String key)
          Returns the field or method named by the key parameter.
 boolean isEmpty()
          Returns true if there is at least one public static field or method in the underlying class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

create

public static final StaticModel create(java.lang.Class clazz)
                                throws java.lang.IllegalAccessException
Creates a model representing the static fields and methods of the passed class. Models are cached, meaning that calling create twice with a same class parameter will yield the same object.
Throws:
java.lang.IllegalAccessException - if the passed class is not public

get

public TemplateModel get(java.lang.String key)
                  throws TemplateModelException
Returns the field or method named by the key parameter.
Specified by:
get in interface TemplateHashModel
Following copied from interface: freemarker.template.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.

isEmpty

public boolean isEmpty()
Returns true if there is at least one public static field or method in the underlying class.
Specified by:
isEmpty in interface TemplateModel
Following copied from interface: freemarker.template.TemplateModel
Returns:
true if this object is empty.