package se.unlogic.standardutils.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
public class BeanChainPopulator<T> implements BeanResultSetPopulator<T> {
protected BeanResultSetPopulator<T> populator;
protected List<ChainedResultSetPopulator<T>> chainedResultSetPopulators;
public BeanChainPopulator(List<ChainedResultSetPopulator<T>> chainedResultSetPopulators, BeanResultSetPopulator<T> populator) {
super();
this.populator = populator;
this.chainedResultSetPopulators = chainedResultSetPopulators;
}
public T populate(ResultSet rs) throws SQLException {
T bean = populator.populate(rs);
for(ChainedResultSetPopulator<T> chainedPopulator : chainedResultSetPopulators){
chainedPopulator.populate(bean, rs);
}
return bean;
}
}