Interface Configurable<This>

    • Method Detail

      • getConfig

        ConfigRegistry getConfig()
        Returns the configuration registry associated with this object.
        Returns:
        the configuration registry associated with this object.
      • getConfig

        default <C extends JdbiConfig<C>> C getConfig​(java.lang.Class<C> configClass)
        Gets the configuration object of the given type, associated with this object.
        Type Parameters:
        C - the configuration type
        Parameters:
        configClass - the configuration type
        Returns:
        the configuration object of the given type, associated with this object.
      • configure

        default <C extends JdbiConfig<C>> This configure​(java.lang.Class<C> configClass,
                                                         java.util.function.Consumer<C> configurer)
        Passes the configuration object of the given type to the configurer, then returns this object.
        Type Parameters:
        C - the configuration type
        Parameters:
        configClass - the configuration type
        configurer - consumer that will be passed the configuration object
        Returns:
        this object (for call chaining)
      • setTemplateEngine

        default This setTemplateEngine​(TemplateEngine templateEngine)
        Convenience method for getConfig(SqlStatements.class).setTemplateEngine(rewriter)
        Parameters:
        templateEngine - the template engine
        Returns:
        this
      • setSqlParser

        default This setSqlParser​(SqlParser parser)
        Convenience method for getConfig(SqlStatements.class).setSqlParser(rewriter)
        Parameters:
        parser - SQL parser
        Returns:
        this
      • setSqlLogger

        default This setSqlLogger​(SqlLogger sqlLogger)
      • define

        default This define​(java.lang.String key,
                            java.lang.Object value)
        Convenience method for getConfig(SqlStatements.class).define(key, value)
        Parameters:
        key - attribute name
        value - attribute value
        Returns:
        this
      • registerArgument

        default This registerArgument​(ArgumentFactory factory)
        Convenience method for getConfig(Arguments.class).register(factory)
        Parameters:
        factory - argument factory
        Returns:
        this
      • registerArgument

        default This registerArgument​(QualifiedArgumentFactory factory)
        Convenience method for getConfig(Arguments.class).register(factory)
        Parameters:
        factory - qualified argument factory
        Returns:
        this
      • setSqlArrayArgumentStrategy

        default This setSqlArrayArgumentStrategy​(SqlArrayArgumentStrategy strategy)
        Convenience method for getConfig(SqlArrayTypes.class).setArgumentStrategy(strategy)
        Parameters:
        strategy - argument strategy
        Returns:
        this
      • setMapKeyColumn

        default This setMapKeyColumn​(java.lang.String keyColumn)
        Convenience method for getConfig(MapEntryMappers.class).setKeyColumn(keyColumn)
        Parameters:
        keyColumn - the key column name
        Returns:
        this
      • setMapValueColumn

        default This setMapValueColumn​(java.lang.String valueColumn)
        Convenience method for getConfig(MapEntryMappers.class).setValueColumn(valueColumn)
        Parameters:
        valueColumn - the value column name
        Returns:
        this
      • registerArrayType

        default This registerArrayType​(java.lang.Class<?> elementType,
                                       java.lang.String sqlTypeName)
        Convenience method for getConfig(SqlArrayTypes.class).register(elementType, sqlTypeName)
        Parameters:
        elementType - element type
        sqlTypeName - SQL type name
        Returns:
        this
      • registerArrayType

        default <T> This registerArrayType​(java.lang.Class<T> elementType,
                                           java.lang.String sqlTypeName,
                                           java.util.function.Function<T,​?> conversion)
        Convenience method for registering an array type as SqlArrayTypeFactory.of(Class, String, Function).
        Type Parameters:
        T - element type
        Parameters:
        elementType - element raw type
        sqlTypeName - SQL type name
        conversion - the function to convert to database representation
        Returns:
        this
      • registerArrayType

        default This registerArrayType​(SqlArrayType<?> arrayType)
        Convenience method for getConfig(SqlArrayTypes.class).register(arrayType)
        Parameters:
        arrayType - SQL array type
        Returns:
        this
      • registerArrayType

        default This registerArrayType​(SqlArrayTypeFactory factory)
        Convenience method for getConfig(SqlArrayTypes.class).register(factory)
        Parameters:
        factory - SQL array type factory
        Returns:
        this
      • registerCollector

        default This registerCollector​(java.lang.reflect.Type collectionType,
                                       java.util.stream.Collector<?,​?,​?> collector)
        Convenience method for getConfig(JdbiCollectors.class).register(CollectorFactory.collectorFactory(collectionType, collector))
        Parameters:
        collectionType - collector type to register the collector for
        collector - the Collector to use to build the resulting collection
        Returns:
        this
        Since:
        3.38.0
      • registerCollector

        default This registerCollector​(CollectorFactory factory)
        Convenience method for getConfig(JdbiCollectors.class).register(factory)
        Parameters:
        factory - collector factory
        Returns:
        this
      • registerColumnMapper

        default This registerColumnMapper​(ColumnMapper<?> mapper)
        Convenience method for getConfig(ColumnMappers.class).register(mapper)
        Parameters:
        mapper - column mapper
        Returns:
        this
      • registerColumnMapper

        default <T> This registerColumnMapper​(GenericType<T> type,
                                              ColumnMapper<T> mapper)
        Convenience method for getConfig(ColumnMappers.class).register(type, mapper)
        Type Parameters:
        T - the type
        Parameters:
        type - the generic type to register
        mapper - the mapper to use on that type
        Returns:
        this
      • registerColumnMapper

        default This registerColumnMapper​(java.lang.reflect.Type type,
                                          ColumnMapper<?> mapper)
        Convenience method for getConfig(ColumnMappers.class).register(type, mapper)
        Parameters:
        type - the type to register
        mapper - the mapper to use on that type
        Returns:
        this
      • registerColumnMapper

        default <T> This registerColumnMapper​(QualifiedType<T> type,
                                              ColumnMapper<T> mapper)
        Convenience method for getConfig(ColumnMappers.class).register(type, mapper)
        Parameters:
        type - the type to register
        mapper - the mapper to use on that type
        Returns:
        this
      • registerColumnMapper

        default This registerColumnMapper​(ColumnMapperFactory factory)
        Convenience method for getConfig(ColumnMappers.class).register(factory)
        Parameters:
        factory - column mapper factory
        Returns:
        this
      • registerColumnMapper

        default This registerColumnMapper​(QualifiedColumnMapperFactory factory)
        Convenience method for getConfig(ColumnMappers.class).register(factory)
        Parameters:
        factory - column mapper factory
        Returns:
        this
      • registerExtension

        default This registerExtension​(ExtensionFactory factory)
        Convenience method for getConfig(Extensions.class).register(factory)
        Parameters:
        factory - extension factory
        Returns:
        this
      • registerRowMapper

        default This registerRowMapper​(RowMapper<?> mapper)
        Convenience method for getConfig(RowMappers.class).register(mapper)
        Parameters:
        mapper - row mapper
        Returns:
        this
      • registerRowMapper

        default <T> This registerRowMapper​(GenericType<T> type,
                                           RowMapper<T> mapper)
        Convenience method for getConfig(RowMappers.class).register(type, mapper)
        Type Parameters:
        T - the type
        Parameters:
        type - to match
        mapper - row mapper
        Returns:
        this
      • registerRowMapper

        default This registerRowMapper​(java.lang.reflect.Type type,
                                       RowMapper<?> mapper)
        Convenience method for getConfig(RowMappers.class).register(type, mapper)
        Parameters:
        type - to match
        mapper - row mapper
        Returns:
        this
      • registerRowMapper

        default This registerRowMapper​(RowMapperFactory factory)
        Convenience method for getConfig(RowMappers.class).register(factory)
        Parameters:
        factory - row mapper factory
        Returns:
        this
      • registerCodecFactory

        @Alpha
        default This registerCodecFactory​(CodecFactory codecFactory)
        Convenience method to register a CodecFactory.
        Parameters:
        codecFactory - codec factory
        Returns:
        this