#-- ======================== Start of Main() Code Generation ============= -->
<#compress> <#-- remove superfluous white-space -->
<#recurse doc> <#-- Strart recursively processing the document -->
<#macro pise> <#-- A macro name matched with the label of the node in the doc-->
<#-- when this node is found execute the following commands-->
<#assign Toolname=.node.command> <#-- Declaration of a varialbe Toolname-->
<#assign name=.node.command>
<#recurse .node.parameters>
<#-- Permit to recursively process the nodes, FreeMaker will look for a
macro that matches the label of the node in the doc. In this case
it will find 'parameters' -->
#macro>
#compress>
<#-- ======================== End of Main() Code Generation ============= -->
<#-- ======================== Macros ============= -->
<#macro parameters><#recurse>#macro>
<#macro parameter>
<#-- change "-" to "_" since Java does not recognize '-' as valid name
change " " to "_" since space is not allowed in a Java varname
add "_" to name to avoid using common methods names as parent class -->
<#assign name = .node.name[0]?default("")>
<#assign name = name?replace("[ |-]","_","r")+"_">
<#-- skip parameter when "ishidden" is "1" -->
<#if .node.@ishidden[0]?exists && .node.@ishidden[0]?contains("1")><#return>#if>
<#switch .node.@type>
<#case "Paragraph">
<#-- Take care of the precond for a paragraph-->
<#recurse .node.paragraph.parameters>
<#break>
<#case "InFile">
<#if .node.@ismandatory[0]?exists>
You must enter a value for ${name}, an empty String is not acceptable.
#if>
<#break>
<#case "Sequence">
<#case "List">
<#case "Excl">
<#case "String">
<#if .node.@ismandatory[0]?exists>
You must enter a value for ${name}, an empty String is not acceptable.
#if>
<#break>
<#case "Integer">
<#if .node.@ismandatory[0]?exists>
<#if (.node.attributes.scalemin?is_node && .node.attributes.scalemin.value?is_node)
|| (.node.attributes.scalemax?is_node && .node.attributes.scalemax.value?is_node)>
<#if .node.attributes.scalemin?is_node && .node.attributes.scalemin.value?is_node >
${.node.attributes.scalemin.value}
myProperty must be > than "${.node.attributes.scalemin.value}".
#if>
<#if .node.attributes.scalemax?is_node && .node.attributes.scalemax.value?is_node>
${.node.attributes.scalemax.value}
myProperty must be < than"${.node.attributes.scalemax.value}".
#if>
#if>
true
${name} must be of type Integer
You must enter a value for ${name}.
<#else>
<#if (.node.attributes.scalemin?is_node && .node.attributes.scalemin.value?is_node)
|| (.node.attributes.scalemax?is_node && .node.attributes.scalemax.value?is_node)>
<#if .node.attributes.scalemin?is_node && .node.attributes.scalemin.value?is_node >
${.node.attributes.scalemin.value}
myProperty must be > than "${.node.attributes.scalemin.value}".
#if>
<#if .node.attributes.scalemax?is_node && .node.attributes.scalemax.value?is_node>
${.node.attributes.scalemax.value}
myProperty must be < than"${.node.attributes.scalemax.value}".
#if>
#if>
true
${name} must be of type Integer
#if>
<#break>
<#case "Float">
<#if .node.@ismandatory[0]?exists>
<#if (.node.attributes.scalemin?is_node && .node.attributes.scalemin.value?is_node)
|| (.node.attributes.scalemax?is_node && .node.attributes.scalemax.value?is_node)>
<#if .node.attributes.scalemin?is_node && .node.attributes.scalemin.value?is_node >
${.node.attributes.scalemin.value}
myProperty must be > than "${.node.attributes.scalemin.value}".
#if>
<#if .node.attributes.scalemax?is_node && .node.attributes.scalemax.value?is_node>
${.node.attributes.scalemax.value}
myProperty must be < than"${.node.attributes.scalemax.value}".
#if>
#if>
true
${name} must be of type Double
You must enter a value for ${name}.
<#else>
<#if (.node.attributes.scalemin?is_node && .node.attributes.scalemin.value?is_node)
|| (.node.attributes.scalemax?is_node && .node.attributes.scalemax.value?is_node)>
<#if .node.attributes.scalemin?is_node && .node.attributes.scalemin.value?is_node >
${.node.attributes.scalemin.value}
myProperty must be > than "${.node.attributes.scalemin.value}".
#if>
<#if .node.attributes.scalemax?is_node && .node.attributes.scalemax.value?is_node>
${.node.attributes.scalemax.value}
myProperty must be < than"${.node.attributes.scalemax.value}".
#if>
#if>
true
${name} must be of type Double
#if>
<#break>
#switch>
#macro>