org.sfm.jdbc.JdbcMapperImpl Maven / Gradle / Ivy
package org.sfm.jdbc;
import java.sql.ResultSet;
import org.sfm.map.FieldMapper;
import org.sfm.reflect.Instantiator;
import org.sfm.utils.Handler;
public final class JdbcMapperImpl implements JdbcMapper {
private final FieldMapper[] fieldMappers;
private final Instantiator instantiator;
public JdbcMapperImpl(final FieldMapper[] mappers, final Instantiator instantiator) {
this.fieldMappers = mappers;
this.instantiator = instantiator;
}
@Override
public T map(final ResultSet source) throws Exception {
final T target = instantiator.newInstance(source);
for(int i = 0; i < fieldMappers.length; i++) {
fieldMappers[i].map(source, target);
}
return target;
}
@Override
public > H forEach(final ResultSet rs, final H handler)
throws Exception {
while(rs.next()) {
T t = map(rs);
handler.handle(t);
}
return handler;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy