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 packageName="" >
    <#if memberModel.unmarshallingType?? >
        context.getUnmarshaller(${memberModel.variable.variableType}.class,
                                JsonUnmarshallerContext.UnmarshallerType.${memberModel.unmarshallingType})
    <#elseif memberModel.simple >
        <#if memberModel.variable.variableType == "java.util.Date" && !metadata.ionProtocol && !metadata.cborProtocol>
        <#local timestampFormat = memberModel.variable.timestampFormat />
           DateJsonUnmarshallerFactory.getInstance("${timestampFormat}")
        <#else>
           context.getUnmarshaller(${memberModel.variable.variableType}.class)
        
    <#elseif memberModel.list >
        <#if memberModel.listModel.listMemberModel?has_content >
            <#local memberUnmarshaller >
                <#-- recursion -->
                <@content memberModel.listModel.listMemberModel packageName/>
            
        <#else>
            <#local memberUnmarshaller = "context.getUnmarshaller(${memberModel.listModel.simpleType}.class)" />
        

        <#if memberModel.listModel.getListMemberModel().shouldFullyQualify!false && packageName?has_content>
            new ListUnmarshaller<${packageName}.${memberModel.listModel.memberType}>(${memberUnmarshaller})
        <#else>
            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 packageName/>
            
        <#else>
            <#local valueUnmarshaller = "context.getUnmarshaller
                 (${memberModel.mapModel.valueType}.class)" />
        
        new MapUnmarshaller<${memberModel.mapModel.keyType}, ${memberModel.mapModel.valueType}>(${keyUnmarshaller}, ${valueUnmarshaller})
    <#else>
        <#if memberModel.variable.variableType == "java.util.Date" && !metadata.ionProtocol && !metadata.cborProtocol>
        <#local timestampFormat = memberModel.variable.timestampFormat />
           DateJsonUnmarshallerFactory.getInstance("${timestampFormat}")
        <#else>
            ${memberModel.variable.simpleType}JsonUnmarshaller.getInstance()
        
    




© 2015 - 2025 Weber Informatics LLC | Privacy Policy