io.tarantool.driver.mappers.DefaultListObjectConverter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cartridge-driver Show documentation
Show all versions of cartridge-driver Show documentation
Tarantool Cartridge driver for Tarantool versions 1.10+ based on Netty framework
package io.tarantool.driver.mappers;
import org.msgpack.value.ArrayValue;
import org.msgpack.value.Value;
import org.msgpack.value.ValueFactory;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* Default {@link List} to {@link ArrayValue} converter
*
* @author Alexey Kuzin
*/
public class DefaultListObjectConverter implements ObjectConverter, ArrayValue> {
private MessagePackObjectMapper mapper;
public DefaultListObjectConverter(MessagePackObjectMapper mapper) {
this.mapper = mapper;
}
@Override
public ArrayValue toValue(List> object) {
Stream values = object.stream().map(v -> v == null ? ValueFactory.newNil() : mapper.toValue(v));
return ValueFactory.newArray(values.collect(Collectors.toList()));
}
}