![JAR search and dependency download from the Maven repository](/logo.png)
org.simpleflatmapper.jooq.JooqMapperFactory Maven / Gradle / Ivy
package org.simpleflatmapper.jooq;
import org.jooq.Configuration;
import org.jooq.Record;
import org.simpleflatmapper.map.MapperConfig;
import org.simpleflatmapper.map.getter.ContextualGetterFactoryAdapter;
import org.simpleflatmapper.map.mapper.AbstractColumnDefinitionProvider;
import org.simpleflatmapper.map.mapper.AbstractColumnNameDiscriminatorMapperFactory;
import org.simpleflatmapper.map.mapper.AbstractMapperFactory;
import org.simpleflatmapper.map.mapper.FieldMapperColumnDefinitionProviderImpl;
import org.simpleflatmapper.map.property.FieldMapperColumnDefinition;
import org.simpleflatmapper.util.Function;
import java.lang.reflect.Type;
public class JooqMapperFactory
extends AbstractColumnNameDiscriminatorMapperFactory {
public static JooqMapperFactory newInstance() {
return new JooqMapperFactory();
}
public static JooqMapperFactory newInstance(
AbstractMapperFactory config) {
return new JooqMapperFactory(config);
}
private JooqMapperFactory() {
super(new FieldMapperColumnDefinitionProviderImpl(), FieldMapperColumnDefinition.identity(), new ContextualGetterFactoryAdapter(new RecordGetterFactory()));
}
private JooqMapperFactory(AbstractMapperFactory config) {
super(config);
}
private JooqMapperFactory(AbstractColumnDefinitionProvider columnDefinitions, FieldMapperColumnDefinition identity) {
super(columnDefinitions, identity, new ContextualGetterFactoryAdapter(new RecordGetterFactory()));
}
public SfmRecordMapperProvider newRecordMapperProvider() {
return new SfmRecordMapperProvider(new Function>() {
@Override
public MapperConfig apply(Type type) {
return mapperConfig(type);
}
}, getReflectionService());
}
//IFJAVA8_START
public SfmRecordUnmapperProvider newRecordUnmapperProvider(Configuration configuration) {
return new SfmRecordUnmapperProvider(new Function>() {
@Override
public MapperConfig apply(Type type) {
return mapperConfig(type);
}
}, getReflectionService(), configuration);
}
//IFJAVA8_END
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy