Sha256: 9f9de5660ec2906cea5c78271f46fc23d2fa7dc33c13e9f1caf428a855f11f9b
Contents?: true
Size: 1.75 KB
Versions: 4
Compression:
Stored size: 1.75 KB
Contents
package org.embulk.output.cassandra.setter; import com.google.common.collect.Lists; import org.msgpack.value.Value; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class ValueConverter { private ValueConverter() { } public static List<Object> convertList(List<Value> list) { return Lists.transform(list, (val) -> convertValueToPlain(val)); } public static Map<Object, Object> convertMap(Map<Value, Value> map) { return map.entrySet().stream().collect(Collectors.toMap( (Map.Entry<Value, Value> entry) -> { if (!entry.getKey().isStringValue()) { throw new RuntimeException("map key is"); } return entry.getKey().asStringValue().toString(); }, (Map.Entry<Value, Value> entry) -> { Value val = entry.getValue(); return convertValueToPlain(val); } )); } private static Object convertValueToPlain(Value val) { if (val.isNilValue()) { return null; } if (val.isStringValue()) { return val.asStringValue().toString(); } if (val.isBooleanValue()) { return val.asBooleanValue().getBoolean(); } if (val.isIntegerValue()) { return val.asIntegerValue().asLong(); } if (val.isFloatValue()) { return val.asFloatValue().toDouble(); } if (val.isArrayValue()) { return convertList(val.asArrayValue().list()); } if (val.isMapValue()) { return convertMap(val.asMapValue().map()); } return null; } }
Version data entries
4 entries across 4 versions & 1 rubygems