Home » freemarker-2.3.13 » freemarker.template » [javadoc | source]
freemarker.template
public class: SimpleSequence [javadoc | source]
java.lang.Object
   freemarker.template.WrappingTemplateModel
      freemarker.template.SimpleSequence

All Implemented Interfaces:
    TemplateSequenceModel, Serializable

Direct Known Subclasses:
    NodeListModel, SynchronizedSequence, AncestorSequence, SimpleList

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.

Field Summary
protected final  List list   
    serial: The - List that this SimpleSequence wraps.
 
Constructor:
 public SimpleSequence() 
 public SimpleSequence(int capacity) 
 public SimpleSequence(Collection collection) 
    Parameters:
    collection - the collection containing initial values. Note that a copy of the collection is made for internal use.
 public SimpleSequence(TemplateCollectionModel tcm) throws TemplateModelException 
 public SimpleSequence(ObjectWrapper wrapper) 
    Constructs an empty simple sequence using the specified object wrapper.
 public SimpleSequence(Collection collection,
    ObjectWrapper wrapper) 
    Constructs a simple sequence that will contain the elements from the specified Collection and will use the specified object wrapper.
Method from freemarker.template.SimpleSequence Summary:
add,   add,   get,   size,   synchronizedWrapper,   toList,   toString
Methods from freemarker.template.WrappingTemplateModel:
getDefaultObjectWrapper,   getObjectWrapper,   setDefaultObjectWrapper,   setObjectWrapper,   wrap
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from freemarker.template.SimpleSequence Detail:
 public  void add(Object obj) 
    Adds an arbitrary object to the end of this SimpleSequence. If the object itself does not implement the TemplateModel interface, it will be wrapped into an appropriate adapter on the first call to #get(int) .
 public  void add(boolean b) 
 public TemplateModel get(int i) throws TemplateModelException 
 public int size() 
 public SimpleSequence synchronizedWrapper() 
 public List toList() throws TemplateModelException 
    Note that this method creates and returns a deep-copy of the underlying list used internally. This could be a gotcha for some people at some point who want to alter something in the data model, but we should maintain our immutability semantics (at least using default SimpleXXX wrappers) for the data model. It will recursively unwrap the stuff in the underlying container.
 public String toString()