<?xml version="1.0" encoding="${velocityEncodingOutput}"?>
<!DOCTYPE component-specification PUBLIC
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN"
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
<!-- generated by joey-gen, http://jowy.sourceforge.jp -->
<component-specification class="${entity.getPackage("tapestry.component")}.${tapestryComponentDetailPrefix}${entity.getName()}${tapestryComponentDetailSuffix}"
    allow-body="no"
    allow-informal-parameters="no">
    <parameter name="target"
        type="${entity.getFqn()}"
        direction="in"
        required="yes"/>

#foreach($prop in ${entity.getPresentProperties()}  )
#if( ${prop.getParent()} == $entity )
#if( ${prop.getElementType()} == "Reference" )
########### Reference ###########
$generator.parse("tapestry/component/detail/jwc/component_detail_jwc_reference.vm", "", "reference", $prop)
#elseif(${prop.getElementType()} == "Property")
########### Property ###########
#if( ! ${prop.isExtended()} )
    <!-- ${prop.getName()}: ${prop.getType().getName()}  -->
#set( $category = ${prop.getType().getCategory().getName()} )
#if ( ${prop.getEnumType()} )
$generator.parse("tapestry/component/detail/jwc/component_detail_jwc_enum.vm", "", "prop", $prop)
#elseif ( ${category} == "boolean" )
$generator.parse("tapestry/component/detail/jwc/component_detail_jwc_boolean.vm", "", "prop", $prop)
#elseif ( ${category} == "date" )
$generator.parse("tapestry/component/detail/jwc/component_detail_jwc_date.vm", "", "prop", $prop)
#elseif ( ${category} == "number" )
$generator.parse("tapestry/component/detail/jwc/component_detail_jwc_number.vm", "", "prop", $prop)
#elseif ( ${category} == "text" )
$generator.parse("tapestry/component/detail/jwc/component_detail_jwc_text.vm", "", "prop", $prop)
#elseif ( ${category} == "string" )
#if( ${prop.getOriginal()} )
#set( $col = ${prop.getOriginal()} )
#if( ${col.getType()} == "LONGVARCHAR" )
$generator.parse("tapestry/component/detail/jwc/component_detail_jwc_text.vm", "", "prop", $prop)
#else
$generator.parse("tapestry/component/detail/jwc/component_detail_jwc_string.vm", "", "prop", $prop)
#end
#else
$generator.parse("tapestry/component/detail/jwc/component_detail_jwc_string.vm", "", "prop", $prop)
#end
#else
	<!-- no component for type cateogry( ${category} ) of property '${prop.getName()}' -->
#end

#end
#end
#end
#end

</component-specification>
