public class EnumerationModel extends BeanModel implements TemplateModelIterator, TemplateCollectionModel
A class that adds TemplateModelIterator
functionality to the
Enumeration
interface implementers.
Using the model as a collection model is NOT thread-safe, as
enumerations are inherently not thread-safe.
Further, you can iterate over it only once. Attempts to call the
iterator()
method after it was already driven to the end once will
throw an exception.
NOTHING
Constructor and Description |
---|
EnumerationModel(java.util.Enumeration enumeration,
BeansWrapper wrapper)
Creates a new model that wraps the specified enumeration object.
|
Modifier and Type | Method and Description |
---|---|
boolean |
getAsBoolean()
Returns
Enumeration.hasMoreElements() . |
boolean |
hasNext()
Calls underlying
Enumeration.nextElement() . |
TemplateModelIterator |
iterator()
This allows the enumeration to be used in a <foreach> block.
|
TemplateModel |
next()
Calls underlying
Enumeration.nextElement() and wraps the result. |
get, getAdaptedObject, getWrappedObject, hasPlainGetMethod, invokeGenericGet, isEmpty, keys, keySet, size, toString, unwrap, values, wrap
public EnumerationModel(java.util.Enumeration enumeration, BeansWrapper wrapper)
enumeration
- the enumeration 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.public TemplateModelIterator iterator() throws TemplateModelException
iterator
in interface TemplateCollectionModel
TemplateModelException
public boolean hasNext()
Enumeration.nextElement()
.hasNext
in interface TemplateModelIterator
public TemplateModel next() throws TemplateModelException
Enumeration.nextElement()
and wraps the result.next
in interface TemplateModelIterator
TemplateModelException
- if the next model can not be retrieved
(i.e. because the iterator is exhausted).public boolean getAsBoolean()
Enumeration.hasMoreElements()
. Therefore, an
enumeration that has no more element evaluates to false, and an
enumeration that has further elements evaluates to true.