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

org.sfm.jdbc.AbstractJdbcMapperImpl Maven / Gradle / Ivy

package org.sfm.jdbc;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.sfm.map.AbstractMapperImpl;
import org.sfm.map.MappingException;
import org.sfm.map.RowHandlerErrorHandler;
import org.sfm.reflect.Instantiator;
import org.sfm.utils.RowHandler;

public abstract class AbstractJdbcMapperImpl extends AbstractMapperImpl implements JdbcMapper {
	
	private final RowHandlerErrorHandler errorHandler; 
	
	public AbstractJdbcMapperImpl(final Instantiator instantiator, final RowHandlerErrorHandler errorHandler) {
		super(instantiator);
		this.errorHandler = errorHandler;
	}

	@Override
	public final > H forEach(final ResultSet rs, final H handler)
			throws SQLException, MappingException {
		while(rs.next()) {
			T t = map(rs);
			try {
				handler.handle(t);
			} catch(Throwable error) {
				errorHandler.handlerError(error, t);
			}
		}
		return handler;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy