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

net.dongliu.dbutils.handlers.ListResultHandler Maven / Gradle / Ivy

package net.dongliu.dbutils.handlers;

import net.dongliu.dbutils.ResultSetHandler;
import net.dongliu.dbutils.RowProcessor;

import javax.annotation.Nonnull;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

/**
 * Class that simplify development of ResultSetHandler classes that convert ResultSet into List.
 *
 * @param  the target List generic type
 */
public class ListResultHandler implements ResultSetHandler> {

    private final RowProcessor rowProcessor;

    public ListResultHandler(RowProcessor rowProcessor) {
        this.rowProcessor = Objects.requireNonNull(rowProcessor);
    }

    /**
     * Whole ResultSet handler. It produce List as result.
     *
     * @param rs ResultSet to process.
     * @return a list of all rows in the result set
     * @throws SQLException error occurs
     */
    @Nonnull
    @Override
    public List handle(ResultSet rs) throws SQLException {
        List rows = new ArrayList<>();
        int row = 1;
        while (rs.next()) {
            rows.add(rowProcessor.convert(rs, row++));
        }
        return rows;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy