io.tarantool.driver.mappers.converters.object.DefaultListToArrayValueConverter 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.converters.object;
import io.tarantool.driver.mappers.MessagePackObjectMapper;
import io.tarantool.driver.mappers.converters.ObjectConverter;
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 DefaultListToArrayValueConverter implements ObjectConverter, ArrayValue> {
private static final long serialVersionUID = 20220418L;
private final MessagePackObjectMapper mapper;
public DefaultListToArrayValueConverter(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()));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy