com.opensymphony.webwork.views.freemarker.tags
Class TagModel

java.lang.Object
  extended by com.opensymphony.webwork.views.freemarker.tags.TagModel
All Implemented Interfaces:
freemarker.template.TemplateModel, freemarker.template.TemplateTransformModel
Direct Known Subclasses:
ActionErrorModel, ActionMessageModel, ActionModel, AnchorModel, ApplyDecoratorTransform, BeanModel, CheckboxListModel, CheckboxModel, ComboBoxModel, ComponentModel, DateModel, DebugModel, DivModel, DoubleSelectModel, ElseIfModel, ElseModel, FieldErrorModel, FileModel, FormModel, HeadModel, HiddenModel, I18nModel, IfModel, IncludeModel, IteratorModel, LabelModel, OptGroupModel, OptionTransferSelectModel, PanelModel, ParamModel, PasswordModel, PropertyModel, PushModel, RadioModel, ResetModel, RichTextEditorModel, SelectModel, SetModel, SubmitModel, TabbedPanelModel, TextAreaModel, TextFieldModel, TextModel, TokenModel, TreeModel, TreeNodeModel, UpDownSelectModel, URLModel, WebTableModel

public abstract class TagModel
extends Object
implements freemarker.template.TemplateTransformModel

An abstract class mean to be implemented by WebWork's Freemarker's Tag. It abstracts away the logic of parameter conversion exposed by Freemarker's TemplateTransformModel.getWriter(Writer, Map) method and populating them into WebWork's component exposed by subclass through getBean() method.

Version:
$Date: 2007-03-21 01:52:15 +0800 (Wed, 21 Mar 2007) $ $Id: TagModel.java 2866 2007-03-20 17:52:15Z tm_jee $
Author:
plightbo, tmjee

Field Summary
protected  HttpServletRequest req
           
protected  HttpServletResponse res
           
protected  OgnlValueStack stack
           
 
Fields inherited from interface freemarker.template.TemplateModel
NOTHING
 
Constructor Summary
TagModel(OgnlValueStack stack, HttpServletRequest req, HttpServletResponse res)
           
 
Method Summary
protected abstract  Component getBean()
          An abstract method subclass should implement, exposing the WebWork's underlying {Component} this tag is supposed to delegate to.
 Writer getWriter(Writer writer, Map params)
          Returns a Writer that will render WebWork Freemarker tag.
protected  Map unwrapParameters(Map params)
          Unwraped the parameters (Map) passed in by {TemplateTransformModelgetWriter(Writer, Map).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

stack

protected OgnlValueStack stack

req

protected HttpServletRequest req

res

protected HttpServletResponse res
Constructor Detail

TagModel

public TagModel(OgnlValueStack stack,
                HttpServletRequest req,
                HttpServletResponse res)
Method Detail

getWriter

public Writer getWriter(Writer writer,
                        Map params)
                 throws freemarker.template.TemplateModelException,
                        IOException
Returns a Writer that will render WebWork Freemarker tag.

Specified by:
getWriter in interface freemarker.template.TemplateTransformModel
Throws:
freemarker.template.TemplateModelException
IOException
See Also:
TemplateTransformModel.getWriter(Writer, Map)

unwrapParameters

protected Map unwrapParameters(Map params)
Unwraped the parameters (Map) passed in by {TemplateTransformModelgetWriter(Writer, Map). It makes use of {DefaultObjectWrapperunwrapParameters(Map) to do the unwrapping if the value of the entry in the params is of type {#TemplateModel} (which should ALWAYS be the case) else it will just use the toString() representation of it.

Parameters:
params -
Returns:
Map

getBean

protected abstract Component getBean()
An abstract method subclass should implement, exposing the WebWork's underlying {Component} this tag is supposed to delegate to.

Returns:
Component

WebWork Project Page