All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.trinidadComponentClass12.vm Maven / Gradle / Ivy

## Velocity template used to generate trinidad JSF1.2-compatible component classes
## from component meta-data.
##
## Note that there are two types of component generation:
##  * "subclass mode" (use annotated class as a parent class)
##  * "template mode" (use annotated class as a template)
## This template file is used for both.
##
## Variable $component refers to a ComponentMeta object to process
## Variable $utils refers to an instance of MyfacesUtils.
##
## When "template mode" is being used then variable $innersource
## holds a String containing all the non-abstract functions defined
## in the annotated class.
##
/*
 *  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.
 */
package ${component.packageName};

import java.util.HashMap;
import java.util.Map;

import javax.el.ValueExpression;
import javax.faces.context.FacesContext;
$utils.importTagClasses($component)

import org.apache.myfaces.trinidad.bean.FacesBean;
import org.apache.myfaces.trinidad.bean.PropertyKey;
import org.apache.myfaces.trinidad.util.ComponentUtils;

#if ($component.isTemplate())
#set ($generatedClassParent = $component.sourceClassParentClassName)
#else
#set ($generatedClassParent = $component.sourceClassName)
#end
// Generated from class ${component.sourceClassName}.
//
// WARNING: This file was automatically generated. Do not edit it directly,
//          or you will lose your changes.
public class ${utils.getClassFromFullClass($component.className)} extends $generatedClassParent
#if ($component.implements)
    implements $component.implements
#end
{
#if ($component.serialuid)
    private static final long serialVersionUID = ${component.serialuid}; 
#end  

    static public final FacesBean.Type TYPE = new FacesBean.Type(
       ${generatedClassParent}.TYPE);
#set ($propertyList = ${component.propertyComponentList})
#foreach( $property in $propertyList )
#set ($field = $property.fieldName)
#set ($type = $utils.getClassFromFullClass($property.className))
#set ($key = $utils.getConstantNameFromProperty($property.name , "_KEY"))
##
## CALCULATE DEFAULT VALUE
##
#if($utils.getDefaultValueField($property)) 
#set ($defaultValue = $utils.getDefaultValueField($property))
#if ($defaultValue == "true")
#set ($defaultValue = "Boolean.TRUE")
#end
#if ($defaultValue == "false")
#set ($defaultValue = "Boolean.FALSE")
#end
#if ($type == "char")
#set ($defaultValue = "'"+$defaultValue+"'")
#end
#else
#set ($defaultValue = false)
#end
## CALCULATE CAPABILITIES
#set ($caps = "")
#set ($capsCount = 0)
#if ($property.isMethodBinding() || $property.isLiteralOnly())
#set ($capsCount = $capsCount + 1)
#end
#if ($property.isStateHolder())
#set ($capsCount = $capsCount + 1)
#end
#if ($property.isTransient())
#set ($capsCount = $capsCount + 1)
#end
#if ($property.isMethodBinding() || $property.isLiteralOnly())
#set ($caps = $caps + "PropertyKey.CAP_NOT_BOUND")
#if ($capsCount > 1)#set($capsCount = $capsCount - 1)#set($caps=$caps+" | ")#end
#end
#if ($property.isStateHolder())
#set ($caps = $caps + "PropertyKey.CAP_STATE_HOLDER")
#if ($capsCount > 1)#set($capsCount = $capsCount - 1)#set($caps=$caps+" | ")#end
#end
#if ($property.isTransient())
#set ($caps = $caps + "PropertyKey.CAP_TRANSIENT")
#if ($capsCount > 1)#set($capsCount = $capsCount - 1)#set($caps=$caps+" | ")#end
#end
## This template does not handle PropertyKey.CAP_LIST

    static public final PropertyKey $key =
        TYPE.registerKey(
            "$property.name",#if($utils.isPrimitiveClass($type))${utils.getBoxedClass($type)}.class#{else}${type}.class#end
#if($defaultValue),${defaultValue}#end
#if ( !$caps.equals("")),${caps}#end);
#end

    static public final String COMPONENT_FAMILY =
        "$component.family";
    static public final String COMPONENT_TYPE =
        "$component.type";
##if ($component.rendererType)
##if (!($component.rendererType == ""))
##    static public final String DEFAULT_RENDERER_TYPE = 
##        "$component.rendererType";
##end
##end

#if ($innersource)
    //BEGIN CODE COPIED FROM $component.sourceClassName 
$innersource
    //END CODE COPIED FROM $component.sourceClassName
#end

    public ${utils.getClassFromFullClass($component.className)}()
    {
#if ($component.rendererType)
#if ($component.rendererType == "")
        super(null);
#else
        super("$component.rendererType");
#end
#else
        super(null);
#end
    }

#foreach( $property in $propertyList )
#set ($field = $property.fieldName)
#set ($type = $utils.getClassFromFullClass($property.className))
#set ($key = $utils.getConstantNameFromProperty($property.name , "_KEY"))

    final public $type $utils.getMethodReaderFromProperty($property.name, $type)()
    {
#if ($utils.isPrimitiveClass($type))
#if ($type == "char")
        return ComponentUtils.resolveCharacter((Character) getProperty($key));
#elseif ($type == "byte" || $type == "short")
## There is no ComponentUtils remethod, so we just cast it.
        return $utils.castIfNecessary($type) getProperty($key);
#else
        return ComponentUtils.resolve${utils.getBoxedClass($type)}(getProperty($key));
#end
#elseif ($type == "String" || $type == "Locale" || $type == "TimeZone")
        return ComponentUtils.resolve${utils.getBoxedClass($type)}(getProperty($key));
#else
        return $utils.castIfNecessary($type) getProperty($key);
#end
    }

    final public void $utils.getPrefixedPropertyName("set", $property.name)($type $utils.getVariableFromName($property.name))
    {
#if ($utils.isPrimitiveClass($type))
#if ($type == "boolean")
        setProperty($key, $utils.getVariableFromName($property.name) ? Boolean.TRUE : Boolean.FALSE);
#else
        setProperty($key, ${utils.getBoxedClass($type)}.valueOf( $utils.getVariableFromName($property.name) ));
#end
#else
        setProperty($key, $utils.getVariableFromName($property.name));
#end
    }
#end

    @Override    
    public String getFamily()
    {
        return COMPONENT_FAMILY;
    }

    @Override
    protected FacesBean.Type getBeanType()
    {
        return TYPE;
    }
    
    public ${utils.getClassFromFullClass($component.className)}(String rendererType)
    {
      super(rendererType);
    }
  
    static
    {
        TYPE.lock();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy