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

macros.unmarshaller.json.MemberUnmarshallerDeclaration.ftl Maven / Gradle / Ivy

<#macro content memberModel >
    <#if memberModel.unmarshallingType?? >
        context.getUnmarshaller(${memberModel.variable.variableType}.class,
                                JsonUnmarshallerContext.UnmarshallerType.${memberModel.unmarshallingType})
    <#elseif memberModel.simple >
        context.getUnmarshaller(${memberModel.variable.variableType}.class)
    <#elseif memberModel.list >
        <#if memberModel.listModel.listMemberModel?has_content >
            <#local memberUnmarshaller >
                <#-- recursion -->
                <@content memberModel.listModel.listMemberModel />
            
        <#else>
            <#local memberUnmarshaller = "context.getUnmarshaller(${memberModel.listModel.simpleType}.class)" />
        
        new ListUnmarshaller<${memberModel.listModel.memberType}>(${memberUnmarshaller})
    <#elseif memberModel.map >
        <#local keyUnmarshaller = "context.getUnmarshaller(${memberModel.mapModel.keyType}.class)" />
        <#if memberModel.mapModel.valueModel?has_content >
            <#local valueUnmarshaller >
                <#-- recursion -->
                <@content memberModel.mapModel.valueModel />
            
        <#else>
            <#local valueUnmarshaller = "context.getUnmarshaller
                 (${memberModel.mapModel.valueType}.class)" />
        
        new MapUnmarshaller<${memberModel.mapModel.keyType}, ${memberModel.mapModel.valueType}>(${keyUnmarshaller}, ${valueUnmarshaller})
    <#else>
        ${memberModel.variable.simpleType}JsonUnmarshaller.getInstance()
    




© 2015 - 2025 Weber Informatics LLC | Privacy Policy