public class SimpleSequence extends WrappingTemplateModel implements TemplateSequenceModel, java.io.Serializable
A convenient implementation of a list. This
object implements TemplateSequenceModel
, using an underlying
java.util.List implementation.
A SimpleSequence can act as a cache for a TemplateCollectionModel, e.g. one that gets data from a database. When passed a TemplateCollectionModel as an argument to its constructor, the SimpleSequence immediately copies all the elements and discards the TemplateCollectionModel.
This class is thread-safe if you don't call the add method after you have made the object available for multiple threads.
Note:
As of 2.0, this class is unsynchronized by default.
To obtain a synchronized wrapper, call the synchronizedWrapper()
method.
SimpleHash
,
SimpleScalar
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected java.util.List |
list |
NOTHING
Constructor and Description |
---|
SimpleSequence()
Constructs an empty simple sequence that will use the the default object
wrapper set in
WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper) . |
SimpleSequence(java.util.Collection collection)
Constructs a simple sequence that will contain the elements
from the specified
Collection and will use the the default
object wrapper set in
WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper) . |
SimpleSequence(java.util.Collection collection,
ObjectWrapper wrapper)
Constructs a simple sequence that will contain the elements
from the specified
Collection and will use the specified object
wrapper. |
SimpleSequence(int capacity)
Constructs an empty simple sequence with preallocated capacity and using
the default object wrapper set in
WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper) . |
SimpleSequence(ObjectWrapper wrapper)
Constructs an empty simple sequence using the specified object wrapper.
|
SimpleSequence(TemplateCollectionModel tcm)
Constructs a simple sequence from the passed collection model using the
default object wrapper set in
WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper) . |
Modifier and Type | Method and Description |
---|---|
void |
add(boolean b)
Adds a boolean to the end of this SimpleSequence, by
coercing the boolean into
TemplateBooleanModel.TRUE or
TemplateBooleanModel.FALSE . |
void |
add(java.lang.Object obj)
Adds an arbitrary object to the end of this SimpleSequence.
|
TemplateModel |
get(int i)
Retrieves the i-th template model in this sequence.
|
int |
size() |
SimpleSequence |
synchronizedWrapper() |
java.util.List |
toList()
Note that this method creates and returns a deep-copy of the underlying list used
internally.
|
java.lang.String |
toString() |
getDefaultObjectWrapper, getObjectWrapper, setDefaultObjectWrapper, setObjectWrapper, wrap
public SimpleSequence()
WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper)
.public SimpleSequence(int capacity)
WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper)
.public SimpleSequence(java.util.Collection collection)
Collection
and will use the the default
object wrapper set in
WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper)
.collection
- the collection containing initial values. Note that a
copy of the collection is made for internal use.public SimpleSequence(TemplateCollectionModel tcm) throws TemplateModelException
WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper)
.TemplateModelException
public SimpleSequence(ObjectWrapper wrapper)
wrapper
- The object wrapper to use to wrap objects into
TemplateModel
instances. If null, the default wrapper set in
WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper)
is
used.public SimpleSequence(java.util.Collection collection, ObjectWrapper wrapper)
Collection
and will use the specified object
wrapper.collection
- the collection containing initial values. Note that a
copy of the collection is made for internal use.wrapper
- The object wrapper to use to wrap objects into
TemplateModel
instances. If null, the default wrapper set in
WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper)
is
used.public void add(java.lang.Object obj)
TemplateModel
interface, it will be wrapped into an appropriate adapter on the first
call to get(int)
.obj
- the boolean to be added.public void add(boolean b)
TemplateBooleanModel.TRUE
or
TemplateBooleanModel.FALSE
.b
- the boolean to be added.public java.util.List toList() throws TemplateModelException
TemplateModelException
public TemplateModel get(int i) throws TemplateModelException
TemplateSequenceModel
get
in interface TemplateSequenceModel
TemplateModelException
public int size()
size
in interface TemplateSequenceModel
public SimpleSequence synchronizedWrapper()
public java.lang.String toString()
toString
in class java.lang.Object