org.apache.commons.jelly.tags.define
Class BeanTag

java.lang.Object
  extended by org.apache.commons.jelly.TagSupport
      extended by org.apache.commons.jelly.tags.define.DefineTagSupport
          extended by org.apache.commons.jelly.tags.define.BeanTag
All Implemented Interfaces:
org.apache.commons.jelly.Tag
Direct Known Subclasses:
ClassLoaderTag, JellyBeanTag

public class BeanTag
extends DefineTagSupport

Binds a Java bean to the given named Jelly tag so that the attributes of the tag set the bean properties..

Version:
$Revision: 155420 $
Author:
James Strachan

Field Summary
private  java.util.Map attributes
          the attribute definitions for this dynamic tag
private  java.lang.ClassLoader classLoader
          the ClassLoader used to load beans
private  java.lang.String className
          the Java class name to use for the tag
private static java.util.Map EMPTY_MAP
          An empty Map as I think Collections.EMPTY_MAP is only JDK 1.3 onwards
private static org.apache.commons.logging.Log log
          The Log to which logging calls will be made.
private  java.lang.String name
          the name of the tag to create
private  java.lang.String varAttribute
          the name of the attribute used for the variable name
 
Fields inherited from class org.apache.commons.jelly.TagSupport
body, context, hasTrimmed, parent, shouldTrim
 
Constructor Summary
BeanTag()
           
 
Method Summary
 void addAttribute(org.apache.commons.jelly.impl.Attribute attribute)
          Adds a new attribute definition to this dynamic tag
 void doTag(org.apache.commons.jelly.XMLOutput output)
           
 java.lang.ClassLoader getClassLoader()
           
protected  java.lang.reflect.Method getInvokeMethod(java.lang.Class theClass)
          Extracts the invoke method for the class if one is used.
 void setClassLoader(java.lang.ClassLoader classLoader)
          Sets the ClassLoader to use to load the class.
 void setClassName(java.lang.String className)
          Sets the Java class name to use for the tag
 void setName(java.lang.String name)
          Sets the name of the tag to create
 void setVarAttribute(java.lang.String varAttribute)
          Sets the name of the attribute used to define the bean variable that this dynamic tag will output its results as.
 
Methods inherited from class org.apache.commons.jelly.tags.define.DefineTagSupport
getTagLibrary
 
Methods inherited from class org.apache.commons.jelly.TagSupport
findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, getBody, getBodyText, getBodyText, getContext, getParent, invokeBody, isEscapeText, isTrim, setBody, setContext, setEscapeText, setParent, setTrim, trimBody
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static final org.apache.commons.logging.Log log
The Log to which logging calls will be made.


EMPTY_MAP

private static final java.util.Map EMPTY_MAP
An empty Map as I think Collections.EMPTY_MAP is only JDK 1.3 onwards


name

private java.lang.String name
the name of the tag to create


className

private java.lang.String className
the Java class name to use for the tag


classLoader

private java.lang.ClassLoader classLoader
the ClassLoader used to load beans


varAttribute

private java.lang.String varAttribute
the name of the attribute used for the variable name


attributes

private java.util.Map attributes
the attribute definitions for this dynamic tag

Constructor Detail

BeanTag

public BeanTag()
Method Detail

addAttribute

public void addAttribute(org.apache.commons.jelly.impl.Attribute attribute)
Adds a new attribute definition to this dynamic tag


doTag

public void doTag(org.apache.commons.jelly.XMLOutput output)
           throws org.apache.commons.jelly.MissingAttributeException,
                  org.apache.commons.jelly.JellyTagException
Throws:
org.apache.commons.jelly.MissingAttributeException
org.apache.commons.jelly.JellyTagException

setName

public void setName(java.lang.String name)
Sets the name of the tag to create


setClassName

public void setClassName(java.lang.String className)
Sets the Java class name to use for the tag


setClassLoader

public void setClassLoader(java.lang.ClassLoader classLoader)
Sets the ClassLoader to use to load the class. If no value is set then the current threads context class loader is used.


getClassLoader

public java.lang.ClassLoader getClassLoader()
Returns:
the ClassLoader to use to load classes specified by this object, the thread context loader if the context flag is set, or the class used to load this class.

setVarAttribute

public void setVarAttribute(java.lang.String varAttribute)
Sets the name of the attribute used to define the bean variable that this dynamic tag will output its results as. This defaults to 'var' though this property can be used to change this if it conflicts with a bean property called 'var'.


getInvokeMethod

protected java.lang.reflect.Method getInvokeMethod(java.lang.Class theClass)
Extracts the invoke method for the class if one is used.