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

templates.object.ObjectBuilderUtilImpl.ftl Maven / Gradle / Ivy

Go to download

Maven plugin to generate Java classes from StoredProcedure and Functions in Database

There is a newer version: 1.8.20
Show newest version
<#if header>
/*
 * Copyright (C) 2019 Yadickson Soto
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see .
 */

package ${javaPackage}.${objectFolderName};
<#assign importList = ["java.sql.Connection", "java.sql.SQLException", "org.springframework.stereotype.Component"]>
<#list parameter.parameters as parameter>
<#if parameter.clob>
<#assign importClobUtil = 1>
<#if utilFolderName != objectFolderName>
<#assign importList = importList + ["${javaPackage}.${utilFolderName}.${prefixUtilityName}ClobUtil"]>


<#if parameter.blob>
<#assign importBlobUtil = 1>
<#if utilFolderName != objectFolderName>
<#assign importList = importList + ["${javaPackage}.${utilFolderName}.${prefixUtilityName}BlobUtil"]>


<#if parameter.date>
<#assign importDateUtil = 1>
<#if utilFolderName != objectFolderName>
<#assign importList = importList + ["${javaPackage}.${utilFolderName}.${prefixUtilityName}DateUtil"]>



<#if utilFolderName != objectFolderName>
<#assign importList = importList + ["${javaPackage}.${utilFolderName}.${prefixUtilityName}ObjectUtil"]>


<#list importSort(importList) as import>
<#if previousImportMatch?? && !import?starts_with(previousImportMatch)>


import ${import};
<#assign previousImportMatch = import?keep_before_last(".") >

<#if importList?has_content>


<#if documentation>
/**
 * Bean object for datatype ${parameter.realObjectName}.
 *
 * @author @GENERATOR.NAME@
 * @version @GENERATOR.VERSION@
 */

@Component
final class ${parameter.javaTypeName}BuilderUtilImpl${'\n'}        implements ${parameter.javaTypeName}BuilderUtil {
<#if importBlobUtil??>

<#if documentation>
    /**
     * Blob utility.
     */

    private final ${prefixUtilityName}BlobUtil blobUtil;

<#if importClobUtil??>

<#if documentation>
    /**
     * Clob utility.
     */

    private final ${prefixUtilityName}ClobUtil clobUtil;

<#if importDateUtil??>

<#if documentation>
    /**
     * Date utility.
     */

    private final ${prefixUtilityName}DateUtil dateUtil;


<#if documentation>
    /**
     * Object utility.
     */

    private final ${prefixUtilityName}ObjectUtil objectUtil;

<#if documentation>
    /**
     * Class constructor.
     *
     * ${parameter.javaTypeName}BuilderUtilImpl
     */

    public ${parameter.javaTypeName}BuilderUtilImpl(${'\n'}            final ${prefixUtilityName}ObjectUtil objectUtil<#if importBlobUtil??>,${'\n'}            final ${prefixUtilityName}BlobUtil blobUtil<#if importClobUtil??>,${'\n'}            final ${prefixUtilityName}ClobUtil clobUtil<#if importDateUtil??>,${'\n'}            final ${prefixUtilityName}DateUtil dateUtil${'\n'}    ) {
        this.objectUtil = objectUtil;
<#if importBlobUtil??>
        this.blobUtil = blobUtil;

<#if importClobUtil??>
        this.clobUtil = clobUtil;

<#if importDateUtil??>
        this.dateUtil = dateUtil;

    }

<#if documentation>
    /**
     * {@inheritDoc}
     */

    @Override
    public Object process(${'\n'}            final Connection connection,${'\n'}            final ${parameter.javaTypeName} object${'\n'}    ) throws SQLException {

<#list parameter.parameters as parameter>
        Object ${parameter.fieldName}${parameter.javaTypeName};


<#list parameter.parameters as parameter>
<#if parameter.clob>
        ${parameter.fieldName}${parameter.javaTypeName} = clobUtil.process(connection, object.get${parameter.propertyName}());
<#elseif parameter.blob>
        ${parameter.fieldName}${parameter.javaTypeName} = blobUtil.process(connection, object.get${parameter.propertyName}());
<#elseif parameter.date>
        ${parameter.fieldName}${parameter.javaTypeName} = dateUtil.process(object.get${parameter.propertyName}());
<#else>
        ${parameter.fieldName}${parameter.javaTypeName} = object.get${parameter.propertyName}();



        Object[] objs = new Object[]{${'\n'}            <#list parameter.parameters as parameter>${parameter.fieldName}${parameter.javaTypeName}<#sep>,${'\n'}            ${'\n'}        };

        return objectUtil.process(${'\n'}                connection,${'\n'}                "${parameter.realObjectName}",${'\n'}                objs${'\n'}        );
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy