freemarker.ext.beans2
Class IteratorMethodWrapper

java.lang.Object
  extended by freemarker.ext.beans2.IteratorMethodWrapper
All Implemented Interfaces:
TemplateListModel2, TemplateModel

public class IteratorMethodWrapper
extends java.lang.Object
implements TemplateListModel2

Wraps an iterator method.

Since:
1.9
Version:
$Id: IteratorMethodWrapper.java 1100 2005-09-07 13:31:21Z run2000 $
Author:
Nicholas Cull

Field Summary
protected  java.lang.reflect.Method method
           
protected  java.lang.Object object
           
protected  java.lang.Object[] paramValues
           
 
Constructor Summary
IteratorMethodWrapper()
           
IteratorMethodWrapper(java.lang.reflect.Method method, java.lang.Object[] paramValues)
           
IteratorMethodWrapper(java.lang.reflect.Method method, java.lang.Object[] paramValues, java.lang.Object object)
           
 
Method Summary
 boolean isEmpty()
          Is the object empty?
 void releaseIterator(TemplateIteratorModel iterator)
          Returns the used iterator to the list model.
 void setMethod(java.lang.reflect.Method method)
           
 void setObject(java.lang.Object object)
           
 void setParamValues(java.lang.Object[] paramValues)
           
 TemplateIteratorModel templateIterator()
          Retrieves an iterator to iterate over this list.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

object

protected java.lang.Object object

method

protected java.lang.reflect.Method method

paramValues

protected java.lang.Object[] paramValues
Constructor Detail

IteratorMethodWrapper

public IteratorMethodWrapper()

IteratorMethodWrapper

public IteratorMethodWrapper(java.lang.reflect.Method method,
                             java.lang.Object[] paramValues)

IteratorMethodWrapper

public IteratorMethodWrapper(java.lang.reflect.Method method,
                             java.lang.Object[] paramValues,
                             java.lang.Object object)
Method Detail

setObject

public void setObject(java.lang.Object object)

setMethod

public void setMethod(java.lang.reflect.Method method)

setParamValues

public void setParamValues(java.lang.Object[] paramValues)

isEmpty

public boolean isEmpty()
                throws TemplateModelException
Description copied from interface: TemplateModel
Is the object empty?

Specified by:
isEmpty in interface TemplateModel
Returns:
true if this object is empty, otherwise false
Throws:
TemplateModelException

templateIterator

public TemplateIteratorModel templateIterator()
                                       throws TemplateModelException
Retrieves an iterator to iterate over this list. Can choose to return null if there are no elements in the list.

Specified by:
templateIterator in interface TemplateListModel2
Returns:
an iterator to iterate over the current list.
Throws:
TemplateModelException - the next item in the list can't be retrieved, or no next item exists.

releaseIterator

public void releaseIterator(TemplateIteratorModel iterator)

Returns the used iterator to the list model. Implement this method when you want to use an object pool of TemplateIterator objects. Otherwise, leave the implementation of this method blank.

Note that if the iterator returned in templateIterator() is null, this method will not be called for the null iterator.

Specified by:
releaseIterator in interface TemplateListModel2
Parameters:
iterator - the iterator to be returned to the object pool, if any