public class ArrayModel extends BeanModel implements TemplateCollectionModel, TemplateSequenceModel
A class that will wrap an arbitrary array into TemplateCollectionModel
and TemplateSequenceModel
interfaces. It supports element retrieval through the array[index]
syntax and can be iterated as a list.
NOTHING
Constructor and Description |
---|
ArrayModel(java.lang.Object array,
BeansWrapper wrapper)
Creates a new model that wraps the specified array object.
|
Modifier and Type | Method and Description |
---|---|
TemplateModel |
get(int index)
Retrieves the i-th template model in this sequence.
|
boolean |
isEmpty()
Tells whether the model is empty.
|
TemplateModelIterator |
iterator()
Retrieves a template model iterator that is used to iterate over
the elements in this collection.
|
int |
size() |
get, getAdaptedObject, getWrappedObject, hasPlainGetMethod, invokeGenericGet, keys, keySet, toString, unwrap, values, wrap
public ArrayModel(java.lang.Object array, BeansWrapper wrapper)
array
- the array object to wrap into a model.wrapper
- the BeansWrapper
associated with this model.
Every model has to have an associated BeansWrapper
instance. The
model gains many attributes from its wrapper, including the caching
behavior, method exposure level, method-over-item shadowing policy etc.java.lang.IllegalArgumentException
- if the passed object is not a Java array.public TemplateModelIterator iterator()
TemplateCollectionModel
iterator
in interface TemplateCollectionModel
public TemplateModel get(int index) throws TemplateModelException
TemplateSequenceModel
get
in interface TemplateSequenceModel
null
if
the index is out of bounds. Note that a null
value is
interpreted by FreeMarker as "variable does not exist", and accessing
a missing variables is usually considered as an error in the FreeMarker
Template Language, so the usage of a bad index will not remain hidden.TemplateModelException
public int size()
size
in interface TemplateHashModelEx
size
in interface TemplateSequenceModel
size
in class BeanModel
public boolean isEmpty()
BeanModel
isEmpty
in interface TemplateHashModel
isEmpty
in class BeanModel