org.apache.commons.jelly
Interface DynaTag

All Superinterfaces:
Tag
All Known Implementing Classes:
DynaBeanTagSupport, DynamicBeanTag, DynamicDynaBeanTag, DynamicTag, DynaTagSupport, MapTagSupport, SetPropertiesTag, StaticTag, UseBeanTag, UseListTag

public interface DynaTag
extends Tag

DynaTag represents a Jelly custom tag which can take its attributes dynamically and store them in some data structure. Typically a DynaTag may use either a Map or a DynaBean to implement itself which avoids writing explicit getter and setter methods for each possible attribute.

This kind of tag can be extremely useful when making HTML-like tags which generally output all the attributes which are used in the markup, except one or two special attributes are used, all others pass through.

Version:
$Revision: 1807798 $
Author:
James Strachan

Method Summary
 java.lang.Class getAttributeType(java.lang.String name)
           
 void setAttribute(java.lang.String name, java.lang.Object value)
          Sets an attribute value of this tag before the tag is invoked
 
Methods inherited from interface org.apache.commons.jelly.Tag
doTag, getBody, getContext, getParent, invokeBody, setBody, setContext, setParent
 

Method Detail

setAttribute

void setAttribute(java.lang.String name,
                  java.lang.Object value)
                  throws JellyTagException
Sets an attribute value of this tag before the tag is invoked

Throws:
JellyTagException

getAttributeType

java.lang.Class getAttributeType(java.lang.String name)
                                 throws JellyTagException
Returns:
the type of the given attribute. By default just return Object.class if this is not known. If this method returns Expression.class then the expression will not be evaluated and just passed in as the attribute value.
Throws:
JellyTagException