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

org.mapstruct.ap.internal.model.ValueMappingMethod.ftl Maven / Gradle / Ivy

There is a newer version: 1.6.3
Show newest version
<#--

    Copyright MapStruct Authors.

    Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0

-->
<#-- @ftlvariable name="" type="org.mapstruct.ap.internal.model.ValueMappingMethod" -->
<#if overridden>@Override
<#lt>${accessibility.keyword} <@includeModel object=returnType/> ${name}(<#list parameters as param><@includeModel object=param/><#if param_has_next>, ) {
    <#list beforeMappingReferencesWithoutMappingTarget as callback>
        <@includeModel object=callback targetBeanName=resultName targetType=resultType/>
        <#if !callback_has_next>

        
    
    if ( ${sourceParameter.name} == null ) {
        return <#if nullTarget??><@includeModel object=returnType/>.${nullTarget}<#else>null;
    }

    <@includeModel object=resultType/> ${resultName};

    switch ( ${sourceParameter.name} ) {
    <#list valueMappings as valueMapping>
        case ${valueMapping.source}: ${resultName} = <#if valueMapping.target??><@includeModel object=returnType/>.${valueMapping.target}<#else>null;
        break;
    
    default: <#if throwIllegalArgumentException>throw new IllegalArgumentException( "Unexpected enum constant: " + ${sourceParameter.name} )<#else>${resultName} = <#if defaultTarget??><@includeModel object=returnType/>.${defaultTarget}<#else>null;
    }
    <#list beforeMappingReferencesWithMappingTarget as callback>
        <#if callback_index = 0>

        
        <@includeModel object=callback targetBeanName=resultName targetType=resultType/>
    
    <#list afterMappingReferences as callback>
        <#if callback_index = 0>

        
        <@includeModel object=callback targetBeanName=resultName targetType=resultType/>
    

    return ${resultName};
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy