package database; import database.account.AccountRowMapper; import database.drop.GlobalMonsterDropRowMapper; import database.drop.MonsterDropRowMapper; import database.maker.MakerIngredientRowMapper; import database.maker.MakerReagentRowMapper; import database.maker.MakerRecipeRowMapper; import database.monsterbook.MonsterCardRowMapper; import database.note.NoteRowMapper; import database.shop.ShopItemRowMapper; import database.shop.ShopRowMapper; import org.jdbi.v3.core.Jdbi; import org.jdbi.v3.core.mapper.RowMapper; import javax.sql.DataSource; import java.util.List; public final class JdbiConfig { private JdbiConfig() {} public static Jdbi createConfigured(DataSource dataSource) { final Jdbi jdbi = Jdbi.create(dataSource); rowMappers().forEach(jdbi::registerRowMapper); return jdbi; } private static List> rowMappers() { return List.of( new AccountRowMapper(), new NoteRowMapper(), new MakerReagentRowMapper(), new MakerRecipeRowMapper(), new MakerIngredientRowMapper(), new MonsterDropRowMapper(), new GlobalMonsterDropRowMapper(), new ShopRowMapper(), new ShopItemRowMapper(), new MonsterCardRowMapper() ); } }