
org.sfm.jooq.JooqMapperBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of simpleFlatMapper Show documentation
Show all versions of simpleFlatMapper Show documentation
Java library to map flat record - ResultSet, csv - to java object with minimum configuration and low footprint.
package org.sfm.jooq;
import org.jooq.Record;
import org.sfm.map.Mapper;
import org.sfm.map.MapperBuildingException;
import org.sfm.map.impl.*;
import org.sfm.reflect.ReflectionService;
import org.sfm.reflect.meta.ClassMeta;
import java.lang.reflect.Type;
public class JooqMapperBuilder extends
AbstractFieldMapperMapperBuilder {
public JooqMapperBuilder(final Type target) throws MapperBuildingException {
this(target, ReflectionService.newInstance());
}
@SuppressWarnings("unchecked")
public JooqMapperBuilder(final Type target, ReflectionService reflectService) throws MapperBuildingException {
this(reflectService.getRootClassMeta(target));
}
public JooqMapperBuilder(final ClassMeta classMeta) throws MapperBuildingException {
super(Record.class, classMeta, new RecordGetterFactory(), new RecordFieldMapperFactory(new RecordGetterFactory()), new IdentityFieldMapperColumnDefinitionProvider(), new DefaultPropertyNameMatcherFactory(), new RethrowMapperBuilderErrorHandler());
}
@Override
protected AbstractFieldMapperMapperBuilder newSubBuilder(Type type, ClassMeta classMeta) {
return new JooqMapperBuilder(classMeta);
}
public JooqMapperBuilder addField(JooqFieldKey key) {
super._addMapping(key, FieldMapperColumnDefinition.identity());
return this;
}
@Override
public Mapper mapper() {
return new MapperImpl(fields(), getInstantiator());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy