All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.dongliu.dbutils.builder.ParamsNode Maven / Gradle / Ivy

package net.dongliu.dbutils.builder;


import javax.annotation.Nonnull;
import java.util.Collection;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * Node to hold multi sql param
 *
 * @author Liu Dong
 */
public class ParamsNode extends SQLNode {
    private final Collection params;

    @SuppressWarnings("unchecked")
    public ParamsNode(Collection params) {
        this.params = (Collection) params;
    }

    @Nonnull
    @Override
    public SQLSegment segment() {
        String sql = params.stream().map(p -> "?").collect(Collectors.joining(","));
        return new SQLSegment(Stream.of(sql), params.stream());
    }

}