
macros.marshaller.json.ListMemberMacro.ftl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-java-sdk-code-generator Show documentation
Show all versions of aws-java-sdk-code-generator Show documentation
The AWS SDK for Java - Code Generator module holds the classes and templates required to generate the AWS Java SDK clients for AWS services.
<#macro content member getterFunction>
<#if member.listModel.simple>
jsonGenerator.writeValue(${getterFunction});
<#elseif member.listModel.listMemberModel??>
<#local listMember = member.listModel.listMemberModel/>
<#if listMember.list>
TODO : Add support for list of lists
<#elseif listMember.map>
<#local loopVariable = member.name + "ListMapEntry"/>
jsonGenerator.writeStartObject();
for(Map.Entry<${listMember.mapModel.keyType},${listMember.mapModel.valueType}> ${loopVariable} : ${getterFunction}.entrySet()) {
if (${loopVariable}.getValue() != null) {
jsonGenerator.writeFieldName(${loopVariable}.getKey());
<#if listMember.mapModel.valueSimple>
jsonGenerator.writeValue(${loopVariable}.getValue());
<#else>
${listMember.mapModel.valueType}JsonMarshaller.getInstance().marshall(${loopVariable}.getValue(), jsonGenerator);
#if>
}
}
jsonGenerator.writeEndObject();
<#else>
${member.listModel.memberType}JsonMarshaller.getInstance().marshall(${getterFunction}, jsonGenerator);
#if>
#if>
#macro>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy