Class JdbiFreeBuilders
- java.lang.Object
-
- org.jdbi.v3.core.mapper.freebuilder.JdbiFreeBuilders
-
- All Implemented Interfaces:
JdbiConfig<JdbiFreeBuilders>
@Beta public class JdbiFreeBuilders extends java.lang.Object implements JdbiConfig<JdbiFreeBuilders>
Configures support for an FreeBuilder generatedBuilder)value type.
-
-
Field Summary
Fields Modifier and Type Field Description private ConfigRegistryregistry
-
Constructor Summary
Constructors Constructor Description JdbiFreeBuilders()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private <S> java.lang.ClassbuilderClass(java.lang.Class<S> spec)private <S> java.util.function.Supplier<?>builderConstructor(java.lang.Class<S> spec)JdbiFreeBuilderscreateCopy()Returns a copy of this configuration object.private <S> JdbiFreeBuildersregister(java.lang.Class<S> spec, java.lang.Class<? extends S> impl, PojoPropertiesFactory factory)JdbiFreeBuildersregisterFreeBuilder(java.lang.Class<?>... specs)Convenience method for registering many freebuilder types.<S> JdbiFreeBuildersregisterFreeBuilder(java.lang.Class<S> spec)Register bean arguments and row mapping for aFreebuildervalue class, expecting the default generated class and builder names.<S,I extends S>
JdbiFreeBuildersregisterFreeBuilder(java.lang.Class<S> spec, java.lang.Class<I> impl, java.util.function.Supplier<?> builderConstructor)Register bean arguments and row mapping for aFreeBuildervalue class, using a supplied implementation and constructor.JdbiFreeBuildersregisterFreeBuilder(java.lang.Iterable<java.lang.Class<?>> specs)Convenience method for registering many freebuilder types.voidsetRegistry(ConfigRegistry registry)The registry will inject itself into the configuration object.private <S> java.lang.Class<? extends S>valueClass(java.lang.Class<S> spec)
-
-
-
Field Detail
-
registry
private ConfigRegistry registry
-
-
Method Detail
-
setRegistry
public void setRegistry(ConfigRegistry registry)
Description copied from interface:JdbiConfigThe registry will inject itself into the configuration object. This can be useful if you need to look up dependencies. You will get a new registry after being copied.- Specified by:
setRegistryin interfaceJdbiConfig<JdbiFreeBuilders>- Parameters:
registry- the registry that owns this configuration object
-
createCopy
public JdbiFreeBuilders createCopy()
Description copied from interface:JdbiConfigReturns a copy of this configuration object. Changes to the copy should not modify the original, and vice-versa.- Specified by:
createCopyin interfaceJdbiConfig<JdbiFreeBuilders>- Returns:
- a copy of this configuration object.
-
registerFreeBuilder
public <S> JdbiFreeBuilders registerFreeBuilder(java.lang.Class<S> spec)
Register bean arguments and row mapping for aFreebuildervalue class, expecting the default generated class and builder names.- Type Parameters:
S- the specification class- Parameters:
spec- the specification interface of abstract class- Returns:
- a plugin that configures type mapping for the given class
-
registerFreeBuilder
public JdbiFreeBuilders registerFreeBuilder(java.lang.Class<?>... specs)
Convenience method for registering many freebuilder types.- See Also:
registerFreeBuilder(Class)
-
registerFreeBuilder
public JdbiFreeBuilders registerFreeBuilder(java.lang.Iterable<java.lang.Class<?>> specs)
Convenience method for registering many freebuilder types.- See Also:
registerFreeBuilder(Class)
-
registerFreeBuilder
public <S,I extends S> JdbiFreeBuilders registerFreeBuilder(java.lang.Class<S> spec, java.lang.Class<I> impl, java.util.function.Supplier<?> builderConstructor)
Register bean arguments and row mapping for aFreeBuildervalue class, using a supplied implementation and constructor.- Type Parameters:
S- the specification classI- the generated value class- Parameters:
spec- the specification interface or abstract classimpl- the generated value classbuilderConstructor- a supplier of new Builder instances- Returns:
- a plugin that configures type mapping for the given class
-
register
private <S> JdbiFreeBuilders register(java.lang.Class<S> spec, java.lang.Class<? extends S> impl, PojoPropertiesFactory factory)
-
valueClass
private <S> java.lang.Class<? extends S> valueClass(java.lang.Class<S> spec)
-
builderConstructor
private <S> java.util.function.Supplier<?> builderConstructor(java.lang.Class<S> spec)
-
builderClass
private <S> java.lang.Class builderClass(java.lang.Class<S> spec)
-
-