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; } }