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

ftl.data.mongo.$$MongoEntityFromDBConverterTemplateftl Maven / Gradle / Ivy

There is a newer version: 0.11
Show newest version
<#include "../../common-lib.javaftl">
<#-- -------------------------------------------------------------------------------------------------------- -->
public final class ${JAVA_MODEL_CLASS.entityFromDBConverterImplSimpleClassName} extends ${JAVA_MODEL_CLASS.entityFromDBConverterParentSimpleClassName} {

    <#list JAVA_MODEL_CONVERTER_CHILDREN as CHILD>
    private final ${CHILD.entityFromDBConverterImplSimpleClassName} ${CHILD.fromDBConverterInstanceName} =
            new ${CHILD.entityFromDBConverterImplSimpleClassName}();

    
    @Override
    public ${JAVA_MODEL_CLASS.javaSimpleClassName} fromDB(final Document document) {
        final ${JAVA_MODEL_CLASS.javaSimpleClassName} model = new ${JAVA_MODEL_CLASS.javaSimpleClassName}();
        <#list JAVA_MODEL_CLASS.paramEntries as fieldEntry>
        <@getParam entry=fieldEntry/>
        
        return model;
    }
}
<#-- -------------------------------------------------------------------------------------------------------- -->
<#macro getParam entry>
<#assign param = entry.key >
    <#if entry.value.object>
        <#assign element = entry.value>
        <#if param.modelWriteAccessorType.name() == "REFLECTION">
        setFieldValue(model, "${param.fieldName}", convertIfNotNull(${element.fromDBConverterInstanceName}, toType(Document.class, document.get("${param.modelName}"), "${param.fieldName}")));
        <#elseif param.modelWriteAccessorType.name() == "DIRECT">
        model.${param.fieldName} = convertIfNotNull(${element.fromDBConverterInstanceName}, toType(Document.class, document.get("${param.modelName}"), "${param.fieldName}"));
        <#elseif param.modelWriteAccessorType.name() == "JAVA_BEAN">
        model.${param.setter}(convertIfNotNull(${element.fromDBConverterInstanceName}, toType(Document.class, document.get("${param.modelName}"), "${param.fieldName}")));
        
    <#elseif entry.value.list>
        <#assign element = entry.value.elementModelClass>
        <#if entry.value.primitiveList>
        <#assign M = element.primitiveType.convertMethod >
        <#if param.modelWriteAccessorType.name() == "REFLECTION">
        setFieldValue(model, "${param.fieldName}", ${M}Array(document.get("${param.modelName}"), "${param.fieldName}"));
        <#elseif param.modelWriteAccessorType.name() == "DIRECT">
        model.${param.fieldName} = ${M}Array(document.get("${param.modelName}"), "${param.fieldName}");
        <#elseif param.modelWriteAccessorType.name() == "JAVA_BEAN">
        model.${param.setter}(${M}Array(document.get("${param.modelName}"), "${param.fieldName}"));
        
        <#elseif entry.value.enumList>
        <#if param.modelWriteAccessorType.name() == "REFLECTION">
        setFieldValue(model, "${param.fieldName}", toEnumArray(${param.columnItemType}.class, document.get("${param.modelName}"), "${param.fieldName}"));
        <#elseif param.modelWriteAccessorType.name() == "DIRECT">
        model.${param.fieldName} = toEnumArray(${param.columnItemType}.class, document.get("${param.modelName}"), "${param.fieldName}");
        <#elseif param.modelWriteAccessorType.name() == "JAVA_BEAN">
        model.${param.setter}(toEnumArray(${param.columnItemType}.class, document.get("${param.modelName}"), "${param.fieldName}"));
        
        <#elseif entry.value.objectList>
        <#if param.modelWriteAccessorType.name()=="REFLECTION">
        setFieldValue(model, "${param.fieldName}", convertIfNotNull(${element.fromDBConverterInstanceName}, toArray(Document.class, document.get("${param.modelName}"), "${param.fieldName}")));
        <#elseif param.modelWriteAccessorType.name()=="DIRECT">
        model.${param.fieldName} = convertIfNotNull(${element.fromDBConverterInstanceName}, toArray(Document.class, document.get("${param.modelName}"), "${param.fieldName}"));
        <#elseif param.modelWriteAccessorType.name()=="JAVA_BEAN">
        model.${param.setter}(convertIfNotNull(${element.fromDBConverterInstanceName}, toArray(Document.class, document.get("${param.modelName}"), "${param.fieldName}")));
        
        
    <#elseif entry.value.enum>
        <#assign M = entry.value.primitiveType.convertMethod >
        <#if param.modelWriteAccessorType.name() == "REFLECTION">
        setFieldValue(model, "${param.fieldName}", ${M}(${param.columnType}.class, document.get("${param.modelName}"), "${param.fieldName}"));
        <#elseif param.modelWriteAccessorType.name() == "DIRECT">
        model.${param.fieldName} = ${M}(${param.columnType}.class, document.get("${param.modelName}"), "${param.fieldName}");
        <#elseif param.modelWriteAccessorType.name() == "JAVA_BEAN">
        model.${param.setter}(${M}(${param.columnType}.class, document.get("${param.modelName}"), "${param.fieldName}"));
        
    <#elseif entry.value.primitive>
        <#assign M = entry.value.primitiveType.convertMethod >
        <#if param.modelWriteAccessorType.name() == "REFLECTION">
        setFieldValue(model, "${param.fieldName}", ${M}(document.get("${param.modelName}"), "${param.fieldName}"));
        <#elseif param.modelWriteAccessorType.name() == "DIRECT">
        model.${param.fieldName} = ${M}(document.get("${param.modelName}"), "${param.fieldName}");
        <#elseif param.modelWriteAccessorType.name() == "JAVA_BEAN">
        model.${param.setter}(${M}(document.get("${param.modelName}"), "${param.fieldName}"));
        
    

<#-- -------------------------------------------------------------------------------------------------------- -->




© 2015 - 2025 Weber Informatics LLC | Privacy Policy