blob: 91372685e5047e4ceae35eb4e4c0f97c5fca6908 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
##macro writeAttribute ==============
#macro( writeAttribute $property )
<attribute>
<name>$property.name</name>
<required>$property.isRequired()</required>
#if ($property.longDescription)
<description><![CDATA[$property.longDescription]]></description>
#else
<description><![CDATA[]]></description>
#end
#set ($type = $utils.getClassFromFullClass($property.className))
#if ($type == "MethodExpression")
<method-signature>${property.deferredMethodSignature}</method-signature>
#elseif ($type == "ValueExpression")
#if($property.deferredValueType)
<type>$property.deferredValueType</type>
#end
#else
#if ($property.className)
<type>$property.className</type>
#else
<type>java.lang.String</type>
#end
#end
</attribute>
#end
##macro writeAttribute end ==========
##macro writeAttributes =============
#macro( writeAttributes $propertyList )
#foreach( $property in $propertyList )
#if (!$property.isTagExcluded())
#writeAttribute($property)
#end
#end
#end
##macro writeAttributes end =========
<facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd"
version="2.0">
<namespace>$uri</namespace>
#if ($compositeLibrary)
<composite-library-name>$compositeLibrary</composite-library-name>
#end
$baseContent
<!-- Component Tags -->
#set ($componentList = ${model.getComponents()})
#foreach( $component in $componentList )
#if ($modelIds.contains($component.modelId)
&& ($component.name))
#if (!$component.isConfigExcluded() && !$component.isComposite())
## Check if we don't have a facelet tag taking precedence over this description
#if (! ${model.findFaceletTagByName($component.name)})
#if ($modelIds.contains($component.modelId)
&& ($component.name) && $utils.getTagPrefix($component.name) == $shortname)
<tag>
#if ($component.longDescription)
<description><![CDATA[$component.longDescription]]></description>
#else
<description><![CDATA[]]></description>
#end
<tag-name>$utils.getTagName($component.name)</tag-name>
<component>
<component-type>$component.type</component-type>
#if ($component.rendererType)
#if (!($component.rendererType == ""))
<renderer-type>$component.rendererType</renderer-type>
#end
#end
#if ($component.tagHandler)
<handler-class>$component.tagHandler</handler-class>
#end
</component>
#writeAttributes($component.propertyList)
</tag>
#end
#end
#end
#end
#end
<!-- Converter tags -->
#set ($componentList = ${model.getConverters()})
#foreach( $component in $componentList )
#if ($modelIds.contains($component.modelId)
&& ($component.name))
#if ($component.converterId)
## Check if we don't have a facelet tag taking precedence over this description
#if (! ${model.findFaceletTagByName($component.name)})
#if ($utils.getTagPrefix($component.name) == $shortname)
<tag>
<tag-name>$utils.getTagName($component.name)</tag-name>
<converter>
<converter-id>$component.converterId</converter-id>
</converter>
#writeAttributes($component.propertyList)
</tag>
#end
#end
#end
#end
#end
<!-- Validator tags -->
#set ($componentList = ${model.getValidators()})
#foreach( $component in $componentList )
#if ($modelIds.contains($component.modelId)
&& ($component.name))
#if ($component.validatorId)
## Check if we don't have a facelet tag taking precedence over this description
#if (! ${model.findFaceletTagByName($component.name)})
#if ($utils.getTagPrefix($component.name) == $shortname)
<tag>
<tag-name>$utils.getTagName($component.name)</tag-name>
<validator>
<validator-id>$component.validatorId</validator-id>
</validator>
#writeAttributes($component.propertyList)
</tag>
#end
#end
#end
#end
#end
<!-- Behavior tags -->
#set ($behaviorList = ${model.getBehaviors()})
#foreach( $behavior in $behaviorList )
#if ($modelIds.contains($behavior.modelId)
&& ($behavior.name))
#if ($behavior.behaviorId)
## Check if we don't have a facelet tag taking precedence over this description
#if (! ${model.findFaceletTagByName($behavior.name)})
#if ($utils.getTagPrefix($behavior.name) == $shortname)
<tag>
#if ($behavior.longDescription)
<description><![CDATA[$behavior.longDescription]]></description>
#else
<description><![CDATA[]]></description>
#end
<tag-name>$utils.getTagName($behavior.name)</tag-name>
<behavior>
<behavior-id>$behavior.behaviorId</behavior-id>
</behavior>
#writeAttributes($behavior.propertyList)
</tag>
#end
#end
#end
#end
#end
<!-- Single Tags -->
#set ($tagList = $model.getTags())
#foreach( $tag in $tagList )
#if ($modelIds.contains($tag.modelId))
#if ($tag.tagHandler)
## Check if we don't have a facelet tag taking precedence over this description
#if (! ${model.findFaceletTagByName($tag.name)})
#if ($utils.getTagPrefix($tag.name) == $shortname)
<tag>
#if ($tag.longDescription)
<description><![CDATA[$tag.longDescription]]></description>
#else
<description><![CDATA[]]></description>
#end
<tag-name>$utils.getTagName($tag.name)</tag-name>
<handler-class>$tag.tagHandler</handler-class>
#writeAttributes($tag.propertyList)
</tag>
#end
#end
#end
#end
#end
<!-- Facelet Tags -->
#set ($faceletTagList = $model.getFaceletTags())
#foreach( $faceletTag in $faceletTagList )
#if ($modelIds.contains($faceletTag.modelId) && ($faceletTag.name))
#if ($utils.getTagPrefix($faceletTag.name) == $shortname)
<tag>
#if ($faceletTag.longDescription)
<description><![CDATA[$faceletTag.longDescription]]></description>
#else
<description><![CDATA[]]></description>
#end
<tag-name>$utils.getTagName($faceletTag.name)</tag-name>
#if ($faceletTag.componentClass)
#set ($component = ${model.findComponentByClassName($faceletTag.componentClass)})
<component>
<component-type>$component.type</component-type>
#if ($component.rendererType)
#if (!($component.rendererType == ""))
<renderer-type>$component.rendererType</renderer-type>
#end
#end
<handler-class>$faceletTag.className</handler-class>
</component>
#elseif ($faceletTag.converterClass)
#set ($converter = ${model.findConverterByClassName($faceletTag.converterClass)})
<converter>
<converter-id>$converter.converterId</converter-id>
<handler-class>$faceletTag.className</handler-class>
</converter>
#elseif ($faceletTag.behaviorClass)
#set ($behavior = ${model.findBehaviorByClassName($faceletTag.behaviorClass)})
<behavior>
<behavior-id>$behavior.behaviorId</behavior-id>
<handler-class>$faceletTag.className</handler-class>
</behavior>
#else
<handler-class>$faceletTag.className</handler-class>
#end
#writeAttributes($faceletTag.attributeList)
</tag>
#end
#end
#end
</facelet-taglib>