org.sfm.jdbc.JdbcMapperImpl Maven / Gradle / Ivy
package org.sfm.jdbc;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.sfm.map.FieldMapper;
import org.sfm.map.MapperImpl;
import org.sfm.map.MappingException;
import org.sfm.map.RowHandlerErrorHandler;
import org.sfm.reflect.Instantiator;
import org.sfm.utils.RowHandler;
public final class JdbcMapperImpl extends MapperImpl implements JdbcMapper {
private final RowHandlerErrorHandler errorHandler;
public JdbcMapperImpl(final FieldMapper[] mappers, final Instantiator instantiator, final RowHandlerErrorHandler errorHandler) {
super(mappers, instantiator);
this.errorHandler = errorHandler;
}
@Override
public > 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