in src/main/java/software/amazon/cloudformation/proxy/StdCallbackContext.java [73:102]
private void writeObject(Object val, JsonGenerator gen, SerializerProvider serializers) throws IOException {
if (val == null) {
gen.writeNull();
return;
}
// Primitive
if (val instanceof String || val instanceof Number || val instanceof Boolean) {
gen.writeObject(val);
return;
}
// Encode object type information
gen.writeStartArray();
Class<?> type = val.getClass();
// write class name first
gen.writeString(type.getName());
// the write value next
if (val instanceof Collection<?>) {
writeCollection((Collection<?>) val, gen, serializers);
} else if (val instanceof Map<?, ?>) {
Map<?, ?> map = (Map<?, ?>) val;
writeMap(map, gen, serializers);
} else {
JsonSerializer<Object> serializer = serializers.findValueSerializer(type);
serializer.serialize(val, gen, serializers);
}
// end marker
gen.writeEndArray();
}