org.apache.commons.jelly.impl
Class DynamicDynaBeanTag

java.lang.Object
  extended by org.apache.commons.jelly.TagSupport
      extended by org.apache.commons.jelly.DynaTagSupport
          extended by org.apache.commons.jelly.DynaBeanTagSupport
              extended by org.apache.commons.jelly.impl.DynamicDynaBeanTag
All Implemented Interfaces:
DynaTag, BeanSource, Tag

public class DynamicDynaBeanTag
extends DynaBeanTagSupport
implements BeanSource

This tag is bound onto a DynaClass instance. When the tag is invoked a DynaBean will be created using the tags attributes. So this class is like a {@link DynaBean} implemenation of {@link DynamicBeanTag}

Version:
$Revision: 1807798 $
Author:
James Strachan

Field Summary
private  java.util.Map attributes
          the attribute definitions
private  org.apache.commons.beanutils.DynaClass beanClass
          the bean class
private  java.util.Set setAttributesSet
          the set of attribute names we've already set
private  java.lang.String var
          the current variable name that the bean should be exported as
private  java.lang.String variableNameAttribute
          the tag attribute name that is used to declare the name of the variable to export after running this tag
 
Fields inherited from class org.apache.commons.jelly.TagSupport
body, context, hasTrimmed, parent, shouldTrim
 
Constructor Summary
DynamicDynaBeanTag(org.apache.commons.beanutils.DynaClass beanClass, java.util.Map attributes, java.lang.String variableNameAttribute)
           
 
Method Summary
 void beforeSetAttributes()
          Callback to allow processing to occur before the attributes are about to be set
 void doTag(XMLOutput output)
          Evaluates this tag after all the tags properties have been initialized.
 java.lang.Object getBean()
           
 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 class org.apache.commons.jelly.DynaBeanTagSupport
getAttributeType, getDynaBean, setContext, setDynaBean
 
Methods inherited from class org.apache.commons.jelly.TagSupport
findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, getBody, getBodyText, getBodyText, getContext, getParent, invokeBody, isEscapeText, isTrim, setBody, setEscapeText, setParent, setTrim, trimBody
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.commons.jelly.Tag
getBody, getContext, getParent, invokeBody, setBody, setParent
 

Field Detail

beanClass

private org.apache.commons.beanutils.DynaClass beanClass
the bean class


variableNameAttribute

private java.lang.String variableNameAttribute
the tag attribute name that is used to declare the name of the variable to export after running this tag


var

private java.lang.String var
the current variable name that the bean should be exported as


setAttributesSet

private java.util.Set setAttributesSet
the set of attribute names we've already set


attributes

private java.util.Map attributes
the attribute definitions

Constructor Detail

DynamicDynaBeanTag

public DynamicDynaBeanTag(org.apache.commons.beanutils.DynaClass beanClass,
                          java.util.Map attributes,
                          java.lang.String variableNameAttribute)
Method Detail

beforeSetAttributes

public void beforeSetAttributes()
                         throws JellyTagException
Description copied from class: DynaBeanTagSupport
Callback to allow processing to occur before the attributes are about to be set

Overrides:
beforeSetAttributes in class DynaBeanTagSupport
Throws:
JellyTagException

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
                  throws JellyTagException
Description copied from class: DynaBeanTagSupport
Sets an attribute value of this tag before the tag is invoked

Specified by:
setAttribute in interface DynaTag
Overrides:
setAttribute in class DynaBeanTagSupport
Throws:
JellyTagException

doTag

public void doTag(XMLOutput output)
           throws JellyTagException
Description copied from interface: Tag
Evaluates this tag after all the tags properties have been initialized.

Specified by:
doTag in interface Tag
Throws:
JellyTagException

getBean

public java.lang.Object getBean()
Specified by:
getBean in interface BeanSource
Returns:
the bean that has just been created