JdbcMapperFactoryHelper.noAsm() .addKeys("id", "students_id") .discriminator(Person.class, "person_type", String.class, new Consumer<AbstractMapperFactory.DiscriminatorConditionBuilder<ResultSet, String, Object>>() { @Override public void accept(AbstractMapperFactory.DiscriminatorConditionBuilder<ResultSet, String, Object> builder) {
@Test public void testNewDiscriminator() throws Exception { JdbcMapper<Person> mapper = JdbcMapperFactoryHelper.asm() .addKeys("id", "students_id") .discriminator(Person.class, "person_type", String.class, new Consumer<AbstractMapperFactory.DiscriminatorConditionBuilder<ResultSet, String, Object>>() { @Override public void accept(AbstractMapperFactory.DiscriminatorConditionBuilder<ResultSet, String, Object> builder) { builder .when("student", StudentGS.class) .when("professor", ProfessorGS.class); } } ) .newMapper(Person.class); validateMapper(mapper); }
@Test public void testNewDiscriminatorNoAsm() throws Exception { JdbcMapper<Person> mapper = JdbcMapperFactoryHelper.noAsm() .addKeys("id", "students_id") .discriminator(Person.class, "person_type", String.class, new Consumer<AbstractMapperFactory.DiscriminatorConditionBuilder<ResultSet, String, Object>>() { @Override public void accept(AbstractMapperFactory.DiscriminatorConditionBuilder<ResultSet, String, Object> builder) { builder .when("student", StudentGS.class) .when("professor", ProfessorGS.class); } } ) .newMapper(Person.class); validateMapper(mapper); }
@Test public void testNewDiscriminatorFieldAccessor() throws Exception { JdbcMapper<Person> mapper = JdbcMapperFactoryHelper.asm() .addKeys("id", "students_id") .discriminator(Person.class, "person_type", new CheckedBiFunction<ResultSet, String, String>() { @Override public String apply(ResultSet rs, String columnName) throws Exception { return rs.getString(columnName); } }, new Consumer<AbstractMapperFactory.DiscriminatorConditionBuilder<ResultSet, String, Object>>() { @Override public void accept(AbstractMapperFactory.DiscriminatorConditionBuilder<ResultSet, String, Object> builder) { builder .when("student", StudentGS.class) .when("professor", ProfessorGS.class); } } ) .newMapper(Person.class); validateMapper(mapper); }