$description
$displayname
1.1.7
$shortname
$uri
$baseContent
#set ($componentList = ${model.getComponents()})
#foreach( $component in $componentList )
#if ($modelIds.contains($component.modelId)
&& ($component.name))
#if ($utils.getTagPrefix($component.name) == $shortname)
$utils.getTagName($component.name)
$component.tagClass
#if ($component.bodyContent)
$component.bodyContent
#else
JSP
#end
#set ($propertyList = ${component.propertyList})
#foreach( $property in $propertyList )
#if (!$property.isTagExcluded() && !$property.isFaceletsOnly())
#if ($property.longDescription)
#else
#end
$property.jspName
#if ($property.isRequired())
$property.isRequired()
#end
#if ($property.isMethodExpression() || $property.isMethodBinding())
#if ($property.getMethodBindingSignature())
#set ($sig = $property.getMethodBindingSignature())
$sig.returnType myMethod( $sig.parameterTypesAsString )
#else
## This is a very special case. If a property is MethodBinding or MethodExpression
## this should have a signature. If not, for allow multiple MethodBinding
## simulate a ValueExpression and write a custom code like in
## org.apache.myfaces.custom.suggestajax.AbstractSuggestAjaxTag
#end
#elseif ($property.isLiteralOnly())
false
#else
#if ( "$!property.isRtexprvalue()" == "")
#set ($type = $utils.getClassFromFullClass($property.className))
#if($property.deferredValueType)
$property.deferredValueType
#elseif ($type == "String")
java.lang.String
#else
$property.className
#end
#else
$property.isRtexprvalue().booleanValue()
#end
#end
#end
#end
#end
#end
#end
#set ($componentList = ${model.getConverters()})
#foreach( $component in $componentList )
#if ($modelIds.contains($component.modelId)
&& ($component.name) && ($component.tagClass))
#if ($utils.getTagPrefix($component.name) == $shortname)
$utils.getTagName($component.name)
$component.tagClass
#if ($component.bodyContent)
$component.bodyContent
#else
empty
#end
#set ($propertyList = ${component.propertyList})
#foreach( $property in $propertyList )
#if (!$property.isTagExcluded() && !$property.isFaceletsOnly())
#if ($property.longDescription)
#else
#end
$property.name
#if ($property.isRequired())
$property.isRequired()
#end
#if ($property.isLiteralOnly())
false
#else
#set ($type = $utils.getClassFromFullClass($property.className))
#if($property.deferredValueType)
$property.deferredValueType
#elseif ($type == "String")
java.lang.String
#else
$property.className
#end
#end
#end
#end
#end
#end
#end
#set ($componentList = ${model.getValidators()})
#foreach( $component in $componentList )
#if ($modelIds.contains($component.modelId)
&& ($component.name) && ($component.tagClass))
#if ($utils.getTagPrefix($component.name) == $shortname)
$utils.getTagName($component.name)
$component.tagClass
#if ($component.bodyContent)
$component.bodyContent
#else
empty
#end
#set ($propertyList = ${component.propertyList})
#foreach( $property in $propertyList )
#if (!$property.isTagExcluded() && !$property.isFaceletsOnly())
#if ($property.longDescription)
#else
#end
$property.name
#if ($property.isRequired())
$property.isRequired()
#end
#if ($property.isLiteralOnly())
false
#else
#set ($type = $utils.getClassFromFullClass($property.className))
#if($property.deferredValueType)
$property.deferredValueType
#elseif ($type == "String")
java.lang.String
#else
$property.className
#end
#end
#end
#end
#end
#end
#end
#set ($tagList = $model.getTags())
#foreach( $tag in $tagList )
#if ($modelIds.contains($tag.modelId))
$utils.getTagName($tag.name)
$tag.className
$tag.bodyContent
#set ($attributeList = ${tag.attributeList})
#foreach( $attribute in $attributeList )
#if (!$attribute.isFaceletsOnly())
#if ($attribute.longDescription)
#else
#end
$attribute.name
$attribute.isRequired()
#set ($type = $utils.getClassFromFullClass($attribute.className))
#if ($type == "MethodExpression")
${attribute.deferredMethodSignature}
#elseif ($type == "ValueExpression")
#if($attribute.deferredValueType)
$attribute.deferredValueType
#end
#else
$attribute.isRtexprvalue()
#if ($attribute.className)
$attribute.className
#else
java.lang.String
#end
#end
#end
#end
#end
#end