From 4d555775c81c423df65986d0c12341635743aa8c Mon Sep 17 00:00:00 2001 From: Steven Schlansker Date: Fri, 28 Jun 2024 11:43:31 -0700 Subject: [PATCH] Site checkin for project jdbi3 - internal - documentation (3.45.2) --- ...8d4ed3f9494355bc0fcef8c74be183e3.png.cache | 1 + releases/3.45.2/CNAME | 1 + .../images/anchor-copy-button.svg | 4 + .../images/arrow_down.svg | 3 + .../jdbi3-kotlin-sqlobject/images/burger.svg | 5 + .../images/copy-icon.svg | 3 + .../images/copy-successful-icon.svg | 3 + .../images/footer-go-to-link.svg | 3 + .../images/go-to-top-icon.svg | 4 + .../images/logo-icon.svg | 10 + .../nav-icons/abstract-class-kotlin.svg | 22 + .../images/nav-icons/abstract-class.svg | 20 + .../images/nav-icons/annotation-kotlin.svg | 9 + .../images/nav-icons/annotation.svg | 7 + .../images/nav-icons/class-kotlin.svg | 9 + .../images/nav-icons/class.svg | 7 + .../images/nav-icons/enum-kotlin.svg | 9 + .../images/nav-icons/enum.svg | 7 + .../images/nav-icons/exception-class.svg | 7 + .../images/nav-icons/field-value.svg | 6 + .../images/nav-icons/field-variable.svg | 6 + .../images/nav-icons/function.svg | 7 + .../images/nav-icons/interface-kotlin.svg | 9 + .../images/nav-icons/interface.svg | 7 + .../images/nav-icons/object.svg | 9 + .../images/nav-icons/typealias-kotlin.svg | 9 + .../images/theme-toggle.svg | 3 + .../jdbi3-kotlin-sqlobject/index.html | 99 + .../-bind-kotlin/index.html | 104 + .../-bind-kotlin/value.html | 80 + ...kotlin-default-method-handler-factory.html | 80 + .../accepts.html | 80 + .../create-extension-handler.html | 80 + .../index.html | 138 + .../-kotlin-sql-object-plugin.html | 80 + .../customize-jdbi.html | 80 + .../-kotlin-sql-object-plugin/index.html | 183 + ...tlin-sql-statement-customizer-factory.html | 80 + .../create-for-parameter.html | 80 + .../index.html | 123 + .../-method-key/-method-key.html | 80 + .../-method-key/index.html | 153 + .../-method-key/name.html | 80 + .../-method-key/param-types.html | 80 + .../-method-key/return-type.html | 80 + .../-register-kotlin-mapper-impl.html | 80 + .../configure.html | 80 + .../-register-kotlin-mapper-impl/index.html | 153 + .../-register-kotlin-mapper/index.html | 119 + .../-register-kotlin-mapper/prefix.html | 80 + .../-register-kotlin-mapper/value.html | 80 + .../-register-kotlin-mappers-impl.html | 80 + .../configure.html | 80 + .../-register-kotlin-mappers-impl/index.html | 153 + .../-register-kotlin-mappers/index.html | 104 + .../-register-kotlin-mappers/value.html | 80 + .../org.jdbi.v3.sqlobject.kotlin/attach.html | 80 + .../org.jdbi.v3.sqlobject.kotlin/index.html | 257 + .../on-demand.html | 80 + .../jdbi3-kotlin-sqlobject/package-list | 37 + .../jdbi3-kotlin-sqlobject/navigation.html | 39 + .../scripts/clipboard.js | 51 + .../jdbi3-kotlin-sqlobject/scripts/main.js | 44 + .../scripts/navigation-loader.js | 91 + .../jdbi3-kotlin-sqlobject/scripts/pages.json | 1 + .../scripts/platform-content-handler.js | 393 + .../jdbi3-kotlin-sqlobject/scripts/prism.js | 22 + .../scripts/sourceset_dependencies.js | 1 + .../symbol-parameters-wrapper_deferred.js | 83 + .../styles/font-jb-sans-auto.css | 32 + .../styles/logo-styles.css | 5 + .../jdbi3-kotlin-sqlobject/styles/main.css | 118 + .../jdbi3-kotlin-sqlobject/styles/prism.css | 213 + .../jdbi3-kotlin-sqlobject/styles/style.css | 1479 ++ .../images/anchor-copy-button.svg | 4 + .../jdbi3-kotlin/images/arrow_down.svg | 3 + .../jdbi3-kotlin/images/burger.svg | 5 + .../jdbi3-kotlin/images/copy-icon.svg | 3 + .../images/copy-successful-icon.svg | 3 + .../jdbi3-kotlin/images/footer-go-to-link.svg | 3 + .../jdbi3-kotlin/images/go-to-top-icon.svg | 4 + .../jdbi3-kotlin/images/logo-icon.svg | 10 + .../nav-icons/abstract-class-kotlin.svg | 22 + .../images/nav-icons/abstract-class.svg | 20 + .../images/nav-icons/annotation-kotlin.svg | 9 + .../images/nav-icons/annotation.svg | 7 + .../images/nav-icons/class-kotlin.svg | 9 + .../jdbi3-kotlin/images/nav-icons/class.svg | 7 + .../images/nav-icons/enum-kotlin.svg | 9 + .../jdbi3-kotlin/images/nav-icons/enum.svg | 7 + .../images/nav-icons/exception-class.svg | 7 + .../images/nav-icons/field-value.svg | 6 + .../images/nav-icons/field-variable.svg | 6 + .../images/nav-icons/function.svg | 7 + .../images/nav-icons/interface-kotlin.svg | 9 + .../images/nav-icons/interface.svg | 7 + .../jdbi3-kotlin/images/nav-icons/object.svg | 9 + .../images/nav-icons/typealias-kotlin.svg | 9 + .../jdbi3-kotlin/images/theme-toggle.svg | 3 + .../apidocs-kotlin/jdbi3-kotlin/index.html | 99 + .../-kotlin-mapper-factory.html | 80 + .../-kotlin-mapper-factory/build.html | 80 + .../-kotlin-mapper-factory/index.html | 123 + .../-kotlin-mapper/-kotlin-mapper.html | 80 + .../-kotlin-mapper/index.html | 187 + .../-kotlin-mapper/k-class.html | 80 + .../-kotlin-mapper/map.html | 80 + .../-kotlin-mapper/specialize.html | 80 + .../-kotlin-mapper/to-string.html | 80 + .../-kotlin-plugin/-kotlin-plugin.html | 80 + .../-kotlin-plugin/customize-jdbi.html | 80 + .../-kotlin-plugin/index.html | 188 + .../org.jdbi.v3.core.kotlin/bind-kotlin.html | 80 + .../org.jdbi.v3.core.kotlin/configure.html | 80 + .../org.jdbi.v3.core.kotlin/get-config.html | 80 + .../get-qualifiers.html | 80 + .../in-coroutine-context.html | 80 + .../in-transaction-unchecked.html | 80 + .../org.jdbi.v3.core.kotlin/index.html | 377 + .../is-kotlin-class.html | 80 + .../org.jdbi.v3.core.kotlin/map-to.html | 80 + .../use-extension-unchecked.html | 80 + .../use-extension.html | 80 + .../use-handle-unchecked.html | 80 + .../org.jdbi.v3.core.kotlin/use-sequence.html | 80 + .../use-transaction-unchecked.html | 80 + .../with-extension-unchecked.html | 80 + .../with-extension.html | 80 + .../with-handle-unchecked.html | 80 + .../jdbi3-kotlin/jdbi3-kotlin/package-list | 40 + .../jdbi3-kotlin/navigation.html | 63 + .../jdbi3-kotlin/scripts/clipboard.js | 51 + .../jdbi3-kotlin/scripts/main.js | 44 + .../jdbi3-kotlin/scripts/navigation-loader.js | 91 + .../jdbi3-kotlin/scripts/pages.json | 1 + .../scripts/platform-content-handler.js | 393 + .../jdbi3-kotlin/scripts/prism.js | 22 + .../scripts/sourceset_dependencies.js | 1 + .../symbol-parameters-wrapper_deferred.js | 83 + .../jdbi3-kotlin/styles/font-jb-sans-auto.css | 32 + .../jdbi3-kotlin/styles/logo-styles.css | 5 + .../jdbi3-kotlin/styles/main.css | 118 + .../jdbi3-kotlin/styles/prism.css | 213 + .../jdbi3-kotlin/styles/style.css | 1479 ++ releases/3.45.2/apidocs/allclasses-index.html | 1690 ++ .../3.45.2/apidocs/allpackages-index.html | 305 + releases/3.45.2/apidocs/constant-values.html | 140 + releases/3.45.2/apidocs/deprecated-list.html | 394 + releases/3.45.2/apidocs/element-list | 55 + releases/3.45.2/apidocs/index-all.html | 8321 ++++++++ releases/3.45.2/apidocs/index.html | 307 + releases/3.45.2/apidocs/legal/COPYRIGHT | 69 + releases/3.45.2/apidocs/legal/LICENSE | 118 + releases/3.45.2/apidocs/legal/jquery.md | 72 + releases/3.45.2/apidocs/legal/jqueryUI.md | 49 + .../3.45.2/apidocs/member-search-index.js | 1 + .../3.45.2/apidocs/module-search-index.js | 1 + .../jdbi/v3/cache/caffeine/CaffeineCache.html | 221 + .../cache/caffeine/CaffeineCacheBuilder.html | 267 + .../cache/caffeine/CaffeineCachePlugin.html | 207 + .../cache/caffeine/CaffeineLoadingCache.html | 221 + .../caffeine/class-use/CaffeineCache.html | 57 + .../class-use/CaffeineCacheBuilder.html | 57 + .../class-use/CaffeineCachePlugin.html | 57 + .../class-use/CaffeineLoadingCache.html | 57 + .../v3/cache/caffeine/package-summary.html | 110 + .../jdbi/v3/cache/caffeine/package-tree.html | 74 + .../jdbi/v3/cache/caffeine/package-use.html | 57 + .../org/jdbi/v3/cache/noop/NoopCache.html | 239 + .../jdbi/v3/cache/noop/NoopCacheBuilder.html | 213 + .../jdbi/v3/cache/noop/NoopCachePlugin.html | 207 + .../v3/cache/noop/class-use/NoopCache.html | 57 + .../noop/class-use/NoopCacheBuilder.html | 57 + .../cache/noop/class-use/NoopCachePlugin.html | 57 + .../jdbi/v3/cache/noop/package-summary.html | 106 + .../org/jdbi/v3/cache/noop/package-tree.html | 73 + .../org/jdbi/v3/cache/noop/package-use.html | 57 + .../StringSubstitutorTemplateEngine.html | 295 + .../UseStringSubstitutorTemplateEngine.html | 170 + .../StringSubstitutorTemplateEngine.html | 97 + .../UseStringSubstitutorTemplateEngine.html | 57 + .../jdbi/v3/commonstext/package-summary.html | 99 + .../org/jdbi/v3/commonstext/package-tree.html | 77 + .../org/jdbi/v3/commonstext/package-use.html | 81 + .../org/jdbi/v3/core/CloseException.html | 175 + .../org/jdbi/v3/core/ConnectionException.html | 172 + .../org/jdbi/v3/core/ConnectionFactory.html | 205 + .../apidocs/org/jdbi/v3/core/Handle.html | 1391 ++ .../org/jdbi/v3/core/HandleCallback.html | 162 + .../jdbi/v3/core/HandleCallbackDecorator.html | 193 + .../org/jdbi/v3/core/HandleConsumer.html | 170 + .../org/jdbi/v3/core/HandleListener.html | 171 + .../apidocs/org/jdbi/v3/core/HandleScope.html | 219 + .../apidocs/org/jdbi/v3/core/Handles.html | 304 + .../3.45.2/apidocs/org/jdbi/v3/core/Jdbi.html | 955 + .../org/jdbi/v3/core/JdbiException.html | 142 + .../3.45.2/apidocs/org/jdbi/v3/core/Sql.html | 292 + .../jdbi/v3/core/annotation/JdbiProperty.html | 171 + .../annotation/class-use/JdbiProperty.html | 57 + .../v3/core/annotation/package-summary.html | 109 + .../jdbi/v3/core/annotation/package-tree.html | 67 + .../jdbi/v3/core/annotation/package-use.html | 57 + .../argument/AbstractArgumentFactory.html | 261 + .../org/jdbi/v3/core/argument/Argument.html | 172 + .../argument/ArgumentFactory.Preparable.html | 225 + .../v3/core/argument/ArgumentFactory.html | 200 + .../org/jdbi/v3/core/argument/Arguments.html | 474 + .../core/argument/BeanPropertyArguments.html | 196 + .../core/argument/BuiltInArgumentFactory.html | 311 + .../argument/CharSequenceArgumentFactory.html | 178 + .../argument/CharacterStreamArgument.html | 226 + .../core/argument/DirectArgumentFactory.html | 219 + .../v3/core/argument/InputStreamArgument.html | 229 + .../JavaTimeZoneIdArgumentFactory.html | 167 + .../jdbi/v3/core/argument/MapArguments.html | 241 + .../v3/core/argument/NamedArgumentFinder.html | 172 + .../jdbi/v3/core/argument/NullArgument.html | 273 + .../jdbi/v3/core/argument/ObjectArgument.html | 291 + .../core/argument/ObjectArgumentFactory.html | 263 + .../core/argument/ObjectFieldArguments.html | 228 + .../core/argument/ObjectMethodArguments.html | 228 + .../QualifiedArgumentFactory.Preparable.html | 212 + .../argument/QualifiedArgumentFactory.html | 249 + .../argument/SetObjectArgumentFactory.html | 220 + .../class-use/AbstractArgumentFactory.html | 155 + .../v3/core/argument/class-use/Argument.html | 395 + .../class-use/ArgumentFactory.Preparable.html | 230 + .../argument/class-use/ArgumentFactory.html | 319 + .../v3/core/argument/class-use/Arguments.html | 95 + .../class-use/BeanPropertyArguments.html | 57 + .../class-use/BuiltInArgumentFactory.html | 57 + .../CharSequenceArgumentFactory.html | 57 + .../class-use/CharacterStreamArgument.html | 57 + .../class-use/DirectArgumentFactory.html | 57 + .../class-use/InputStreamArgument.html | 57 + .../JavaTimeZoneIdArgumentFactory.html | 57 + .../core/argument/class-use/MapArguments.html | 57 + .../class-use/NamedArgumentFinder.html | 161 + .../core/argument/class-use/NullArgument.html | 57 + .../argument/class-use/ObjectArgument.html | 57 + .../class-use/ObjectArgumentFactory.html | 57 + .../class-use/ObjectFieldArguments.html | 57 + .../class-use/ObjectMethodArguments.html | 57 + .../QualifiedArgumentFactory.Preparable.html | 131 + .../class-use/QualifiedArgumentFactory.html | 177 + .../class-use/SetObjectArgumentFactory.html | 94 + .../v3/core/argument/package-summary.html | 203 + .../jdbi/v3/core/argument/package-tree.html | 114 + .../jdbi/v3/core/argument/package-use.html | 333 + .../core/array/SqlArrayArgumentFactory.html | 219 + .../core/array/SqlArrayArgumentStrategy.html | 241 + .../v3/core/array/SqlArrayMapperFactory.html | 209 + .../org/jdbi/v3/core/array/SqlArrayType.html | 218 + .../v3/core/array/SqlArrayTypeFactory.html | 200 + .../org/jdbi/v3/core/array/SqlArrayTypes.html | 364 + .../class-use/SqlArrayArgumentFactory.html | 57 + .../class-use/SqlArrayArgumentStrategy.html | 154 + .../class-use/SqlArrayMapperFactory.html | 57 + .../v3/core/array/class-use/SqlArrayType.html | 167 + .../array/class-use/SqlArrayTypeFactory.html | 135 + .../core/array/class-use/SqlArrayTypes.html | 108 + .../jdbi/v3/core/array/package-summary.html | 138 + .../org/jdbi/v3/core/array/package-tree.html | 94 + .../org/jdbi/v3/core/array/package-use.html | 147 + .../v3/core/async/AbstractJdbiExecutor.html | 457 + .../org/jdbi/v3/core/async/JdbiExecutor.html | 422 + .../async/class-use/AbstractJdbiExecutor.html | 57 + .../v3/core/async/class-use/JdbiExecutor.html | 94 + .../jdbi/v3/core/async/package-summary.html | 111 + .../org/jdbi/v3/core/async/package-tree.html | 77 + .../org/jdbi/v3/core/async/package-use.html | 79 + .../org/jdbi/v3/core/cache/JdbiCache.html | 206 + .../jdbi/v3/core/cache/JdbiCacheBuilder.html | 196 + .../jdbi/v3/core/cache/JdbiCacheLoader.html | 163 + .../jdbi/v3/core/cache/JdbiCacheStats.html | 169 + .../v3/core/cache/class-use/JdbiCache.html | 166 + .../cache/class-use/JdbiCacheBuilder.html | 188 + .../core/cache/class-use/JdbiCacheLoader.html | 143 + .../core/cache/class-use/JdbiCacheStats.html | 57 + .../jdbi/v3/core/cache/package-summary.html | 124 + .../org/jdbi/v3/core/cache/package-tree.html | 70 + .../org/jdbi/v3/core/cache/package-use.html | 160 + .../v3/core/class-use/CloseException.html | 57 + .../core/class-use/ConnectionException.html | 57 + .../v3/core/class-use/ConnectionFactory.html | 111 + .../org/jdbi/v3/core/class-use/Handle.html | 717 + .../v3/core/class-use/HandleCallback.html | 281 + .../class-use/HandleCallbackDecorator.html | 107 + .../v3/core/class-use/HandleConsumer.html | 172 + .../v3/core/class-use/HandleListener.html | 113 + .../jdbi/v3/core/class-use/HandleScope.html | 101 + .../org/jdbi/v3/core/class-use/Handles.html | 95 + .../org/jdbi/v3/core/class-use/Jdbi.html | 595 + .../jdbi/v3/core/class-use/JdbiException.html | 339 + .../org/jdbi/v3/core/class-use/Sql.html | 88 + .../apidocs/org/jdbi/v3/core/codec/Codec.html | 209 + .../v3/core/codec/CodecFactory.Builder.html | 232 + .../org/jdbi/v3/core/codec/CodecFactory.html | 348 + .../jdbi/v3/core/codec/class-use/Codec.html | 173 + .../codec/class-use/CodecFactory.Builder.html | 120 + .../v3/core/codec/class-use/CodecFactory.html | 145 + .../jdbi/v3/core/codec/package-summary.html | 119 + .../org/jdbi/v3/core/codec/package-tree.html | 78 + .../org/jdbi/v3/core/codec/package-use.html | 148 + .../collector/BuiltInCollectorFactory.html | 360 + .../v3/core/collector/CollectorFactory.html | 260 + .../ElementTypeNotFoundException.html | 196 + .../v3/core/collector/JdbiCollectors.html | 290 + .../jdbi/v3/core/collector/MapCollectors.html | 156 + .../collector/NoSuchCollectorException.html | 196 + .../v3/core/collector/OptionalCollectors.html | 264 + .../class-use/BuiltInCollectorFactory.html | 57 + .../collector/class-use/CollectorFactory.html | 163 + .../ElementTypeNotFoundException.html | 57 + .../collector/class-use/JdbiCollectors.html | 97 + .../collector/class-use/MapCollectors.html | 57 + .../class-use/NoSuchCollectorException.html | 57 + .../class-use/OptionalCollectors.html | 57 + .../v3/core/collector/package-summary.html | 141 + .../jdbi/v3/core/collector/package-tree.html | 98 + .../jdbi/v3/core/collector/package-use.html | 127 + .../jdbi/v3/core/config/ConfigCustomizer.html | 160 + .../jdbi/v3/core/config/ConfigRegistry.html | 227 + .../org/jdbi/v3/core/config/Configurable.html | 812 + .../v3/core/config/ConfiguringPlugin.html | 191 + .../org/jdbi/v3/core/config/JdbiConfig.html | 183 + .../config/class-use/ConfigCustomizer.html | 112 + .../core/config/class-use/ConfigRegistry.html | 857 + .../core/config/class-use/Configurable.html | 150 + .../config/class-use/ConfiguringPlugin.html | 87 + .../v3/core/config/class-use/JdbiConfig.html | 681 + .../jdbi/v3/core/config/package-summary.html | 136 + .../org/jdbi/v3/core/config/package-tree.html | 80 + .../org/jdbi/v3/core/config/package-use.html | 653 + .../org/jdbi/v3/core/enums/DatabaseValue.html | 144 + .../org/jdbi/v3/core/enums/EnumByName.html | 118 + .../org/jdbi/v3/core/enums/EnumByOrdinal.html | 118 + .../org/jdbi/v3/core/enums/EnumStrategy.html | 232 + .../apidocs/org/jdbi/v3/core/enums/Enums.html | 235 + .../core/enums/class-use/DatabaseValue.html | 57 + .../v3/core/enums/class-use/EnumByName.html | 57 + .../core/enums/class-use/EnumByOrdinal.html | 57 + .../v3/core/enums/class-use/EnumStrategy.html | 107 + .../jdbi/v3/core/enums/class-use/Enums.html | 87 + .../jdbi/v3/core/enums/package-summary.html | 125 + .../org/jdbi/v3/core/enums/package-tree.html | 93 + .../org/jdbi/v3/core/enums/package-use.html | 83 + .../extension/ConfigCustomizerFactory.html | 180 + .../v3/core/extension/ExtensionCallback.html | 166 + .../core/extension/ExtensionConfigurer.html | 200 + .../v3/core/extension/ExtensionConsumer.html | 163 + .../v3/core/extension/ExtensionContext.html | 228 + .../ExtensionFactory.FactoryFlag.html | 265 + .../v3/core/extension/ExtensionFactory.html | 339 + .../v3/core/extension/ExtensionHandler.html | 350 + .../extension/ExtensionHandlerCustomizer.html | 169 + .../extension/ExtensionHandlerFactory.html | 185 + .../extension/ExtensionMetadata.Builder.html | 306 + ...nsionMetadata.ExtensionHandlerInvoker.html | 218 + .../v3/core/extension/ExtensionMetadata.html | 289 + .../v3/core/extension/ExtensionMethod.html | 230 + .../jdbi/v3/core/extension/Extensions.html | 513 + .../v3/core/extension/HandleSupplier.html | 235 + .../extension/NoSuchExtensionException.html | 243 + .../extension/SimpleExtensionConfigurer.html | 256 + .../UnableToCreateExtensionException.html | 219 + .../ExtensionHandlerCustomizationOrder.html | 151 + .../annotation/UseExtensionConfigurer.html | 150 + .../annotation/UseExtensionHandler.html | 173 + .../UseExtensionHandlerCustomizer.html | 153 + .../ExtensionHandlerCustomizationOrder.html | 57 + .../class-use/UseExtensionConfigurer.html | 301 + .../class-use/UseExtensionHandler.html | 135 + .../UseExtensionHandlerCustomizer.html | 88 + .../extension/annotation/package-summary.html | 123 + .../extension/annotation/package-tree.html | 70 + .../extension/annotation/package-use.html | 216 + .../class-use/ConfigCustomizerFactory.html | 105 + .../class-use/ExtensionCallback.html | 118 + .../class-use/ExtensionConfigurer.html | 115 + .../class-use/ExtensionConsumer.html | 114 + .../extension/class-use/ExtensionContext.html | 106 + .../ExtensionFactory.FactoryFlag.html | 106 + .../extension/class-use/ExtensionFactory.html | 159 + .../extension/class-use/ExtensionHandler.html | 225 + .../class-use/ExtensionHandlerCustomizer.html | 127 + .../class-use/ExtensionHandlerFactory.html | 127 + .../class-use/ExtensionMetadata.Builder.html | 133 + ...nsionMetadata.ExtensionHandlerInvoker.html | 92 + .../class-use/ExtensionMetadata.html | 95 + .../extension/class-use/ExtensionMethod.html | 138 + .../core/extension/class-use/Extensions.html | 117 + .../extension/class-use/HandleSupplier.html | 173 + .../class-use/NoSuchExtensionException.html | 57 + .../class-use/SimpleExtensionConfigurer.html | 57 + .../UnableToCreateExtensionException.html | 57 + .../v3/core/extension/package-summary.html | 196 + .../jdbi/v3/core/extension/package-tree.html | 127 + .../jdbi/v3/core/extension/package-use.html | 282 + .../org/jdbi/v3/core/generic/GenericType.html | 149 + .../jdbi/v3/core/generic/GenericTypes.html | 425 + .../core/generic/class-use/GenericType.html | 358 + .../core/generic/class-use/GenericTypes.html | 57 + .../jdbi/v3/core/generic/package-summary.html | 117 + .../jdbi/v3/core/generic/package-tree.html | 72 + .../org/jdbi/v3/core/generic/package-use.html | 192 + .../org/jdbi/v3/core/h2/H2DatabasePlugin.html | 209 + .../core/h2/class-use/H2DatabasePlugin.html | 57 + .../org/jdbi/v3/core/h2/package-summary.html | 114 + .../org/jdbi/v3/core/h2/package-tree.html | 75 + .../org/jdbi/v3/core/h2/package-use.html | 57 + .../interceptor/JdbiInterceptionChain.html | 155 + .../JdbiInterceptionChainHolder.html | 264 + .../v3/core/interceptor/JdbiInterceptor.html | 185 + .../class-use/JdbiInterceptionChain.html | 85 + .../JdbiInterceptionChainHolder.html | 130 + .../class-use/JdbiInterceptor.html | 89 + .../v3/core/interceptor/package-summary.html | 119 + .../v3/core/interceptor/package-tree.html | 78 + .../jdbi/v3/core/interceptor/package-use.html | 126 + .../v3/core/locator/ClasspathSqlLocator.html | 412 + .../class-use/ClasspathSqlLocator.html | 116 + .../jdbi/v3/core/locator/package-summary.html | 115 + .../jdbi/v3/core/locator/package-tree.html | 71 + .../org/jdbi/v3/core/locator/package-use.html | 105 + .../v3/core/mapper/BuiltInMapperFactory.html | 213 + .../org/jdbi/v3/core/mapper/CaseStrategy.html | 282 + .../org/jdbi/v3/core/mapper/ColumnMapper.html | 250 + .../v3/core/mapper/ColumnMapperFactory.html | 195 + .../jdbi/v3/core/mapper/ColumnMappers.html | 504 + .../core/mapper/EnumByNameMapperFactory.html | 225 + .../mapper/EnumByOrdinalMapperFactory.html | 225 + .../org/jdbi/v3/core/mapper/EnumMapper.html | 205 + .../core/mapper/GenericMapMapperFactory.html | 275 + .../mapper/GetObjectColumnMapperFactory.html | 220 + .../org/jdbi/v3/core/mapper/JoinRow.html | 181 + .../jdbi/v3/core/mapper/JoinRowMapper.html | 244 + .../jdbi/v3/core/mapper/MapEntryConfig.html | 201 + .../jdbi/v3/core/mapper/MapEntryMapper.html | 224 + .../jdbi/v3/core/mapper/MapEntryMappers.html | 276 + .../org/jdbi/v3/core/mapper/MapMapper.html | 284 + .../org/jdbi/v3/core/mapper/MapMappers.html | 245 + .../org/jdbi/v3/core/mapper/Mappers.html | 326 + .../jdbi/v3/core/mapper/MappingException.html | 195 + .../org/jdbi/v3/core/mapper/Nested.html | 149 + .../v3/core/mapper/NoSuchMapperException.html | 196 + .../jdbi/v3/core/mapper/PropagateNull.html | 152 + .../mapper/QualifiedColumnMapperFactory.html | 219 + .../org/jdbi/v3/core/mapper/RowMapper.html | 248 + .../jdbi/v3/core/mapper/RowMapperFactory.html | 195 + .../org/jdbi/v3/core/mapper/RowMappers.html | 396 + .../jdbi/v3/core/mapper/RowViewMapper.html | 245 + .../v3/core/mapper/SingleColumnMapper.html | 253 + .../class-use/BuiltInMapperFactory.html | 57 + .../core/mapper/class-use/CaseStrategy.html | 93 + .../core/mapper/class-use/ColumnMapper.html | 491 + .../mapper/class-use/ColumnMapperFactory.html | 224 + .../core/mapper/class-use/ColumnMappers.html | 121 + .../class-use/EnumByNameMapperFactory.html | 57 + .../class-use/EnumByOrdinalMapperFactory.html | 57 + .../v3/core/mapper/class-use/EnumMapper.html | 57 + .../class-use/GenericMapMapperFactory.html | 57 + .../GetObjectColumnMapperFactory.html | 89 + .../v3/core/mapper/class-use/JoinRow.html | 96 + .../core/mapper/class-use/JoinRowMapper.html | 88 + .../core/mapper/class-use/MapEntryConfig.html | 109 + .../core/mapper/class-use/MapEntryMapper.html | 57 + .../mapper/class-use/MapEntryMappers.html | 95 + .../v3/core/mapper/class-use/MapMapper.html | 57 + .../v3/core/mapper/class-use/MapMappers.html | 90 + .../v3/core/mapper/class-use/Mappers.html | 85 + .../mapper/class-use/MappingException.html | 57 + .../jdbi/v3/core/mapper/class-use/Nested.html | 57 + .../class-use/NoSuchMapperException.html | 57 + .../core/mapper/class-use/PropagateNull.html | 57 + .../QualifiedColumnMapperFactory.html | 174 + .../v3/core/mapper/class-use/RowMapper.html | 542 + .../mapper/class-use/RowMapperFactory.html | 228 + .../v3/core/mapper/class-use/RowMappers.html | 107 + .../core/mapper/class-use/RowViewMapper.html | 92 + .../mapper/class-use/SingleColumnMapper.html | 57 + .../mapper/freebuilder/JdbiFreeBuilders.html | 316 + .../class-use/JdbiFreeBuilders.html | 105 + .../mapper/freebuilder/package-summary.html | 118 + .../core/mapper/freebuilder/package-tree.html | 71 + .../core/mapper/freebuilder/package-use.html | 81 + .../mapper/immutables/JdbiImmutables.html | 413 + .../immutables/class-use/JdbiImmutables.html | 128 + .../mapper/immutables/package-summary.html | 118 + .../core/mapper/immutables/package-tree.html | 71 + .../core/mapper/immutables/package-use.html | 81 + .../jdbi/v3/core/mapper/package-summary.html | 240 + .../org/jdbi/v3/core/mapper/package-tree.html | 140 + .../org/jdbi/v3/core/mapper/package-use.html | 422 + ...bstractSeparatorCharColumnNameMatcher.html | 205 + .../reflect/AccessibleObjectStrategy.html | 246 + .../v3/core/mapper/reflect/BeanMapper.html | 247 + .../CaseInsensitiveColumnNameMatcher.html | 248 + .../v3/core/mapper/reflect/ColumnName.html | 147 + .../mapper/reflect/ColumnNameMatcher.html | 190 + .../mapper/reflect/ConstructorMapper.html | 405 + .../v3/core/mapper/reflect/FieldMapper.html | 324 + .../core/mapper/reflect/JdbiConstructor.html | 101 + .../core/mapper/reflect/JdbiConstructors.html | 162 + .../mapper/reflect/ReflectionMapperUtil.html | 293 + .../mapper/reflect/ReflectionMappers.html | 389 + .../reflect/SnakeCaseColumnNameMatcher.html | 195 + ...bstractSeparatorCharColumnNameMatcher.html | 89 + .../class-use/AccessibleObjectStrategy.html | 95 + .../mapper/reflect/class-use/BeanMapper.html | 57 + .../CaseInsensitiveColumnNameMatcher.html | 57 + .../mapper/reflect/class-use/ColumnName.html | 57 + .../reflect/class-use/ColumnNameMatcher.html | 127 + .../reflect/class-use/ConstructorMapper.html | 57 + .../mapper/reflect/class-use/FieldMapper.html | 57 + .../reflect/class-use/JdbiConstructor.html | 57 + .../reflect/class-use/JdbiConstructors.html | 57 + .../class-use/ReflectionMapperUtil.html | 57 + .../reflect/class-use/ReflectionMappers.html | 113 + .../class-use/SnakeCaseColumnNameMatcher.html | 57 + .../core/mapper/reflect/package-summary.html | 168 + .../v3/core/mapper/reflect/package-tree.html | 113 + .../v3/core/mapper/reflect/package-use.html | 94 + .../org/jdbi/v3/core/package-summary.html | 261 + .../org/jdbi/v3/core/package-tree.html | 103 + .../apidocs/org/jdbi/v3/core/package-use.html | 705 + .../org/jdbi/v3/core/qualifier/NVarchar.html | 100 + .../jdbi/v3/core/qualifier/QualifiedType.html | 454 + .../org/jdbi/v3/core/qualifier/Qualifier.html | 107 + .../jdbi/v3/core/qualifier/Qualifiers.html | 250 + .../v3/core/qualifier/class-use/NVarchar.html | 57 + .../qualifier/class-use/QualifiedType.html | 473 + .../core/qualifier/class-use/Qualifier.html | 159 + .../core/qualifier/class-use/Qualifiers.html | 82 + .../v3/core/qualifier/package-summary.html | 124 + .../jdbi/v3/core/qualifier/package-tree.html | 79 + .../jdbi/v3/core/qualifier/package-use.html | 280 + .../v3/core/result/BatchResultBearing.html | 793 + .../v3/core/result/BatchResultIterable.html | 187 + .../jdbi/v3/core/result/IteratorCallback.html | 160 + .../jdbi/v3/core/result/IteratorConsumer.html | 158 + .../core/result/LinkedHashMapRowReducer.html | 198 + .../v3/core/result/NoResultsException.html | 206 + .../jdbi/v3/core/result/ResultBearing.html | 692 + ...ResultIterable.ResultIteratorDelegate.html | 219 + .../jdbi/v3/core/result/ResultIterable.html | 876 + .../jdbi/v3/core/result/ResultIterator.html | 207 + .../jdbi/v3/core/result/ResultProducer.html | 194 + .../ResultProducers.ResultSetCreator.html | 164 + .../jdbi/v3/core/result/ResultProducers.html | 337 + .../v3/core/result/ResultSetAccumulator.html | 171 + .../v3/core/result/ResultSetException.html | 182 + .../jdbi/v3/core/result/ResultSetScanner.html | 205 + .../org/jdbi/v3/core/result/RowReducer.html | 214 + .../org/jdbi/v3/core/result/RowView.html | 430 + .../jdbi/v3/core/result/StreamCallback.html | 160 + .../jdbi/v3/core/result/StreamConsumer.html | 158 + .../UnableToProduceResultException.html | 226 + .../result/class-use/BatchResultBearing.html | 88 + .../result/class-use/BatchResultIterable.html | 121 + .../result/class-use/IteratorCallback.html | 90 + .../result/class-use/IteratorConsumer.html | 89 + .../class-use/LinkedHashMapRowReducer.html | 57 + .../result/class-use/NoResultsException.html | 57 + .../core/result/class-use/ResultBearing.html | 220 + ...ResultIterable.ResultIteratorDelegate.html | 57 + .../core/result/class-use/ResultIterable.html | 184 + .../core/result/class-use/ResultIterator.html | 146 + .../core/result/class-use/ResultProducer.html | 131 + .../ResultProducers.ResultSetCreator.html | 91 + .../result/class-use/ResultProducers.html | 92 + .../class-use/ResultSetAccumulator.html | 94 + .../result/class-use/ResultSetException.html | 57 + .../result/class-use/ResultSetScanner.html | 118 + .../v3/core/result/class-use/RowReducer.html | 106 + .../v3/core/result/class-use/RowView.html | 148 + .../core/result/class-use/StreamCallback.html | 90 + .../core/result/class-use/StreamConsumer.html | 89 + .../UnableToProduceResultException.html | 57 + .../jdbi/v3/core/result/package-summary.html | 205 + .../org/jdbi/v3/core/result/package-tree.html | 139 + .../org/jdbi/v3/core/result/package-use.html | 220 + .../v3/core/spi/JdbiPlugin.Singleton.html | 223 + .../org/jdbi/v3/core/spi/JdbiPlugin.html | 222 + .../spi/class-use/JdbiPlugin.Singleton.html | 290 + .../v3/core/spi/class-use/JdbiPlugin.html | 523 + .../org/jdbi/v3/core/spi/package-summary.html | 123 + .../org/jdbi/v3/core/spi/package-tree.html | 77 + .../org/jdbi/v3/core/spi/package-use.html | 514 + .../org/jdbi/v3/core/statement/Batch.html | 341 + .../org/jdbi/v3/core/statement/Binding.html | 412 + .../v3/core/statement/CachingSqlParser.html | 237 + .../org/jdbi/v3/core/statement/Call.html | 571 + .../statement/CallableStatementMapper.html | 150 + .../org/jdbi/v3/core/statement/Cleanable.html | 227 + .../core/statement/ColonPrefixSqlParser.html | 225 + .../statement/DefaultStatementBuilder.html | 330 + .../DefinedAttributeTemplateEngine.html | 226 + .../jdbi/v3/core/statement/EmptyHandling.html | 275 + .../core/statement/HashPrefixSqlParser.html | 222 + .../MessageFormatTemplateEngine.html | 249 + .../MetaData.MetaDataResultSetProvider.html | 163 + .../MetaData.MetaDataValueProvider.html | 160 + .../org/jdbi/v3/core/statement/MetaData.html | 355 + .../v3/core/statement/NoTemplateEngine.html | 223 + .../jdbi/v3/core/statement/OutParameters.html | 910 + .../v3/core/statement/ParsedParameters.html | 287 + .../v3/core/statement/ParsedSql.Builder.html | 223 + .../org/jdbi/v3/core/statement/ParsedSql.html | 292 + .../jdbi/v3/core/statement/PreparedBatch.html | 565 + .../org/jdbi/v3/core/statement/Query.html | 462 + .../org/jdbi/v3/core/statement/Script.html | 375 + .../v3/core/statement/Slf4JSqlLogger.html | 242 + .../org/jdbi/v3/core/statement/SqlLogger.html | 228 + .../org/jdbi/v3/core/statement/SqlParser.html | 188 + .../jdbi/v3/core/statement/SqlStatement.html | 3204 +++ .../jdbi/v3/core/statement/SqlStatements.html | 769 + .../v3/core/statement/StatementBuilder.html | 277 + .../statement/StatementBuilderFactory.html | 154 + .../v3/core/statement/StatementContext.html | 1057 + .../statement/StatementContextListener.html | 212 + .../core/statement/StatementCustomizer.html | 231 + .../core/statement/StatementCustomizers.html | 223 + .../v3/core/statement/StatementException.html | 292 + .../StatementExceptions.MessageRendering.html | 288 + .../core/statement/StatementExceptions.html | 304 + .../statement/TemplateEngine.Parsing.html | 223 + .../v3/core/statement/TemplateEngine.html | 254 + .../v3/core/statement/TimingCollector.html | 208 + .../UnableToCreateStatementException.html | 238 + .../UnableToExecuteStatementException.html | 216 + .../UnableToRetrieveMetaDataException.html | 145 + .../org/jdbi/v3/core/statement/Update.html | 397 + .../v3/core/statement/class-use/Batch.html | 109 + .../v3/core/statement/class-use/Binding.html | 88 + .../statement/class-use/CachingSqlParser.html | 95 + .../v3/core/statement/class-use/Call.html | 155 + .../class-use/CallableStatementMapper.html | 97 + .../core/statement/class-use/Cleanable.html | 148 + .../class-use/ColonPrefixSqlParser.html | 57 + .../class-use/DefaultStatementBuilder.html | 57 + .../DefinedAttributeTemplateEngine.html | 57 + .../statement/class-use/EmptyHandling.html | 114 + .../class-use/HashPrefixSqlParser.html | 57 + .../MessageFormatTemplateEngine.html | 57 + .../MetaData.MetaDataResultSetProvider.html | 87 + .../MetaData.MetaDataValueProvider.html | 117 + .../v3/core/statement/class-use/MetaData.html | 57 + .../statement/class-use/NoTemplateEngine.html | 57 + .../statement/class-use/OutParameters.html | 105 + .../statement/class-use/ParsedParameters.html | 110 + .../class-use/ParsedSql.Builder.html | 105 + .../core/statement/class-use/ParsedSql.html | 110 + .../statement/class-use/PreparedBatch.html | 126 + .../v3/core/statement/class-use/Query.html | 143 + .../v3/core/statement/class-use/Script.html | 92 + .../statement/class-use/Slf4JSqlLogger.html | 57 + .../core/statement/class-use/SqlLogger.html | 140 + .../core/statement/class-use/SqlParser.html | 141 + .../statement/class-use/SqlStatement.html | 191 + .../statement/class-use/SqlStatements.html | 145 + .../statement/class-use/StatementBuilder.html | 131 + .../class-use/StatementBuilderFactory.html | 118 + .../statement/class-use/StatementContext.html | 731 + .../class-use/StatementContextListener.html | 86 + .../class-use/StatementCustomizer.html | 134 + .../class-use/StatementCustomizers.html | 57 + .../class-use/StatementException.html | 183 + .../StatementExceptions.MessageRendering.html | 94 + .../class-use/StatementExceptions.html | 96 + .../class-use/TemplateEngine.Parsing.html | 110 + .../statement/class-use/TemplateEngine.html | 229 + .../statement/class-use/TimingCollector.html | 140 + .../UnableToCreateStatementException.html | 57 + .../UnableToExecuteStatementException.html | 57 + .../UnableToRetrieveMetaDataException.html | 57 + .../v3/core/statement/class-use/Update.html | 92 + .../v3/core/statement/package-summary.html | 290 + .../jdbi/v3/core/statement/package-tree.html | 167 + .../jdbi/v3/core/statement/package-use.html | 524 + .../transaction/CMTTransactionHandler.html | 414 + .../DelegatingTransactionHandler.html | 421 + .../transaction/LocalTransactionHandler.html | 441 + .../RollbackOnlyTransactionHandler.html | 214 + ...izableTransactionRunner.Configuration.html | 285 + .../SerializableTransactionRunner.html | 324 + .../transaction/TransactionException.html | 195 + .../core/transaction/TransactionHandler.html | 380 + .../TransactionIsolationLevel.html | 313 + ...ateTransactionIsolationLevelException.html | 187 + ...ableToRestoreAutoCommitStateException.html | 173 + .../class-use/CMTTransactionHandler.html | 57 + .../DelegatingTransactionHandler.html | 96 + .../class-use/LocalTransactionHandler.html | 86 + .../RollbackOnlyTransactionHandler.html | 57 + ...izableTransactionRunner.Configuration.html | 106 + .../SerializableTransactionRunner.html | 57 + .../class-use/TransactionException.html | 57 + .../class-use/TransactionHandler.html | 174 + .../class-use/TransactionIsolationLevel.html | 269 + ...ateTransactionIsolationLevelException.html | 57 + ...ableToRestoreAutoCommitStateException.html | 57 + .../v3/core/transaction/package-summary.html | 165 + .../v3/core/transaction/package-tree.html | 118 + .../jdbi/v3/core/transaction/package-use.html | 159 + .../jdbi/v3/freemarker/FreemarkerConfig.html | 230 + .../jdbi/v3/freemarker/FreemarkerEngine.html | 242 + .../v3/freemarker/FreemarkerSqlLocator.html | 188 + .../v3/freemarker/UseFreemarkerEngine.html | 100 + .../freemarker/UseFreemarkerSqlLocator.html | 110 + .../class-use/FreemarkerConfig.html | 88 + .../class-use/FreemarkerEngine.html | 85 + .../class-use/FreemarkerSqlLocator.html | 85 + .../class-use/UseFreemarkerEngine.html | 57 + .../class-use/UseFreemarkerSqlLocator.html | 57 + .../jdbi/v3/freemarker/package-summary.html | 121 + .../org/jdbi/v3/freemarker/package-tree.html | 80 + .../org/jdbi/v3/freemarker/package-use.html | 90 + .../generator/GenerateSqlObjectProcessor.html | 269 + .../class-use/GenerateSqlObjectProcessor.html | 57 + .../jdbi/v3/generator/package-summary.html | 93 + .../org/jdbi/v3/generator/package-tree.html | 75 + .../org/jdbi/v3/generator/package-use.html | 57 + .../org/jdbi/v3/gson2/Gson2Config.html | 236 + .../org/jdbi/v3/gson2/Gson2Plugin.html | 219 + .../jdbi/v3/gson2/class-use/Gson2Config.html | 87 + .../jdbi/v3/gson2/class-use/Gson2Plugin.html | 57 + .../org/jdbi/v3/gson2/package-summary.html | 99 + .../org/jdbi/v3/gson2/package-tree.html | 76 + .../org/jdbi/v3/gson2/package-use.html | 81 + .../org/jdbi/v3/guava/GuavaArguments.html | 162 + .../org/jdbi/v3/guava/GuavaCollectors.html | 452 + .../org/jdbi/v3/guava/GuavaPlugin.html | 209 + .../v3/guava/class-use/GuavaArguments.html | 57 + .../v3/guava/class-use/GuavaCollectors.html | 57 + .../jdbi/v3/guava/class-use/GuavaPlugin.html | 57 + .../codec/TypeResolvingCodecFactory.html | 224 + .../class-use/TypeResolvingCodecFactory.html | 57 + .../jdbi/v3/guava/codec/package-summary.html | 110 + .../org/jdbi/v3/guava/codec/package-tree.html | 75 + .../org/jdbi/v3/guava/codec/package-use.html | 57 + .../org/jdbi/v3/guava/package-summary.html | 121 + .../org/jdbi/v3/guava/package-tree.html | 77 + .../org/jdbi/v3/guava/package-use.html | 57 + .../AbstractJdbiConfigurationModule.html | 247 + .../guice/AbstractJdbiDefinitionModule.html | 501 + .../jdbi/v3/guice/GuiceJdbiCustomizer.html | 189 + .../apidocs/org/jdbi/v3/guice/JdbiBinder.html | 366 + .../AbstractJdbiConfigurationModule.html | 57 + .../AbstractJdbiDefinitionModule.html | 57 + .../guice/class-use/GuiceJdbiCustomizer.html | 97 + .../jdbi/v3/guice/class-use/JdbiBinder.html | 112 + .../org/jdbi/v3/guice/package-summary.html | 112 + .../org/jdbi/v3/guice/package-tree.html | 87 + .../org/jdbi/v3/guice/package-use.html | 87 + .../org/jdbi/v3/jackson2/Jackson2Config.html | 332 + .../org/jdbi/v3/jackson2/Jackson2Plugin.html | 219 + .../v3/jackson2/class-use/Jackson2Config.html | 102 + .../v3/jackson2/class-use/Jackson2Plugin.html | 57 + .../org/jdbi/v3/jackson2/package-summary.html | 99 + .../org/jdbi/v3/jackson2/package-tree.html | 76 + .../org/jdbi/v3/jackson2/package-use.html | 81 + .../v3/jodatime2/DateTimeArgumentFactory.html | 168 + .../org/jdbi/v3/jodatime2/DateTimeMapper.html | 209 + .../org/jdbi/v3/jodatime2/JodaTimePlugin.html | 207 + .../class-use/DateTimeArgumentFactory.html | 57 + .../jodatime2/class-use/DateTimeMapper.html | 57 + .../jodatime2/class-use/JodaTimePlugin.html | 57 + .../jdbi/v3/jodatime2/package-summary.html | 109 + .../org/jdbi/v3/jodatime2/package-tree.html | 77 + .../org/jdbi/v3/jodatime2/package-use.html | 57 + .../apidocs/org/jdbi/v3/jpa/BindJpa.html | 141 + .../v3/jpa/EntityMemberAccessException.html | 195 + .../apidocs/org/jdbi/v3/jpa/JpaMapper.html | 223 + .../org/jdbi/v3/jpa/JpaMapperFactory.html | 205 + .../apidocs/org/jdbi/v3/jpa/JpaPlugin.html | 208 + .../org/jdbi/v3/jpa/class-use/BindJpa.html | 57 + .../EntityMemberAccessException.html | 57 + .../org/jdbi/v3/jpa/class-use/JpaMapper.html | 57 + .../v3/jpa/class-use/JpaMapperFactory.html | 57 + .../org/jdbi/v3/jpa/class-use/JpaPlugin.html | 57 + .../org/jdbi/v3/jpa/package-summary.html | 126 + .../apidocs/org/jdbi/v3/jpa/package-tree.html | 96 + .../apidocs/org/jdbi/v3/jpa/package-use.html | 57 + .../apidocs/org/jdbi/v3/json/EncodedJson.html | 99 + .../3.45.2/apidocs/org/jdbi/v3/json/Json.html | 99 + .../apidocs/org/jdbi/v3/json/JsonConfig.html | 219 + .../v3/json/JsonMapper.TypedJsonMapper.html | 161 + .../apidocs/org/jdbi/v3/json/JsonMapper.html | 203 + .../apidocs/org/jdbi/v3/json/JsonPlugin.html | 208 + .../jdbi/v3/json/class-use/EncodedJson.html | 57 + .../org/jdbi/v3/json/class-use/Json.html | 57 + .../jdbi/v3/json/class-use/JsonConfig.html | 85 + .../class-use/JsonMapper.TypedJsonMapper.html | 83 + .../jdbi/v3/json/class-use/JsonMapper.html | 91 + .../jdbi/v3/json/class-use/JsonPlugin.html | 57 + .../org/jdbi/v3/json/package-summary.html | 111 + .../org/jdbi/v3/json/package-tree.html | 90 + .../apidocs/org/jdbi/v3/json/package-use.html | 85 + .../apidocs/org/jdbi/v3/meta/Alpha.html | 105 + .../3.45.2/apidocs/org/jdbi/v3/meta/Beta.html | 118 + .../org/jdbi/v3/meta/class-use/Alpha.html | 455 + .../org/jdbi/v3/meta/class-use/Beta.html | 538 + .../org/jdbi/v3/meta/package-summary.html | 101 + .../org/jdbi/v3/meta/package-tree.html | 68 + .../apidocs/org/jdbi/v3/meta/package-use.html | 448 + .../org/jdbi/v3/moshi/MoshiConfig.html | 236 + .../org/jdbi/v3/moshi/MoshiPlugin.html | 219 + .../jdbi/v3/moshi/class-use/MoshiConfig.html | 87 + .../jdbi/v3/moshi/class-use/MoshiPlugin.html | 57 + .../org/jdbi/v3/moshi/package-summary.html | 99 + .../org/jdbi/v3/moshi/package-tree.html | 76 + .../org/jdbi/v3/moshi/package-use.html | 81 + .../org/jdbi/v3/postgis/PostgisPlugin.html | 222 + .../v3/postgis/class-use/PostgisPlugin.html | 57 + .../org/jdbi/v3/postgis/package-summary.html | 95 + .../org/jdbi/v3/postgis/package-tree.html | 75 + .../org/jdbi/v3/postgis/package-use.html | 57 + .../v3/postgres/DurationArgumentFactory.html | 214 + .../postgres/DurationColumnMapperFactory.html | 210 + .../apidocs/org/jdbi/v3/postgres/HStore.html | 99 + .../v3/postgres/HStoreArgumentFactory.html | 168 + .../jdbi/v3/postgres/HStoreColumnMapper.html | 209 + .../jdbi/v3/postgres/InetArgumentFactory.html | 211 + .../v3/postgres/JavaTimeArgumentFactory.html | 172 + .../v3/postgres/JavaTimeMapperFactory.html | 167 + .../v3/postgres/LargeObjectException.html | 177 + .../apidocs/org/jdbi/v3/postgres/MacAddr.html | 99 + .../v3/postgres/PeriodArgumentFactory.html | 199 + .../postgres/PeriodColumnMapperFactory.html | 209 + .../org/jdbi/v3/postgres/PgLobApi.html | 178 + .../org/jdbi/v3/postgres/PostgresPlugin.html | 297 + .../org/jdbi/v3/postgres/PostgresTypes.html | 258 + .../v3/postgres/TypedEnumArgumentFactory.html | 171 + .../jdbi/v3/postgres/UUIDArgumentFactory.html | 171 + .../class-use/DurationArgumentFactory.html | 57 + .../DurationColumnMapperFactory.html | 57 + .../jdbi/v3/postgres/class-use/HStore.html | 94 + .../class-use/HStoreArgumentFactory.html | 57 + .../class-use/HStoreColumnMapper.html | 57 + .../class-use/InetArgumentFactory.html | 57 + .../class-use/JavaTimeArgumentFactory.html | 57 + .../class-use/JavaTimeMapperFactory.html | 57 + .../class-use/LargeObjectException.html | 57 + .../jdbi/v3/postgres/class-use/MacAddr.html | 57 + .../class-use/PeriodArgumentFactory.html | 57 + .../class-use/PeriodColumnMapperFactory.html | 57 + .../jdbi/v3/postgres/class-use/PgLobApi.html | 89 + .../v3/postgres/class-use/PostgresPlugin.html | 89 + .../v3/postgres/class-use/PostgresTypes.html | 93 + .../class-use/TypedEnumArgumentFactory.html | 57 + .../class-use/UUIDArgumentFactory.html | 57 + .../org/jdbi/v3/postgres/package-summary.html | 165 + .../org/jdbi/v3/postgres/package-tree.html | 133 + .../org/jdbi/v3/postgres/package-use.html | 96 + .../v3/spring5/EnableJdbiRepositories.html | 212 + .../org/jdbi/v3/spring5/JdbiFactoryBean.html | 323 + .../org/jdbi/v3/spring5/JdbiRepository.html | 166 + .../v3/spring5/JdbiRepositoryFactoryBean.html | 296 + .../v3/spring5/JdbiRepositoryRegistrar.html | 195 + .../apidocs/org/jdbi/v3/spring5/JdbiUtil.html | 179 + .../v3/spring5/SpringConnectionFactory.html | 223 + .../class-use/EnableJdbiRepositories.html | 57 + .../v3/spring5/class-use/JdbiFactoryBean.html | 99 + .../v3/spring5/class-use/JdbiRepository.html | 57 + .../class-use/JdbiRepositoryFactoryBean.html | 57 + .../class-use/JdbiRepositoryRegistrar.html | 57 + .../jdbi/v3/spring5/class-use/JdbiUtil.html | 57 + .../class-use/SpringConnectionFactory.html | 57 + .../org/jdbi/v3/spring5/package-summary.html | 158 + .../org/jdbi/v3/spring5/package-tree.html | 86 + .../org/jdbi/v3/spring5/package-use.html | 85 + .../org/jdbi/v3/sqlite3/SQLitePlugin.html | 209 + .../v3/sqlite3/class-use/SQLitePlugin.html | 57 + .../org/jdbi/v3/sqlite3/package-summary.html | 101 + .../org/jdbi/v3/sqlite3/package-tree.html | 75 + .../org/jdbi/v3/sqlite3/package-use.html | 57 + .../jdbi/v3/sqlobject/CreateSqlObject.html | 100 + .../org/jdbi/v3/sqlobject/DecoratorOrder.html | 153 + .../jdbi/v3/sqlobject/GenerateSqlObject.html | 100 + .../org/jdbi/v3/sqlobject/Handler.html | 223 + .../jdbi/v3/sqlobject/HandlerDecorator.html | 216 + .../jdbi/v3/sqlobject/HandlerDecorators.html | 263 + .../org/jdbi/v3/sqlobject/HandlerFactory.html | 233 + .../org/jdbi/v3/sqlobject/Handlers.html | 250 + .../org/jdbi/v3/sqlobject/SingleValue.html | 100 + .../SqlMethodDecoratingAnnotation.html | 152 + .../org/jdbi/v3/sqlobject/SqlObject.html | 212 + .../jdbi/v3/sqlobject/SqlObjectFactory.html | 319 + .../jdbi/v3/sqlobject/SqlObjectPlugin.html | 209 + .../org/jdbi/v3/sqlobject/SqlObjects.html | 276 + .../org/jdbi/v3/sqlobject/SqlOperation.html | 153 + .../UnableToCreateSqlObjectException.html | 195 + .../sqlobject/class-use/CreateSqlObject.html | 57 + .../sqlobject/class-use/DecoratorOrder.html | 57 + .../class-use/GenerateSqlObject.html | 57 + .../jdbi/v3/sqlobject/class-use/Handler.html | 138 + .../sqlobject/class-use/HandlerDecorator.html | 87 + .../class-use/HandlerDecorators.html | 92 + .../sqlobject/class-use/HandlerFactory.html | 87 + .../jdbi/v3/sqlobject/class-use/Handlers.html | 92 + .../v3/sqlobject/class-use/SingleValue.html | 57 + .../SqlMethodDecoratingAnnotation.html | 57 + .../v3/sqlobject/class-use/SqlObject.html | 88 + .../sqlobject/class-use/SqlObjectFactory.html | 57 + .../sqlobject/class-use/SqlObjectPlugin.html | 57 + .../v3/sqlobject/class-use/SqlObjects.html | 94 + .../v3/sqlobject/class-use/SqlOperation.html | 57 + .../UnableToCreateSqlObjectException.html | 57 + .../jdbi/v3/sqlobject/config/Configurer.html | 123 + .../config/ConfiguringAnnotation.html | 150 + .../jdbi/v3/sqlobject/config/KeyColumn.html | 150 + .../config/RegisterArgumentFactories.html | 136 + .../config/RegisterArgumentFactory.html | 146 + .../sqlobject/config/RegisterBeanMapper.html | 179 + .../sqlobject/config/RegisterBeanMappers.html | 136 + .../sqlobject/config/RegisterCollector.html | 144 + .../config/RegisterCollectorFactory.html | 139 + .../config/RegisterColumnMapper.html | 145 + .../config/RegisterColumnMapperFactories.html | 136 + .../config/RegisterColumnMapperFactory.html | 145 + .../config/RegisterColumnMappers.html | 136 + .../config/RegisterConstructorMapper.html | 179 + .../config/RegisterConstructorMappers.html | 136 + .../sqlobject/config/RegisterFieldMapper.html | 179 + .../config/RegisterFieldMappers.html | 136 + .../config/RegisterJoinRowMapper.html | 145 + .../RegisterObjectArgumentFactories.html | 136 + .../config/RegisterObjectArgumentFactory.html | 180 + .../sqlobject/config/RegisterRowMapper.html | 145 + .../config/RegisterRowMapperFactories.html | 136 + .../config/RegisterRowMapperFactory.html | 138 + .../sqlobject/config/RegisterRowMappers.html | 136 + .../v3/sqlobject/config/UseEnumStrategy.html | 147 + .../v3/sqlobject/config/UseSqlParser.html | 150 + .../sqlobject/config/UseTemplateEngine.html | 151 + .../jdbi/v3/sqlobject/config/ValueColumn.html | 151 + .../config/class-use/Configurer.html | 57 + .../class-use/ConfiguringAnnotation.html | 57 + .../sqlobject/config/class-use/KeyColumn.html | 57 + .../class-use/RegisterArgumentFactories.html | 57 + .../class-use/RegisterArgumentFactory.html | 57 + .../config/class-use/RegisterBeanMapper.html | 57 + .../config/class-use/RegisterBeanMappers.html | 57 + .../config/class-use/RegisterCollector.html | 57 + .../class-use/RegisterCollectorFactory.html | 57 + .../class-use/RegisterColumnMapper.html | 57 + .../RegisterColumnMapperFactories.html | 57 + .../RegisterColumnMapperFactory.html | 57 + .../class-use/RegisterColumnMappers.html | 57 + .../class-use/RegisterConstructorMapper.html | 57 + .../class-use/RegisterConstructorMappers.html | 57 + .../config/class-use/RegisterFieldMapper.html | 57 + .../class-use/RegisterFieldMappers.html | 57 + .../class-use/RegisterJoinRowMapper.html | 57 + .../RegisterObjectArgumentFactories.html | 57 + .../RegisterObjectArgumentFactory.html | 57 + .../config/class-use/RegisterRowMapper.html | 57 + .../class-use/RegisterRowMapperFactories.html | 57 + .../class-use/RegisterRowMapperFactory.html | 57 + .../config/class-use/RegisterRowMappers.html | 57 + .../config/class-use/UseEnumStrategy.html | 57 + .../config/class-use/UseSqlParser.html | 57 + .../config/class-use/UseTemplateEngine.html | 57 + .../config/class-use/ValueColumn.html | 57 + .../v3/sqlobject/config/package-summary.html | 238 + .../v3/sqlobject/config/package-tree.html | 103 + .../jdbi/v3/sqlobject/config/package-use.html | 57 + .../customizer/AllowUnusedBindings.html | 149 + .../jdbi/v3/sqlobject/customizer/Bind.html | 188 + .../v3/sqlobject/customizer/BindBean.html | 149 + .../v3/sqlobject/customizer/BindBeanList.html | 190 + .../v3/sqlobject/customizer/BindFields.html | 149 + .../customizer/BindList.EmptyHandling.html | 328 + .../v3/sqlobject/customizer/BindList.html | 204 + .../jdbi/v3/sqlobject/customizer/BindMap.html | 195 + .../v3/sqlobject/customizer/BindMethods.html | 148 + .../sqlobject/customizer/BindMethodsList.html | 182 + .../v3/sqlobject/customizer/BindPojo.html | 149 + .../jdbi/v3/sqlobject/customizer/Define.html | 151 + .../v3/sqlobject/customizer/DefineList.html | 184 + .../customizer/DefineNamedBindings.html | 108 + .../v3/sqlobject/customizer/Definition.html | 206 + .../v3/sqlobject/customizer/Definitions.html | 137 + .../v3/sqlobject/customizer/FetchSize.html | 149 + .../jdbi/v3/sqlobject/customizer/MaxRows.html | 151 + .../v3/sqlobject/customizer/OutParameter.html | 161 + .../customizer/OutParameterList.html | 136 + .../v3/sqlobject/customizer/QueryTimeOut.html | 141 + .../customizer/SqlStatementCustomizer.html | 179 + .../SqlStatementCustomizerFactory.html | 217 + .../SqlStatementCustomizingAnnotation.html | 147 + .../SqlStatementParameterCustomizer.html | 176 + .../v3/sqlobject/customizer/Timestamped.html | 174 + .../customizer/TimestampedConfig.html | 234 + .../class-use/AllowUnusedBindings.html | 57 + .../sqlobject/customizer/class-use/Bind.html | 57 + .../customizer/class-use/BindBean.html | 57 + .../customizer/class-use/BindBeanList.html | 57 + .../customizer/class-use/BindFields.html | 57 + .../class-use/BindList.EmptyHandling.html | 94 + .../customizer/class-use/BindList.html | 57 + .../customizer/class-use/BindMap.html | 57 + .../customizer/class-use/BindMethods.html | 57 + .../customizer/class-use/BindMethodsList.html | 57 + .../customizer/class-use/BindPojo.html | 57 + .../customizer/class-use/Define.html | 57 + .../customizer/class-use/DefineList.html | 57 + .../class-use/DefineNamedBindings.html | 57 + .../customizer/class-use/Definition.html | 57 + .../customizer/class-use/Definitions.html | 57 + .../customizer/class-use/FetchSize.html | 57 + .../customizer/class-use/MaxRows.html | 57 + .../customizer/class-use/OutParameter.html | 57 + .../class-use/OutParameterList.html | 57 + .../customizer/class-use/QueryTimeOut.html | 57 + .../class-use/SqlStatementCustomizer.html | 96 + .../SqlStatementCustomizerFactory.html | 57 + .../SqlStatementCustomizingAnnotation.html | 224 + .../SqlStatementParameterCustomizer.html | 128 + .../customizer/class-use/Timestamped.html | 57 + .../class-use/TimestampedConfig.html | 86 + .../sqlobject/customizer/package-summary.html | 251 + .../v3/sqlobject/customizer/package-tree.html | 120 + .../v3/sqlobject/customizer/package-use.html | 145 + .../locator/AnnotationSqlLocator.html | 202 + .../jdbi/v3/sqlobject/locator/SqlLocator.html | 167 + .../locator/SqlObjectClasspathSqlLocator.html | 232 + .../locator/UseAnnotationSqlLocator.html | 99 + .../locator/UseClasspathSqlLocator.html | 155 + .../class-use/AnnotationSqlLocator.html | 57 + .../locator/class-use/SqlLocator.html | 125 + .../SqlObjectClasspathSqlLocator.html | 57 + .../class-use/UseAnnotationSqlLocator.html | 57 + .../class-use/UseClasspathSqlLocator.html | 57 + .../v3/sqlobject/locator/package-summary.html | 159 + .../v3/sqlobject/locator/package-tree.html | 85 + .../v3/sqlobject/locator/package-use.html | 103 + .../jdbi/v3/sqlobject/package-summary.html | 375 + .../org/jdbi/v3/sqlobject/package-tree.html | 128 + .../org/jdbi/v3/sqlobject/package-use.html | 134 + .../sqlobject/statement/BatchChunkSize.html | 154 + .../BindParameterCustomizerFactory.html | 211 + .../sqlobject/statement/GetGeneratedKeys.html | 147 + .../jdbi/v3/sqlobject/statement/MapTo.html | 103 + .../statement/ParameterCustomizerFactory.html | 169 + .../jdbi/v3/sqlobject/statement/SqlBatch.html | 182 + .../jdbi/v3/sqlobject/statement/SqlCall.html | 141 + .../jdbi/v3/sqlobject/statement/SqlQuery.html | 150 + .../v3/sqlobject/statement/SqlScript.html | 149 + .../v3/sqlobject/statement/SqlScripts.html | 137 + .../v3/sqlobject/statement/SqlUpdate.html | 150 + .../v3/sqlobject/statement/UseRowMapper.html | 145 + .../v3/sqlobject/statement/UseRowReducer.html | 145 + .../statement/class-use/BatchChunkSize.html | 57 + .../BindParameterCustomizerFactory.html | 57 + .../statement/class-use/GetGeneratedKeys.html | 57 + .../sqlobject/statement/class-use/MapTo.html | 57 + .../class-use/ParameterCustomizerFactory.html | 122 + .../statement/class-use/SqlBatch.html | 57 + .../statement/class-use/SqlCall.html | 57 + .../statement/class-use/SqlQuery.html | 57 + .../statement/class-use/SqlScript.html | 57 + .../statement/class-use/SqlScripts.html | 57 + .../statement/class-use/SqlUpdate.html | 57 + .../statement/class-use/UseRowMapper.html | 57 + .../statement/class-use/UseRowReducer.html | 57 + .../sqlobject/statement/package-summary.html | 188 + .../v3/sqlobject/statement/package-tree.html | 93 + .../v3/sqlobject/statement/package-use.html | 99 + .../v3/sqlobject/transaction/Transaction.html | 176 + .../sqlobject/transaction/Transactional.html | 379 + .../transaction/TransactionalCallback.html | 161 + .../transaction/TransactionalConsumer.html | 169 + .../transaction/class-use/Transaction.html | 57 + .../transaction/class-use/Transactional.html | 98 + .../class-use/TransactionalCallback.html | 105 + .../class-use/TransactionalConsumer.html | 94 + .../transaction/package-summary.html | 156 + .../sqlobject/transaction/package-tree.html | 79 + .../v3/sqlobject/transaction/package-use.html | 93 + .../stringtemplate4/StringTemplateEngine.html | 224 + .../StringTemplateSqlLocator.html | 281 + .../v3/stringtemplate4/StringTemplates.html | 233 + .../UseStringTemplateEngine.html | 101 + .../UseStringTemplateSqlLocator.html | 113 + .../class-use/StringTemplateEngine.html | 57 + .../class-use/StringTemplateSqlLocator.html | 57 + .../class-use/StringTemplates.html | 93 + .../class-use/UseStringTemplateEngine.html | 57 + .../UseStringTemplateSqlLocator.html | 57 + .../v3/stringtemplate4/package-summary.html | 122 + .../jdbi/v3/stringtemplate4/package-tree.html | 80 + .../jdbi/v3/stringtemplate4/package-use.html | 87 + .../apidocs/org/jdbi/v3/testing/JdbiRule.html | 431 + .../org/jdbi/v3/testing/Migration.html | 281 + .../jdbi/v3/testing/class-use/JdbiRule.html | 139 + .../jdbi/v3/testing/class-use/Migration.html | 132 + .../jdbi/v3/testing/junit5/JdbiExtension.html | 663 + .../junit5/JdbiExtensionInitializer.html | 190 + .../junit5/JdbiExternalPostgresExtension.html | 169 + .../testing/junit5/JdbiFlywayMigration.html | 364 + .../testing/junit5/JdbiGenericExtension.html | 249 + .../v3/testing/junit5/JdbiH2Extension.html | 289 + .../junit5/JdbiOtjPostgresExtension.html | 239 + .../testing/junit5/JdbiPostgresExtension.html | 312 + .../testing/junit5/JdbiSqliteExtension.html | 228 + .../junit5/class-use/JdbiExtension.html | 191 + .../class-use/JdbiExtensionInitializer.html | 97 + .../JdbiExternalPostgresExtension.html | 57 + .../junit5/class-use/JdbiFlywayMigration.html | 123 + .../class-use/JdbiGenericExtension.html | 92 + .../junit5/class-use/JdbiH2Extension.html | 92 + .../class-use/JdbiOtjPostgresExtension.html | 89 + .../class-use/JdbiPostgresExtension.html | 57 + .../junit5/class-use/JdbiSqliteExtension.html | 57 + .../v3/testing/junit5/package-summary.html | 155 + .../jdbi/v3/testing/junit5/package-tree.html | 87 + .../jdbi/v3/testing/junit5/package-use.html | 120 + .../tc/JdbiTestcontainersExtension.html | 242 + .../tc/TestcontainersDatabaseInformation.html | 303 + .../JdbiTestcontainersExtension.html | 97 + .../TestcontainersDatabaseInformation.html | 112 + .../v3/testing/junit5/tc/package-summary.html | 116 + .../v3/testing/junit5/tc/package-tree.html | 76 + .../v3/testing/junit5/tc/package-use.html | 87 + .../org/jdbi/v3/testing/package-summary.html | 123 + .../org/jdbi/v3/testing/package-tree.html | 76 + .../org/jdbi/v3/testing/package-use.html | 87 + .../org/jdbi/v3/vavr/TupleMappers.html | 342 + .../org/jdbi/v3/vavr/VavrCollectors.html | 161 + .../apidocs/org/jdbi/v3/vavr/VavrPlugin.html | 216 + .../jdbi/v3/vavr/class-use/TupleMappers.html | 97 + .../v3/vavr/class-use/VavrCollectors.html | 57 + .../jdbi/v3/vavr/class-use/VavrPlugin.html | 57 + .../org/jdbi/v3/vavr/package-summary.html | 119 + .../org/jdbi/v3/vavr/package-tree.html | 77 + .../apidocs/org/jdbi/v3/vavr/package-use.html | 85 + releases/3.45.2/apidocs/overview-summary.html | 25 + releases/3.45.2/apidocs/overview-tree.html | 688 + .../3.45.2/apidocs/package-search-index.js | 1 + .../3.45.2/apidocs/resource-files/copy.svg | 33 + .../3.45.2/apidocs/resource-files/glass.png | Bin 0 -> 499 bytes .../apidocs/resource-files/jquery-ui.min.css | 6 + .../3.45.2/apidocs/resource-files/link.svg | 31 + .../apidocs/resource-files/stylesheet.css | 1275 ++ releases/3.45.2/apidocs/resource-files/x.png | Bin 0 -> 394 bytes .../apidocs/script-files/jquery-3.6.1.min.js | 2 + .../apidocs/script-files/jquery-ui.min.js | 6 + .../3.45.2/apidocs/script-files/script.js | 236 + .../apidocs/script-files/search-page.js | 284 + .../3.45.2/apidocs/script-files/search.js | 485 + releases/3.45.2/apidocs/search.html | 71 + releases/3.45.2/apidocs/serialized-form.html | 333 + releases/3.45.2/apidocs/tag-search-index.js | 1 + releases/3.45.2/apidocs/type-search-index.js | 1 + releases/3.45.2/favicon.ico | Bin 0 -> 318 bytes ...a-md5-8d4ed3f9494355bc0fcef8c74be183e3.png | Bin 0 -> 43406 bytes releases/3.45.2/images/favicon.png | Bin 0 -> 182 bytes releases/3.45.2/images/logo.svg | 75 + releases/3.45.2/images/logo_square.svg | 75 + releases/3.45.2/images/spotify_logo.svg | 4 + releases/3.45.2/images/tidelift_logo.png | Bin 0 -> 1377 bytes releases/3.45.2/index.html | 16144 ++++++++++++++++ 1164 files changed, 206392 insertions(+) create mode 100644 releases/3.45.2/.asciidoctor/diagram/diag-ditaa-md5-8d4ed3f9494355bc0fcef8c74be183e3.png.cache create mode 100644 releases/3.45.2/CNAME create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/anchor-copy-button.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/arrow_down.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/burger.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/copy-icon.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/copy-successful-icon.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/footer-go-to-link.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/go-to-top-icon.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/logo-icon.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/abstract-class-kotlin.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/abstract-class.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/annotation-kotlin.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/annotation.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/class-kotlin.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/class.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/enum-kotlin.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/enum.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/exception-class.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/field-value.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/field-variable.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/function.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/interface-kotlin.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/interface.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/object.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/typealias-kotlin.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/theme-toggle.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-bind-kotlin/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-bind-kotlin/value.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/-kotlin-default-method-handler-factory.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/accepts.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/create-extension-handler.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/-kotlin-sql-object-plugin.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/customize-jdbi.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/-kotlin-sql-statement-customizer-factory.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/create-for-parameter.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/-method-key.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/name.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/param-types.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/return-type.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/-register-kotlin-mapper-impl.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/configure.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/prefix.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/value.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/-register-kotlin-mappers-impl.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/configure.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers/value.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/attach.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/on-demand.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/package-list create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/navigation.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/clipboard.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/main.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/navigation-loader.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/pages.json create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/platform-content-handler.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/prism.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/sourceset_dependencies.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/symbol-parameters-wrapper_deferred.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/styles/font-jb-sans-auto.css create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/styles/logo-styles.css create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/styles/main.css create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/styles/prism.css create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/styles/style.css create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/anchor-copy-button.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/arrow_down.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/burger.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/copy-icon.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/copy-successful-icon.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/footer-go-to-link.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/go-to-top-icon.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/logo-icon.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/abstract-class-kotlin.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/abstract-class.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/annotation-kotlin.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/annotation.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/class-kotlin.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/class.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/enum-kotlin.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/enum.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/exception-class.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/field-value.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/field-variable.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/function.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/interface-kotlin.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/interface.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/object.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/nav-icons/typealias-kotlin.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/images/theme-toggle.svg create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/-kotlin-mapper-factory.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/build.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/-kotlin-mapper.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/k-class.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/map.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/specialize.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/to-string.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/-kotlin-plugin.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/customize-jdbi.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/bind-kotlin.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/configure.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/get-config.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/get-qualifiers.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/in-coroutine-context.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/in-transaction-unchecked.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/index.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/is-kotlin-class.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/map-to.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-extension-unchecked.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-extension.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-handle-unchecked.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-sequence.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-transaction-unchecked.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-extension-unchecked.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-extension.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-handle-unchecked.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/package-list create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/navigation.html create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/clipboard.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/main.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/navigation-loader.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/pages.json create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/platform-content-handler.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/prism.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/sourceset_dependencies.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/symbol-parameters-wrapper_deferred.js create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/styles/font-jb-sans-auto.css create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/styles/logo-styles.css create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/styles/main.css create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/styles/prism.css create mode 100644 releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/styles/style.css create mode 100644 releases/3.45.2/apidocs/allclasses-index.html create mode 100644 releases/3.45.2/apidocs/allpackages-index.html create mode 100644 releases/3.45.2/apidocs/constant-values.html create mode 100644 releases/3.45.2/apidocs/deprecated-list.html create mode 100644 releases/3.45.2/apidocs/element-list create mode 100644 releases/3.45.2/apidocs/index-all.html create mode 100644 releases/3.45.2/apidocs/index.html create mode 100644 releases/3.45.2/apidocs/legal/COPYRIGHT create mode 100644 releases/3.45.2/apidocs/legal/LICENSE create mode 100644 releases/3.45.2/apidocs/legal/jquery.md create mode 100644 releases/3.45.2/apidocs/legal/jqueryUI.md create mode 100644 releases/3.45.2/apidocs/member-search-index.js create mode 100644 releases/3.45.2/apidocs/module-search-index.js create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineCache.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineCacheBuilder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineCachePlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineLoadingCache.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineCache.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineCacheBuilder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineCachePlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineLoadingCache.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/NoopCache.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/NoopCacheBuilder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/NoopCachePlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/class-use/NoopCache.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/class-use/NoopCacheBuilder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/class-use/NoopCachePlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/commonstext/StringSubstitutorTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/commonstext/UseStringSubstitutorTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/commonstext/class-use/StringSubstitutorTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/commonstext/class-use/UseStringSubstitutorTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/commonstext/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/commonstext/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/commonstext/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/CloseException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/ConnectionException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/ConnectionFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/Handle.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/HandleCallback.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/HandleCallbackDecorator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/HandleConsumer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/HandleListener.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/HandleScope.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/Handles.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/Jdbi.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/JdbiException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/Sql.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/JdbiProperty.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/class-use/JdbiProperty.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/AbstractArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/Argument.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ArgumentFactory.Preparable.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/Arguments.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/BeanPropertyArguments.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/BuiltInArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/CharSequenceArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/CharacterStreamArgument.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/DirectArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/InputStreamArgument.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/JavaTimeZoneIdArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/MapArguments.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/NamedArgumentFinder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/NullArgument.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectArgument.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectFieldArguments.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectMethodArguments.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/QualifiedArgumentFactory.Preparable.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/QualifiedArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/SetObjectArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/AbstractArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/Argument.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ArgumentFactory.Preparable.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/Arguments.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/BeanPropertyArguments.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/BuiltInArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/CharSequenceArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/CharacterStreamArgument.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/DirectArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/InputStreamArgument.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/JavaTimeZoneIdArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/MapArguments.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/NamedArgumentFinder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/NullArgument.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectArgument.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectFieldArguments.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectMethodArguments.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/QualifiedArgumentFactory.Preparable.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/QualifiedArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/SetObjectArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/argument/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayArgumentStrategy.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayType.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayTypeFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayTypes.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayArgumentStrategy.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayType.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayTypeFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayTypes.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/array/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/async/AbstractJdbiExecutor.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/async/JdbiExecutor.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/async/class-use/AbstractJdbiExecutor.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/async/class-use/JdbiExecutor.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/async/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/async/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/async/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCache.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCacheBuilder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCacheLoader.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCacheStats.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCache.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCacheBuilder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCacheLoader.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCacheStats.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/cache/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/cache/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/cache/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/CloseException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/ConnectionException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/ConnectionFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Handle.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleCallback.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleCallbackDecorator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleConsumer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleListener.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleScope.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Handles.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Jdbi.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/JdbiException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Sql.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/codec/Codec.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/codec/CodecFactory.Builder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/codec/CodecFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/codec/class-use/Codec.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/codec/class-use/CodecFactory.Builder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/codec/class-use/CodecFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/codec/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/codec/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/codec/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/BuiltInCollectorFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/CollectorFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/ElementTypeNotFoundException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/JdbiCollectors.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/MapCollectors.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/NoSuchCollectorException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/OptionalCollectors.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/BuiltInCollectorFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/CollectorFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/ElementTypeNotFoundException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/JdbiCollectors.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/MapCollectors.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/NoSuchCollectorException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/OptionalCollectors.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/collector/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/config/ConfigCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/config/ConfigRegistry.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/config/Configurable.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/config/ConfiguringPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/config/JdbiConfig.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/ConfigCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/ConfigRegistry.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/Configurable.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/ConfiguringPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/JdbiConfig.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/config/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/config/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/config/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/enums/DatabaseValue.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/enums/EnumByName.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/enums/EnumByOrdinal.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/enums/EnumStrategy.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/enums/Enums.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/DatabaseValue.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/EnumByName.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/EnumByOrdinal.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/EnumStrategy.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/Enums.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/enums/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/enums/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/enums/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ConfigCustomizerFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionCallback.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionConfigurer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionConsumer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionContext.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionFactory.FactoryFlag.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionHandlerCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionHandlerFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMetadata.Builder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMetadata.ExtensionHandlerInvoker.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMetadata.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMethod.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/Extensions.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/HandleSupplier.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/NoSuchExtensionException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/SimpleExtensionConfigurer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/UnableToCreateExtensionException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/ExtensionHandlerCustomizationOrder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/UseExtensionConfigurer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/UseExtensionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/UseExtensionHandlerCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/ExtensionHandlerCustomizationOrder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/UseExtensionConfigurer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/UseExtensionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/UseExtensionHandlerCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ConfigCustomizerFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionCallback.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionConfigurer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionConsumer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionContext.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionFactory.FactoryFlag.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionHandlerCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionHandlerFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMetadata.Builder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMetadata.ExtensionHandlerInvoker.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMetadata.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMethod.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/Extensions.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/HandleSupplier.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/NoSuchExtensionException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/SimpleExtensionConfigurer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/UnableToCreateExtensionException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/extension/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/generic/GenericType.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/generic/GenericTypes.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/generic/class-use/GenericType.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/generic/class-use/GenericTypes.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/generic/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/generic/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/generic/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/h2/H2DatabasePlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/h2/class-use/H2DatabasePlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/h2/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/h2/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/h2/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/JdbiInterceptionChain.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/JdbiInterceptionChainHolder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/JdbiInterceptor.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/class-use/JdbiInterceptionChain.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/class-use/JdbiInterceptionChainHolder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/class-use/JdbiInterceptor.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/locator/ClasspathSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/locator/class-use/ClasspathSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/locator/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/locator/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/locator/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/BuiltInMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/CaseStrategy.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/ColumnMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/ColumnMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/ColumnMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/EnumByNameMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/EnumByOrdinalMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/EnumMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/GenericMapMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/GetObjectColumnMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/JoinRow.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/JoinRowMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapEntryConfig.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapEntryMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapEntryMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/Mappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MappingException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/Nested.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/NoSuchMapperException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/PropagateNull.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/QualifiedColumnMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowViewMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/SingleColumnMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/BuiltInMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/CaseStrategy.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/ColumnMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/ColumnMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/ColumnMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/EnumByNameMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/EnumByOrdinalMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/EnumMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/GenericMapMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/GetObjectColumnMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/JoinRow.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/JoinRowMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapEntryConfig.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapEntryMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapEntryMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/Mappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MappingException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/Nested.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/NoSuchMapperException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/PropagateNull.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/QualifiedColumnMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowViewMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/SingleColumnMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/JdbiFreeBuilders.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/class-use/JdbiFreeBuilders.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/JdbiImmutables.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/class-use/JdbiImmutables.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/AbstractSeparatorCharColumnNameMatcher.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/AccessibleObjectStrategy.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/BeanMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/CaseInsensitiveColumnNameMatcher.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ColumnName.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ColumnNameMatcher.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ConstructorMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/FieldMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/JdbiConstructor.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/JdbiConstructors.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ReflectionMapperUtil.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ReflectionMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/SnakeCaseColumnNameMatcher.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/AbstractSeparatorCharColumnNameMatcher.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/AccessibleObjectStrategy.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/BeanMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/CaseInsensitiveColumnNameMatcher.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ColumnName.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ColumnNameMatcher.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ConstructorMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/FieldMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/JdbiConstructor.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/JdbiConstructors.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ReflectionMapperUtil.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ReflectionMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/SnakeCaseColumnNameMatcher.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/NVarchar.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/QualifiedType.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/Qualifier.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/Qualifiers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/NVarchar.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/QualifiedType.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/Qualifier.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/Qualifiers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/BatchResultBearing.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/BatchResultIterable.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/IteratorCallback.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/IteratorConsumer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/LinkedHashMapRowReducer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/NoResultsException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultBearing.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultIterable.ResultIteratorDelegate.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultIterable.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultIterator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultProducer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultProducers.ResultSetCreator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultProducers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultSetAccumulator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultSetException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultSetScanner.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/RowReducer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/RowView.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/StreamCallback.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/StreamConsumer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/UnableToProduceResultException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/BatchResultBearing.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/BatchResultIterable.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/IteratorCallback.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/IteratorConsumer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/LinkedHashMapRowReducer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/NoResultsException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultBearing.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultIterable.ResultIteratorDelegate.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultIterable.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultIterator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultProducer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultProducers.ResultSetCreator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultProducers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultSetAccumulator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultSetException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultSetScanner.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/RowReducer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/RowView.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/StreamCallback.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/StreamConsumer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/UnableToProduceResultException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/result/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/spi/JdbiPlugin.Singleton.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/spi/JdbiPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/spi/class-use/JdbiPlugin.Singleton.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/spi/class-use/JdbiPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/spi/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/spi/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/spi/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Batch.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Binding.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/CachingSqlParser.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Call.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/CallableStatementMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Cleanable.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ColonPrefixSqlParser.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/DefaultStatementBuilder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/DefinedAttributeTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/EmptyHandling.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/HashPrefixSqlParser.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MessageFormatTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MetaData.MetaDataResultSetProvider.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MetaData.MetaDataValueProvider.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MetaData.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/NoTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/OutParameters.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ParsedParameters.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ParsedSql.Builder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ParsedSql.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/PreparedBatch.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Query.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Script.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Slf4JSqlLogger.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlLogger.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlParser.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlStatement.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlStatements.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementBuilder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementBuilderFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementContext.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementContextListener.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementCustomizers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementExceptions.MessageRendering.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementExceptions.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/TemplateEngine.Parsing.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/TemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/TimingCollector.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/UnableToCreateStatementException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/UnableToExecuteStatementException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/UnableToRetrieveMetaDataException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Update.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Batch.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Binding.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/CachingSqlParser.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Call.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/CallableStatementMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Cleanable.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ColonPrefixSqlParser.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/DefaultStatementBuilder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/DefinedAttributeTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/EmptyHandling.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/HashPrefixSqlParser.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MessageFormatTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MetaData.MetaDataResultSetProvider.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MetaData.MetaDataValueProvider.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MetaData.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/NoTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/OutParameters.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ParsedParameters.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ParsedSql.Builder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ParsedSql.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/PreparedBatch.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Query.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Script.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Slf4JSqlLogger.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlLogger.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlParser.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlStatement.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlStatements.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementBuilder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementBuilderFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementContext.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementContextListener.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementCustomizers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementExceptions.MessageRendering.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementExceptions.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/TemplateEngine.Parsing.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/TemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/TimingCollector.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/UnableToCreateStatementException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/UnableToExecuteStatementException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/UnableToRetrieveMetaDataException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Update.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/statement/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/CMTTransactionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/DelegatingTransactionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/LocalTransactionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/RollbackOnlyTransactionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/SerializableTransactionRunner.Configuration.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/SerializableTransactionRunner.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/TransactionException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/TransactionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/TransactionIsolationLevel.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/UnableToManipulateTransactionIsolationLevelException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/UnableToRestoreAutoCommitStateException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/CMTTransactionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/DelegatingTransactionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/LocalTransactionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/RollbackOnlyTransactionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/SerializableTransactionRunner.Configuration.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/SerializableTransactionRunner.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/TransactionException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/TransactionHandler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/TransactionIsolationLevel.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/UnableToManipulateTransactionIsolationLevelException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/UnableToRestoreAutoCommitStateException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/freemarker/FreemarkerConfig.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/freemarker/FreemarkerEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/freemarker/FreemarkerSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/freemarker/UseFreemarkerEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/freemarker/UseFreemarkerSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/FreemarkerConfig.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/FreemarkerEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/FreemarkerSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/UseFreemarkerEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/UseFreemarkerSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/freemarker/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/freemarker/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/freemarker/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/generator/GenerateSqlObjectProcessor.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/generator/class-use/GenerateSqlObjectProcessor.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/generator/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/generator/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/generator/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/gson2/Gson2Config.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/gson2/Gson2Plugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/gson2/class-use/Gson2Config.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/gson2/class-use/Gson2Plugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/gson2/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/gson2/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/gson2/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/GuavaArguments.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/GuavaCollectors.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/GuavaPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/class-use/GuavaArguments.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/class-use/GuavaCollectors.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/class-use/GuavaPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/TypeResolvingCodecFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/class-use/TypeResolvingCodecFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guava/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guice/AbstractJdbiConfigurationModule.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guice/AbstractJdbiDefinitionModule.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guice/GuiceJdbiCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guice/JdbiBinder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/AbstractJdbiConfigurationModule.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/AbstractJdbiDefinitionModule.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/GuiceJdbiCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/JdbiBinder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guice/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guice/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/guice/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jackson2/Jackson2Config.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jackson2/Jackson2Plugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jackson2/class-use/Jackson2Config.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jackson2/class-use/Jackson2Plugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jackson2/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jackson2/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jackson2/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/DateTimeArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/DateTimeMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/JodaTimePlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/class-use/DateTimeArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/class-use/DateTimeMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/class-use/JodaTimePlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jpa/BindJpa.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jpa/EntityMemberAccessException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jpa/JpaMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jpa/JpaMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jpa/JpaPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/BindJpa.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/EntityMemberAccessException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/JpaMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/JpaMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/JpaPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jpa/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jpa/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/jpa/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/EncodedJson.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/Json.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/JsonConfig.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/JsonMapper.TypedJsonMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/JsonMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/JsonPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/EncodedJson.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/Json.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonConfig.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonMapper.TypedJsonMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/json/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/meta/Alpha.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/meta/Beta.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/meta/class-use/Alpha.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/meta/class-use/Beta.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/meta/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/meta/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/meta/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/moshi/MoshiConfig.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/moshi/MoshiPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/moshi/class-use/MoshiConfig.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/moshi/class-use/MoshiPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/moshi/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/moshi/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/moshi/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgis/PostgisPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgis/class-use/PostgisPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgis/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgis/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgis/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/DurationArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/DurationColumnMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/HStore.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/HStoreArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/HStoreColumnMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/InetArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/JavaTimeArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/JavaTimeMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/LargeObjectException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/MacAddr.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/PeriodArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/PeriodColumnMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/PgLobApi.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/PostgresPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/PostgresTypes.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/TypedEnumArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/UUIDArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/DurationArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/DurationColumnMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/HStore.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/HStoreArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/HStoreColumnMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/InetArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/JavaTimeArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/JavaTimeMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/LargeObjectException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/MacAddr.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PeriodArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PeriodColumnMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PgLobApi.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PostgresPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PostgresTypes.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/TypedEnumArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/UUIDArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/postgres/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/EnableJdbiRepositories.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiFactoryBean.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiRepository.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiRepositoryFactoryBean.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiRepositoryRegistrar.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiUtil.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/SpringConnectionFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/EnableJdbiRepositories.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiFactoryBean.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiRepository.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiRepositoryFactoryBean.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiRepositoryRegistrar.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiUtil.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/SpringConnectionFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/spring5/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/SQLitePlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/class-use/SQLitePlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/CreateSqlObject.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/DecoratorOrder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/GenerateSqlObject.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/Handler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/HandlerDecorator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/HandlerDecorators.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/HandlerFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/Handlers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SingleValue.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlMethodDecoratingAnnotation.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObject.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObjectFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObjectPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObjects.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlOperation.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/UnableToCreateSqlObjectException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/CreateSqlObject.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/DecoratorOrder.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/GenerateSqlObject.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/Handler.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/HandlerDecorator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/HandlerDecorators.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/HandlerFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/Handlers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SingleValue.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlMethodDecoratingAnnotation.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObject.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObjectFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObjectPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObjects.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlOperation.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/UnableToCreateSqlObjectException.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/Configurer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/ConfiguringAnnotation.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/KeyColumn.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterArgumentFactories.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterBeanMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterBeanMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterCollector.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterCollectorFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMapperFactories.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterConstructorMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterConstructorMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterFieldMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterFieldMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterJoinRowMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterObjectArgumentFactories.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterObjectArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMapperFactories.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/UseEnumStrategy.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/UseSqlParser.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/UseTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/ValueColumn.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/Configurer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/ConfiguringAnnotation.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/KeyColumn.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterArgumentFactories.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterBeanMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterBeanMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterCollector.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterCollectorFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMapperFactories.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterConstructorMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterConstructorMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterFieldMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterFieldMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterJoinRowMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterObjectArgumentFactories.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterObjectArgumentFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMapperFactories.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMapperFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/UseEnumStrategy.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/UseSqlParser.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/UseTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/ValueColumn.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/AllowUnusedBindings.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Bind.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindBean.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindBeanList.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindFields.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindList.EmptyHandling.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindList.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindMap.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindMethods.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindMethodsList.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindPojo.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Define.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/DefineList.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/DefineNamedBindings.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Definition.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Definitions.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/FetchSize.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/MaxRows.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/OutParameter.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/OutParameterList.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/QueryTimeOut.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementCustomizerFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementCustomizingAnnotation.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementParameterCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Timestamped.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/TimestampedConfig.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/AllowUnusedBindings.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Bind.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindBean.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindBeanList.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindFields.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindList.EmptyHandling.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindList.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindMap.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindMethods.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindMethodsList.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindPojo.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Define.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/DefineList.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/DefineNamedBindings.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Definition.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Definitions.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/FetchSize.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/MaxRows.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/OutParameter.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/OutParameterList.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/QueryTimeOut.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementCustomizerFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementCustomizingAnnotation.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementParameterCustomizer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Timestamped.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/TimestampedConfig.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/AnnotationSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/SqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/SqlObjectClasspathSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/UseAnnotationSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/UseClasspathSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/AnnotationSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/SqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/SqlObjectClasspathSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/UseAnnotationSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/UseClasspathSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/BatchChunkSize.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/BindParameterCustomizerFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/GetGeneratedKeys.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/MapTo.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/ParameterCustomizerFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlBatch.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlCall.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlQuery.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlScript.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlScripts.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlUpdate.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/UseRowMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/UseRowReducer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/BatchChunkSize.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/BindParameterCustomizerFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/GetGeneratedKeys.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/MapTo.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/ParameterCustomizerFactory.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlBatch.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlCall.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlQuery.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlScript.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlScripts.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlUpdate.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/UseRowMapper.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/UseRowReducer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/Transaction.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/Transactional.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/TransactionalCallback.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/TransactionalConsumer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/Transaction.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/Transactional.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/TransactionalCallback.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/TransactionalConsumer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/StringTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/StringTemplateSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/StringTemplates.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/UseStringTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/UseStringTemplateSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/StringTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/StringTemplateSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/StringTemplates.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/UseStringTemplateEngine.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/UseStringTemplateSqlLocator.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/JdbiRule.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/Migration.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/class-use/JdbiRule.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/class-use/Migration.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiExtensionInitializer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiExternalPostgresExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiFlywayMigration.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiGenericExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiH2Extension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiOtjPostgresExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiPostgresExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiSqliteExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiExtensionInitializer.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiExternalPostgresExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiFlywayMigration.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiGenericExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiH2Extension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiOtjPostgresExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiPostgresExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiSqliteExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/JdbiTestcontainersExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/TestcontainersDatabaseInformation.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/class-use/JdbiTestcontainersExtension.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/class-use/TestcontainersDatabaseInformation.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/testing/package-use.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/vavr/TupleMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/vavr/VavrCollectors.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/vavr/VavrPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/vavr/class-use/TupleMappers.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/vavr/class-use/VavrCollectors.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/vavr/class-use/VavrPlugin.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/vavr/package-summary.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/vavr/package-tree.html create mode 100644 releases/3.45.2/apidocs/org/jdbi/v3/vavr/package-use.html create mode 100644 releases/3.45.2/apidocs/overview-summary.html create mode 100644 releases/3.45.2/apidocs/overview-tree.html create mode 100644 releases/3.45.2/apidocs/package-search-index.js create mode 100644 releases/3.45.2/apidocs/resource-files/copy.svg create mode 100644 releases/3.45.2/apidocs/resource-files/glass.png create mode 100644 releases/3.45.2/apidocs/resource-files/jquery-ui.min.css create mode 100644 releases/3.45.2/apidocs/resource-files/link.svg create mode 100644 releases/3.45.2/apidocs/resource-files/stylesheet.css create mode 100644 releases/3.45.2/apidocs/resource-files/x.png create mode 100644 releases/3.45.2/apidocs/script-files/jquery-3.6.1.min.js create mode 100644 releases/3.45.2/apidocs/script-files/jquery-ui.min.js create mode 100644 releases/3.45.2/apidocs/script-files/script.js create mode 100644 releases/3.45.2/apidocs/script-files/search-page.js create mode 100644 releases/3.45.2/apidocs/script-files/search.js create mode 100644 releases/3.45.2/apidocs/search.html create mode 100644 releases/3.45.2/apidocs/serialized-form.html create mode 100644 releases/3.45.2/apidocs/tag-search-index.js create mode 100644 releases/3.45.2/apidocs/type-search-index.js create mode 100644 releases/3.45.2/favicon.ico create mode 100644 releases/3.45.2/images/diag-ditaa-md5-8d4ed3f9494355bc0fcef8c74be183e3.png create mode 100644 releases/3.45.2/images/favicon.png create mode 100644 releases/3.45.2/images/logo.svg create mode 100644 releases/3.45.2/images/logo_square.svg create mode 100644 releases/3.45.2/images/spotify_logo.svg create mode 100644 releases/3.45.2/images/tidelift_logo.png create mode 100644 releases/3.45.2/index.html diff --git a/releases/3.45.2/.asciidoctor/diagram/diag-ditaa-md5-8d4ed3f9494355bc0fcef8c74be183e3.png.cache b/releases/3.45.2/.asciidoctor/diagram/diag-ditaa-md5-8d4ed3f9494355bc0fcef8c74be183e3.png.cache new file mode 100644 index 00000000000..43d5b841592 --- /dev/null +++ b/releases/3.45.2/.asciidoctor/diagram/diag-ditaa-md5-8d4ed3f9494355bc0fcef8c74be183e3.png.cache @@ -0,0 +1 @@ +{"checksum":"ditaa-md5-8d4ed3f9494355bc0fcef8c74be183e3","options":{"scale":null,"tabs":null,"background":null,"antialias":null,"separation":null,"round_corners":"true","shadows":null,"debug":null,"fixed_slope":null,"transparent":"false","bullet_characters":null},"width":1330,"height":518} \ No newline at end of file diff --git a/releases/3.45.2/CNAME b/releases/3.45.2/CNAME new file mode 100644 index 00000000000..a163d7655ce --- /dev/null +++ b/releases/3.45.2/CNAME @@ -0,0 +1 @@ +jdbi.org diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/anchor-copy-button.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/anchor-copy-button.svg new file mode 100644 index 00000000000..bab9d747ff4 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/anchor-copy-button.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/arrow_down.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/arrow_down.svg new file mode 100644 index 00000000000..c0388dee2ce --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/arrow_down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/burger.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/burger.svg new file mode 100644 index 00000000000..d6dcefccbde --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/burger.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/copy-icon.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/copy-icon.svg new file mode 100644 index 00000000000..61440f0a40a --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/copy-icon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/copy-successful-icon.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/copy-successful-icon.svg new file mode 100644 index 00000000000..1865f739b09 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/copy-successful-icon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/footer-go-to-link.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/footer-go-to-link.svg new file mode 100644 index 00000000000..0137e22313f --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/footer-go-to-link.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/go-to-top-icon.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/go-to-top-icon.svg new file mode 100644 index 00000000000..d987f3eadcf --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/go-to-top-icon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/logo-icon.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/logo-icon.svg new file mode 100644 index 00000000000..1fea08773f3 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/logo-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/abstract-class-kotlin.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/abstract-class-kotlin.svg new file mode 100644 index 00000000000..a2069b8fb74 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/abstract-class-kotlin.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/abstract-class.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/abstract-class.svg new file mode 100644 index 00000000000..601820302f0 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/abstract-class.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/annotation-kotlin.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/annotation-kotlin.svg new file mode 100644 index 00000000000..932f1d3de45 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/annotation-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/annotation.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/annotation.svg new file mode 100644 index 00000000000..b80c54b4b06 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/annotation.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/class-kotlin.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/class-kotlin.svg new file mode 100644 index 00000000000..46a21f65a09 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/class-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/class.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/class.svg new file mode 100644 index 00000000000..3f1ad167e79 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/enum-kotlin.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/enum-kotlin.svg new file mode 100644 index 00000000000..4a85459683d --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/enum-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/enum.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/enum.svg new file mode 100644 index 00000000000..fa7f24766d1 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/enum.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/exception-class.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/exception-class.svg new file mode 100644 index 00000000000..c0b2bdeba71 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/exception-class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/field-value.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/field-value.svg new file mode 100644 index 00000000000..20449c9475d --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/field-value.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/field-variable.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/field-variable.svg new file mode 100644 index 00000000000..3b0745007fc --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/field-variable.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/function.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/function.svg new file mode 100644 index 00000000000..f0da64a0b7d --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/function.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/interface-kotlin.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/interface-kotlin.svg new file mode 100644 index 00000000000..bf07a1488eb --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/interface-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/interface.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/interface.svg new file mode 100644 index 00000000000..32063ba263a --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/interface.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/object.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/object.svg new file mode 100644 index 00000000000..9f427de413c --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/object.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/typealias-kotlin.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/typealias-kotlin.svg new file mode 100644 index 00000000000..4795069b265 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/nav-icons/typealias-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/theme-toggle.svg b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/theme-toggle.svg new file mode 100644 index 00000000000..dad3ff2a2c5 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/images/theme-toggle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/index.html new file mode 100644 index 00000000000..cfac90e09b4 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/index.html @@ -0,0 +1,99 @@ + + + + + jdbi3-kotlin-sqlobject + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

jdbi3-kotlin-sqlobject

+
+

Packages

+
+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-bind-kotlin/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-bind-kotlin/index.html new file mode 100644 index 00000000000..ff89084fe0f --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-bind-kotlin/index.html @@ -0,0 +1,104 @@ + + + + + BindKotlin + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BindKotlin

+
@Beta
annotation class BindKotlin(val value: String = "")
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Prefix to apply to each property. If specified, properties will be bound as prefix.propertyName.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-bind-kotlin/value.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-bind-kotlin/value.html new file mode 100644 index 00000000000..aa1df847e0b --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-bind-kotlin/value.html @@ -0,0 +1,80 @@ + + + + + value + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

value

+
+

Prefix to apply to each property. If specified, properties will be bound as prefix.propertyName.

Return

the prefix

+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/-kotlin-default-method-handler-factory.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/-kotlin-default-method-handler-factory.html new file mode 100644 index 00000000000..987eaed560a --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/-kotlin-default-method-handler-factory.html @@ -0,0 +1,80 @@ + + + + + KotlinDefaultMethodHandlerFactory + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

KotlinDefaultMethodHandlerFactory

+
+
constructor()
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/accepts.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/accepts.html new file mode 100644 index 00000000000..71f5490cf28 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/accepts.html @@ -0,0 +1,80 @@ + + + + + accepts + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

accepts

+
+
open override fun accepts(extensionType: Class<*>?, method: Method?): Boolean
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/create-extension-handler.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/create-extension-handler.html new file mode 100644 index 00000000000..e030be78a0b --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/create-extension-handler.html @@ -0,0 +1,80 @@ + + + + + createExtensionHandler + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

createExtensionHandler

+
+
open override fun createExtensionHandler(sqlObjectType: Class<*>, method: Method): Optional<ExtensionHandler>
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/index.html new file mode 100644 index 00000000000..de741b72a2f --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/index.html @@ -0,0 +1,138 @@ + + + + + KotlinDefaultMethodHandlerFactory + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

KotlinDefaultMethodHandlerFactory

+
class KotlinDefaultMethodHandlerFactory : ExtensionHandlerFactory
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun accepts(extensionType: Class<*>?, method: Method?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun createExtensionHandler(sqlObjectType: Class<*>, method: Method): Optional<ExtensionHandler>
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/-kotlin-sql-object-plugin.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/-kotlin-sql-object-plugin.html new file mode 100644 index 00000000000..0c007519eda --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/-kotlin-sql-object-plugin.html @@ -0,0 +1,80 @@ + + + + + KotlinSqlObjectPlugin + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

KotlinSqlObjectPlugin

+
+
constructor()
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/customize-jdbi.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/customize-jdbi.html new file mode 100644 index 00000000000..bae94acfeb7 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/customize-jdbi.html @@ -0,0 +1,80 @@ + + + + + customizeJdbi + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

customizeJdbi

+
+
open override fun customizeJdbi(jdbi: Jdbi)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/index.html new file mode 100644 index 00000000000..3c377f1d8a7 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/index.html @@ -0,0 +1,183 @@ + + + + + KotlinSqlObjectPlugin + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

KotlinSqlObjectPlugin

+
class KotlinSqlObjectPlugin : JdbiPlugin.Singleton
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun customizeHandle(handle: Handle): Handle
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun customizeJdbi(jdbi: Jdbi)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/-kotlin-sql-statement-customizer-factory.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/-kotlin-sql-statement-customizer-factory.html new file mode 100644 index 00000000000..aadfffe4586 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/-kotlin-sql-statement-customizer-factory.html @@ -0,0 +1,80 @@ + + + + + KotlinSqlStatementCustomizerFactory + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

KotlinSqlStatementCustomizerFactory

+
+
constructor()
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/create-for-parameter.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/create-for-parameter.html new file mode 100644 index 00000000000..58207e0970b --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/create-for-parameter.html @@ -0,0 +1,80 @@ + + + + + createForParameter + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

createForParameter

+
+
open override fun createForParameter(sqlObjectType: Class<*>, method: Method, parameter: Parameter, paramIdx: Int, type: Type): SqlStatementParameterCustomizer
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/index.html new file mode 100644 index 00000000000..5b8ae9583da --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/index.html @@ -0,0 +1,123 @@ + + + + + KotlinSqlStatementCustomizerFactory + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

KotlinSqlStatementCustomizerFactory

+
class KotlinSqlStatementCustomizerFactory : ParameterCustomizerFactory
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun createForParameter(sqlObjectType: Class<*>, method: Method, parameter: Parameter, paramIdx: Int, type: Type): SqlStatementParameterCustomizer
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/-method-key.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/-method-key.html new file mode 100644 index 00000000000..ca745e75271 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/-method-key.html @@ -0,0 +1,80 @@ + + + + + MethodKey + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

MethodKey

+
+
constructor(name: String, paramTypes: List<Class<*>>, returnType: Class<*>)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/index.html new file mode 100644 index 00000000000..de75613c36b --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/index.html @@ -0,0 +1,153 @@ + + + + + MethodKey + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

MethodKey

+
data class MethodKey(val name: String, val paramTypes: List<Class<*>>, val returnType: Class<*>)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String, paramTypes: List<Class<*>>, returnType: Class<*>)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/name.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/name.html new file mode 100644 index 00000000000..c25c5cede72 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/name.html @@ -0,0 +1,80 @@ + + + + + name + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/param-types.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/param-types.html new file mode 100644 index 00000000000..c14590921d7 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/param-types.html @@ -0,0 +1,80 @@ + + + + + paramTypes + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

paramTypes

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/return-type.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/return-type.html new file mode 100644 index 00000000000..aa5b92b47a5 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/return-type.html @@ -0,0 +1,80 @@ + + + + + returnType + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

returnType

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/-register-kotlin-mapper-impl.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/-register-kotlin-mapper-impl.html new file mode 100644 index 00000000000..78e42395836 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/-register-kotlin-mapper-impl.html @@ -0,0 +1,80 @@ + + + + + RegisterKotlinMapperImpl + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RegisterKotlinMapperImpl

+
+
constructor(annotation: Annotation)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/configure.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/configure.html new file mode 100644 index 00000000000..3c68fd96cd3 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/configure.html @@ -0,0 +1,80 @@ + + + + + configure + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

configure

+
+
open override fun configure(config: ConfigRegistry, annotation: Annotation, sqlObjectType: Class<*>)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/index.html new file mode 100644 index 00000000000..c8563f6ddb2 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/index.html @@ -0,0 +1,153 @@ + + + + + RegisterKotlinMapperImpl + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RegisterKotlinMapperImpl

+
class RegisterKotlinMapperImpl(annotation: Annotation) : SimpleExtensionConfigurer
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(annotation: Annotation)
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun configure(config: ConfigRegistry, annotation: Annotation, sqlObjectType: Class<*>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
override fun configureForMethod(config: ConfigRegistry, annotation: Annotation, extensionType: Class<*>, method: Method)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
override fun configureForType(config: ConfigRegistry, annotation: Annotation, extensionType: Class<*>)
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/index.html new file mode 100644 index 00000000000..8dee6eed789 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/index.html @@ -0,0 +1,119 @@ + + + + + RegisterKotlinMapper + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RegisterKotlinMapper

+
annotation class RegisterKotlinMapper(val value: KClass<*>, val prefix: String = "")

Registers a KotlinMapper for a specific kotlin class.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Column name prefix for the kotlin type. If omitted, defaults to no prefix.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val value: KClass<*>

The mapped kotlin class.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/prefix.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/prefix.html new file mode 100644 index 00000000000..2c01c91124c --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/prefix.html @@ -0,0 +1,80 @@ + + + + + prefix + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

prefix

+
+

Column name prefix for the kotlin type. If omitted, defaults to no prefix.

Return

Column name prefix for the kotlin type.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/value.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/value.html new file mode 100644 index 00000000000..8a92c315327 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/value.html @@ -0,0 +1,80 @@ + + + + + value + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

value

+
+
val value: KClass<*>

The mapped kotlin class.

Return

the mapped kotlin class.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/-register-kotlin-mappers-impl.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/-register-kotlin-mappers-impl.html new file mode 100644 index 00000000000..90ab1ff6e93 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/-register-kotlin-mappers-impl.html @@ -0,0 +1,80 @@ + + + + + RegisterKotlinMappersImpl + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RegisterKotlinMappersImpl

+
+
constructor(annotation: Annotation)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/configure.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/configure.html new file mode 100644 index 00000000000..6b1ab82af1c --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/configure.html @@ -0,0 +1,80 @@ + + + + + configure + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

configure

+
+
open override fun configure(config: ConfigRegistry, annotation: Annotation, sqlObjectType: Class<*>)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/index.html new file mode 100644 index 00000000000..0c82b281794 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/index.html @@ -0,0 +1,153 @@ + + + + + RegisterKotlinMappersImpl + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RegisterKotlinMappersImpl

+
class RegisterKotlinMappersImpl(annotation: Annotation) : SimpleExtensionConfigurer
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(annotation: Annotation)
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun configure(config: ConfigRegistry, annotation: Annotation, sqlObjectType: Class<*>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
override fun configureForMethod(config: ConfigRegistry, annotation: Annotation, extensionType: Class<*>, method: Method)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
override fun configureForType(config: ConfigRegistry, annotation: Annotation, extensionType: Class<*>)
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers/index.html new file mode 100644 index 00000000000..f37a2f88455 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers/index.html @@ -0,0 +1,104 @@ + + + + + RegisterKotlinMappers + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

RegisterKotlinMappers

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers/value.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers/value.html new file mode 100644 index 00000000000..ee04703019c --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers/value.html @@ -0,0 +1,80 @@ + + + + + value + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

value

+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/attach.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/attach.html new file mode 100644 index 00000000000..0a909e6b454 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/attach.html @@ -0,0 +1,80 @@ + + + + + attach + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

attach

+
+
inline fun <T : Any> Handle.attach(): T
fun <T : Any> Handle.attach(kclass: KClass<T>): T
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/index.html new file mode 100644 index 00000000000..503df8ac9f1 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/index.html @@ -0,0 +1,257 @@ + + + + + org.jdbi.v3.sqlobject.kotlin + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Beta
annotation class BindKotlin(val value: String = "")
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class KotlinDefaultMethodHandlerFactory : ExtensionHandlerFactory
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class KotlinSqlObjectPlugin : JdbiPlugin.Singleton
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class KotlinSqlStatementCustomizerFactory : ParameterCustomizerFactory
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class MethodKey(val name: String, val paramTypes: List<Class<*>>, val returnType: Class<*>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
annotation class RegisterKotlinMapper(val value: KClass<*>, val prefix: String = "")

Registers a KotlinMapper for a specific kotlin class.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class RegisterKotlinMapperImpl(annotation: Annotation) : SimpleExtensionConfigurer
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class RegisterKotlinMappersImpl(annotation: Annotation) : SimpleExtensionConfigurer
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun <T : Any> Handle.attach(): T
fun <T : Any> Handle.attach(kclass: KClass<T>): T
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun <T : Any> Jdbi.onDemand(): T
fun <T : Any> Jdbi.onDemand(kclass: KClass<T>): T
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/on-demand.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/on-demand.html new file mode 100644 index 00000000000..034faceb21b --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/on-demand.html @@ -0,0 +1,80 @@ + + + + + onDemand + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDemand

+
+
inline fun <T : Any> Jdbi.onDemand(): T
fun <T : Any> Jdbi.onDemand(kclass: KClass<T>): T
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/package-list b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/package-list new file mode 100644 index 00000000000..04ea973c9df --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/jdbi3-kotlin-sqlobject/package-list @@ -0,0 +1,37 @@ +$dokka.format:html-v1 +$dokka.linkExtension:html +$dokka.location:org.jdbi.v3.sqlobject.kotlin////PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/index.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin//attach/org.jdbi.v3.core.Handle#/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/attach.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin//attach/org.jdbi.v3.core.Handle#kotlin.reflect.KClass[TypeParam(bounds=[kotlin.Any])]/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/attach.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin//onDemand/org.jdbi.v3.core.Jdbi#/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/on-demand.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin//onDemand/org.jdbi.v3.core.Jdbi#kotlin.reflect.KClass[TypeParam(bounds=[kotlin.Any])]/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/on-demand.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/BindKotlin///PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-bind-kotlin/index.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/BindKotlin/value/#/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-bind-kotlin/value.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/KotlinDefaultMethodHandlerFactory///PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/index.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/KotlinDefaultMethodHandlerFactory/KotlinDefaultMethodHandlerFactory/#/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/-kotlin-default-method-handler-factory.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/KotlinDefaultMethodHandlerFactory/accepts/#java.lang.Class[*]?#java.lang.reflect.Method?/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/accepts.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/KotlinDefaultMethodHandlerFactory/createExtensionHandler/#java.lang.Class[*]#java.lang.reflect.Method/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-default-method-handler-factory/create-extension-handler.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/KotlinSqlObjectPlugin///PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/index.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/KotlinSqlObjectPlugin/KotlinSqlObjectPlugin/#/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/-kotlin-sql-object-plugin.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/KotlinSqlObjectPlugin/customizeJdbi/#org.jdbi.v3.core.Jdbi/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-object-plugin/customize-jdbi.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/KotlinSqlStatementCustomizerFactory///PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/index.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/KotlinSqlStatementCustomizerFactory/KotlinSqlStatementCustomizerFactory/#/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/-kotlin-sql-statement-customizer-factory.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/KotlinSqlStatementCustomizerFactory/createForParameter/#java.lang.Class[*]#java.lang.reflect.Method#java.lang.reflect.Parameter#kotlin.Int#java.lang.reflect.Type/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-kotlin-sql-statement-customizer-factory/create-for-parameter.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/MethodKey///PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/index.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/MethodKey/MethodKey/#kotlin.String#kotlin.collections.List[java.lang.Class[*]]#java.lang.Class[*]/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/-method-key.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/MethodKey/name/#/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/name.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/MethodKey/paramTypes/#/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/param-types.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/MethodKey/returnType/#/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-method-key/return-type.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/RegisterKotlinMapper///PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/index.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/RegisterKotlinMapper/prefix/#/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/prefix.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/RegisterKotlinMapper/value/#/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper/value.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/RegisterKotlinMapperImpl///PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/index.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/RegisterKotlinMapperImpl/RegisterKotlinMapperImpl/#kotlin.Annotation/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/-register-kotlin-mapper-impl.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/RegisterKotlinMapperImpl/configure/#org.jdbi.v3.core.config.ConfigRegistry#kotlin.Annotation#java.lang.Class[*]/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mapper-impl/configure.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/RegisterKotlinMappers///PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers/index.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/RegisterKotlinMappers/value/#/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers/value.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/RegisterKotlinMappersImpl///PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/index.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/RegisterKotlinMappersImpl/RegisterKotlinMappersImpl/#kotlin.Annotation/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/-register-kotlin-mappers-impl.html +$dokka.location:org.jdbi.v3.sqlobject.kotlin/RegisterKotlinMappersImpl/configure/#org.jdbi.v3.core.config.ConfigRegistry#kotlin.Annotation#java.lang.Class[*]/PointingToDeclaration/jdbi3-kotlin-sqlobject/org.jdbi.v3.sqlobject.kotlin/-register-kotlin-mappers-impl/configure.html +org.jdbi.v3.sqlobject.kotlin + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/navigation.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/navigation.html new file mode 100644 index 00000000000..0eb2e0644cd --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/navigation.html @@ -0,0 +1,39 @@ +
+ + +
diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/clipboard.js b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/clipboard.js new file mode 100644 index 00000000000..9172376a219 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/clipboard.js @@ -0,0 +1,51 @@ +window.addEventListener('load', () => { + document.querySelectorAll('span.copy-icon').forEach(element => { + element.addEventListener('click', (el) => copyElementsContentToClipboard(element)); + }) + + document.querySelectorAll('span.anchor-icon').forEach(element => { + element.addEventListener('click', (el) => { + if(element.hasAttribute('pointing-to')){ + const location = hrefWithoutCurrentlyUsedAnchor() + '#' + element.getAttribute('pointing-to') + copyTextToClipboard(element, location) + } + }); + }) +}) + +const copyElementsContentToClipboard = (element) => { + const selection = window.getSelection(); + const range = document.createRange(); + range.selectNodeContents(element.parentNode.parentNode); + selection.removeAllRanges(); + selection.addRange(range); + + copyAndShowPopup(element, () => selection.removeAllRanges()) +} + +const copyTextToClipboard = (element, text) => { + var textarea = document.createElement("textarea"); + textarea.textContent = text; + textarea.style.position = "fixed"; + document.body.appendChild(textarea); + textarea.select(); + + copyAndShowPopup(element, () => document.body.removeChild(textarea)) +} + +const copyAndShowPopup = (element, after) => { + try { + document.execCommand('copy'); + element.nextElementSibling.classList.add('active-popup'); + setTimeout(() => { + element.nextElementSibling.classList.remove('active-popup'); + }, 1200); + } catch (e) { + console.error('Failed to write to clipboard:', e) + } + finally { + if(after) after() + } +} + +const hrefWithoutCurrentlyUsedAnchor = () => window.location.href.split('#')[0] diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/main.js b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/main.js new file mode 100644 index 00000000000..ba6c3473926 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin-sqlobject/scripts/main.js @@ -0,0 +1,44 @@ +(()=>{var e={8527:e=>{e.exports=''},5570:e=>{e.exports=''},107:e=>{e.exports=''},7224:e=>{e.exports=''},538:e=>{e.exports=''},1924:(e,n,t)=>{"use strict";var r=t(210),o=t(5559),i=o(r("String.prototype.indexOf"));e.exports=function(e,n){var t=r(e,!!n);return"function"==typeof t&&i(e,".prototype.")>-1?o(t):t}},5559:(e,n,t)=>{"use strict";var r=t(8612),o=t(210),i=o("%Function.prototype.apply%"),a=o("%Function.prototype.call%"),l=o("%Reflect.apply%",!0)||r.call(a,i),c=o("%Object.getOwnPropertyDescriptor%",!0),u=o("%Object.defineProperty%",!0),s=o("%Math.max%");if(u)try{u({},"a",{value:1})}catch(e){u=null}e.exports=function(e){var n=l(r,a,arguments);if(c&&u){var t=c(n,"length");t.configurable&&u(n,"length",{value:1+s(0,e.length-(arguments.length-1))})}return n};var f=function(){return l(r,i,arguments)};u?u(e.exports,"apply",{value:f}):e.exports.apply=f},4184:(e,n)=>{var t; +/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],n=0;n{"use strict";e.exports=function(e,n){var t=this,r=t.constructor;return t.options=Object.assign({storeInstancesGlobally:!0},n||{}),t.callbacks={},t.directMap={},t.sequenceLevels={},t.resetTimer=null,t.ignoreNextKeyup=!1,t.ignoreNextKeypress=!1,t.nextExpectedAction=!1,t.element=e,t.addEvents(),t.options.storeInstancesGlobally&&r.instances.push(t),t},e.exports.prototype.bind=t(2207),e.exports.prototype.bindMultiple=t(3396),e.exports.prototype.unbind=t(9208),e.exports.prototype.trigger=t(9855),e.exports.prototype.reset=t(6214),e.exports.prototype.stopCallback=t(3450),e.exports.prototype.handleKey=t(3067),e.exports.prototype.addEvents=t(718),e.exports.prototype.bindSingle=t(8763),e.exports.prototype.getKeyInfo=t(5825),e.exports.prototype.pickBestAction=t(8608),e.exports.prototype.getReverseMap=t(3956),e.exports.prototype.getMatches=t(3373),e.exports.prototype.resetSequences=t(3346),e.exports.prototype.fireCallback=t(2684),e.exports.prototype.bindSequence=t(7103),e.exports.prototype.resetSequenceTimer=t(7309),e.exports.prototype.detach=t(7554),e.exports.instances=[],e.exports.reset=t(1822),e.exports.REVERSE_MAP=null},718:(e,n,t)=>{"use strict";e.exports=function(){var e=this,n=t(4323),r=e.element;e.eventHandler=t(9646).bind(e),n(r,"keypress",e.eventHandler),n(r,"keydown",e.eventHandler),n(r,"keyup",e.eventHandler)}},2207:e=>{"use strict";e.exports=function(e,n,t){return e=e instanceof Array?e:[e],this.bindMultiple(e,n,t),this}},3396:e=>{"use strict";e.exports=function(e,n,t){for(var r=0;r{"use strict";e.exports=function(e,n,r,o){var i=this;function a(n){return function(){i.nextExpectedAction=n,++i.sequenceLevels[e],i.resetSequenceTimer()}}function l(n){var a;i.fireCallback(r,n,e),"keyup"!==o&&(a=t(6770),i.ignoreNextKeyup=a(n)),setTimeout((function(){i.resetSequences()}),10)}i.sequenceLevels[e]=0;for(var c=0;c{"use strict";e.exports=function(e,n,t,r,o){var i=this;i.directMap[e+":"+t]=n;var a,l=(e=e.replace(/\s+/g," ")).split(" ");l.length>1?i.bindSequence(e,l,n,t):(a=i.getKeyInfo(e,t),i.callbacks[a.key]=i.callbacks[a.key]||[],i.getMatches(a.key,a.modifiers,{type:a.action},r,e,o),i.callbacks[a.key][r?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:r,level:o,combo:e}))}},7554:(e,n,t)=>{var r=t(4323).off;e.exports=function(){var e=this,n=e.element;r(n,"keypress",e.eventHandler),r(n,"keydown",e.eventHandler),r(n,"keyup",e.eventHandler)}},4323:e=>{function n(e,n,t,r){return!e.addEventListener&&(n="on"+n),(e.addEventListener||e.attachEvent).call(e,n,t,r),t}e.exports=n,e.exports.on=n,e.exports.off=function(e,n,t,r){return!e.removeEventListener&&(n="on"+n),(e.removeEventListener||e.detachEvent).call(e,n,t,r),t}},2684:(e,n,t)=>{"use strict";e.exports=function(e,n,r,o){this.stopCallback(n,n.target||n.srcElement,r,o)||!1===e(n,r)&&(t(1350)(n),t(6103)(n))}},5825:(e,n,t)=>{"use strict";e.exports=function(e,n){var r,o,i,a,l,c,u=[];for(r=t(4520)(e),a=t(7549),l=t(5355),c=t(8581),i=0;i{"use strict";e.exports=function(e,n,r,o,i,a){var l,c,u,s,f=this,p=[],d=r.type;"keypress"!==d||r.code&&"Arrow"===r.code.slice(0,5)||(f.callbacks["any-character"]||[]).forEach((function(e){p.push(e)}));if(!f.callbacks[e])return p;for(u=t(8581),"keyup"===d&&u(e)&&(n=[e]),l=0;l{"use strict";e.exports=function(){var e,n=this.constructor;if(!n.REVERSE_MAP)for(var r in n.REVERSE_MAP={},e=t(4766))r>95&&r<112||e.hasOwnProperty(r)&&(n.REVERSE_MAP[e[r]]=r);return n.REVERSE_MAP}},3067:(e,n,t)=>{"use strict";e.exports=function(e,n,r){var o,i,a,l,c=this,u={},s=0,f=!1;for(o=c.getMatches(e,n,r),i=0;i{"use strict";e.exports=function(e){var n,r=this;"number"!=typeof e.which&&(e.which=e.keyCode);var o=t(6770)(e);void 0!==o&&("keyup"!==e.type||r.ignoreNextKeyup!==o?(n=t(4610),r.handleKey(o,n(e),e)):r.ignoreNextKeyup=!1)}},5532:e=>{"use strict";e.exports=function(e,n){return e.sort().join(",")===n.sort().join(",")}},8608:e=>{"use strict";e.exports=function(e,n,t){return t||(t=this.getReverseMap()[e]?"keydown":"keypress"),"keypress"===t&&n.length&&(t="keydown"),t}},6214:e=>{"use strict";e.exports=function(){return this.callbacks={},this.directMap={},this}},7309:e=>{"use strict";e.exports=function(){var e=this;clearTimeout(e.resetTimer),e.resetTimer=setTimeout((function(){e.resetSequences()}),1e3)}},3346:e=>{"use strict";e.exports=function(e){var n=this;e=e||{};var t,r=!1;for(t in n.sequenceLevels)e[t]?r=!0:n.sequenceLevels[t]=0;r||(n.nextExpectedAction=!1)}},3450:e=>{"use strict";e.exports=function(e,n){if((" "+n.className+" ").indexOf(" combokeys ")>-1)return!1;var t=n.tagName.toLowerCase();return"input"===t||"select"===t||"textarea"===t||n.isContentEditable}},9855:e=>{"use strict";e.exports=function(e,n){return this.directMap[e+":"+n]&&this.directMap[e+":"+n]({},e),this}},9208:e=>{"use strict";e.exports=function(e,n){return this.bind(e,(function(){}),n)}},1822:e=>{"use strict";e.exports=function(){this.instances.forEach((function(e){e.reset()}))}},6770:(e,n,t)=>{"use strict";e.exports=function(e){var n,r;if(n=t(4766),r=t(5295),"keypress"===e.type){var o=String.fromCharCode(e.which);return e.shiftKey||(o=o.toLowerCase()),o}return void 0!==n[e.which]?n[e.which]:void 0!==r[e.which]?r[e.which]:String.fromCharCode(e.which).toLowerCase()}},4610:e=>{"use strict";e.exports=function(e){var n=[];return e.shiftKey&&n.push("shift"),e.altKey&&n.push("alt"),e.ctrlKey&&n.push("ctrl"),e.metaKey&&n.push("meta"),n}},8581:e=>{"use strict";e.exports=function(e){return"shift"===e||"ctrl"===e||"alt"===e||"meta"===e}},4520:e=>{"use strict";e.exports=function(e){return"+"===e?["+"]:e.split("+")}},1350:e=>{"use strict";e.exports=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1}},5355:e=>{"use strict";e.exports={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"}},7549:e=>{"use strict";e.exports={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"}},5295:e=>{"use strict";e.exports={106:"*",107:"plus",109:"minus",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},4766:e=>{"use strict";e.exports={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",173:"minus",187:"plus",189:"minus",224:"meta"};for(var n=1;n<20;++n)e.exports[111+n]="f"+n;for(n=0;n<=9;++n)e.exports[n+96]=n},6103:e=>{"use strict";e.exports=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}},3362:()=>{var e;!function(){var e=Math.PI,n=2*e,t=e/180,r=document.createElement("div");document.head.appendChild(r);var o=self.ConicGradient=function(e){o.all.push(this),e=e||{},this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.repeating=!!e.repeating,this.size=e.size||Math.max(innerWidth,innerHeight),this.canvas.width=this.canvas.height=this.size;var n=e.stops;this.stops=(n||"").split(/\s*,(?![^(]*\))\s*/),this.from=0;for(var t=0;t0){var i=this.stops[0].clone();i.pos=0,this.stops.unshift(i)}if(void 0===this.stops[this.stops.length-1].pos)this.stops[this.stops.length-1].pos=1;else if(!this.repeating&&this.stops[this.stops.length-1].pos<1){var a=this.stops[this.stops.length-1].clone();a.pos=1,this.stops.push(a)}if(this.stops.forEach((function(e,n){if(void 0===e.pos){for(var t=n+1;this[t];t++)if(void 0!==this[t].pos){e.pos=this[n-1].pos+(this[t].pos-this[n-1].pos)/(t-n+1);break}}else n>0&&(e.pos=Math.max(e.pos,this[n-1].pos))}),this.stops),this.repeating){var l=(n=this.stops.slice())[n.length-1].pos-n[0].pos;for(t=0;this.stops[this.stops.length-1].pos<1&&t<1e4;t++)for(var c=0;c'},get png(){return this.canvas.toDataURL()},get r(){return Math.sqrt(2)*this.size/2},paint:function(){var e,n,r,o=this.context,i=this.r,a=this.size/2,l=0,c=this.stops[l];o.translate(this.size/2,this.size/2),o.rotate(-90*t),o.rotate(this.from*t),o.translate(-this.size/2,-this.size/2);for(var u=0;u<360;){if(u/360+1e-5>=c.pos){do{e=c,l++,c=this.stops[l]}while(c&&c!=e&&c.pos===e.pos);if(!c)break;var s=e.color+""==c.color+""&&e!=c;n=e.color.map((function(e,n){return c.color[n]-e}))}r=(u/360-e.pos)/(c.pos-e.pos);var f=s?c.color:n.map((function(n,t){var o=n*r+e.color[t];return t<3?255&o:o}));if(o.fillStyle="rgba("+f.join(",")+")",o.beginPath(),o.moveTo(a,a),s)var p=360*(c.pos-e.pos);else p=.5;var d=u*t,h=(d=Math.min(360*t,d))+p*t;h=Math.min(360*t,h+.02),o.arc(a,a,i,d,h),o.closePath(),o.fill(),u+=p}}},o.ColorStop=function(e,t){if(this.gradient=e,t){var r=t.match(/^(.+?)(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?\s*$/);if(this.color=o.ColorStop.colorToRGBA(r[1]),r[2]){var i=r[3];"%"==i||"0"===r[2]&&!i?this.pos=r[2]/100:"turn"==i?this.pos=+r[2]:"deg"==i?this.pos=r[2]/360:"grad"==i?this.pos=r[2]/400:"rad"==i&&(this.pos=r[2]/n)}r[4]&&(this.next=new o.ColorStop(e,r[1]+" "+r[4]+r[5]))}},o.ColorStop.prototype={clone:function(){var e=new o.ColorStop(this.gradient);return e.color=this.color,e.pos=this.pos,e},toString:function(){return"rgba("+this.color.join(", ")+") "+100*this.pos+"%"}},o.ColorStop.colorToRGBA=function(e){if(!Array.isArray(e)&&-1==e.indexOf("from")){r.style.color=e;var n=getComputedStyle(r).color.match(/rgba?\(([\d.]+), ([\d.]+), ([\d.]+)(?:, ([\d.]+))?\)/);return n&&(n.shift(),(n=n.map((function(e){return+e})))[3]=isNaN(n[3])?1:n[3]),n||[0,0,0,0]}return e}}(),self.StyleFix&&((e=document.createElement("p")).style.backgroundImage="conic-gradient(white, black)",e.style.backgroundImage=PrefixFree.prefix+"conic-gradient(white, black)",e.style.backgroundImage||StyleFix.register((function(e,n){return e.indexOf("conic-gradient")>-1&&(e=e.replace(/(?:repeating-)?conic-gradient\(\s*((?:\([^()]+\)|[^;()}])+?)\)/g,(function(e,n){return new ConicGradient({stops:n,repeating:e.indexOf("repeating-")>-1})}))),e})))},9662:(e,n,t)=>{var r=t(7854),o=t(614),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a function")}},9483:(e,n,t)=>{var r=t(7854),o=t(4411),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a constructor")}},6077:(e,n,t)=>{var r=t(7854),o=t(614),i=r.String,a=r.TypeError;e.exports=function(e){if("object"==typeof e||o(e))return e;throw a("Can't set "+i(e)+" as a prototype")}},1223:(e,n,t)=>{var r=t(5112),o=t(30),i=t(3070),a=r("unscopables"),l=Array.prototype;null==l[a]&&i.f(l,a,{configurable:!0,value:o(null)}),e.exports=function(e){l[a][e]=!0}},1530:(e,n,t)=>{"use strict";var r=t(8710).charAt;e.exports=function(e,n,t){return n+(t?r(e,n).length:1)}},5787:(e,n,t)=>{var r=t(7854),o=t(7976),i=r.TypeError;e.exports=function(e,n){if(o(n,e))return e;throw i("Incorrect invocation")}},9670:(e,n,t)=>{var r=t(7854),o=t(111),i=r.String,a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not an object")}},7556:(e,n,t)=>{var r=t(7293);e.exports=r((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}))},8533:(e,n,t)=>{"use strict";var r=t(2092).forEach,o=t(9341)("forEach");e.exports=o?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}},8457:(e,n,t)=>{"use strict";var r=t(7854),o=t(9974),i=t(6916),a=t(7908),l=t(3411),c=t(7659),u=t(4411),s=t(6244),f=t(6135),p=t(8554),d=t(1246),h=r.Array;e.exports=function(e){var n=a(e),t=u(this),r=arguments.length,g=r>1?arguments[1]:void 0,v=void 0!==g;v&&(g=o(g,r>2?arguments[2]:void 0));var A,b,m,y,E,_,C=d(n),w=0;if(!C||this==h&&c(C))for(A=s(n),b=t?new this(A):h(A);A>w;w++)_=v?g(n[w],w):n[w],f(b,w,_);else for(E=(y=p(n,C)).next,b=t?new this:[];!(m=i(E,y)).done;w++)_=v?l(y,g,[m.value,w],!0):m.value,f(b,w,_);return b.length=w,b}},1318:(e,n,t)=>{var r=t(5656),o=t(1400),i=t(6244),a=function(e){return function(n,t,a){var l,c=r(n),u=i(c),s=o(a,u);if(e&&t!=t){for(;u>s;)if((l=c[s++])!=l)return!0}else for(;u>s;s++)if((e||s in c)&&c[s]===t)return e||s||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},2092:(e,n,t)=>{var r=t(9974),o=t(1702),i=t(8361),a=t(7908),l=t(6244),c=t(5417),u=o([].push),s=function(e){var n=1==e,t=2==e,o=3==e,s=4==e,f=6==e,p=7==e,d=5==e||f;return function(h,g,v,A){for(var b,m,y=a(h),E=i(y),_=r(g,v),C=l(E),w=0,x=A||c,k=n?x(h,C):t||p?x(h,0):void 0;C>w;w++)if((d||w in E)&&(m=_(b=E[w],w,y),e))if(n)k[w]=m;else if(m)switch(e){case 3:return!0;case 5:return b;case 6:return w;case 2:u(k,b)}else switch(e){case 4:return!1;case 7:u(k,b)}return f?-1:o||s?s:k}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6),filterReject:s(7)}},1194:(e,n,t)=>{var r=t(7293),o=t(5112),i=t(7392),a=o("species");e.exports=function(e){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[e](Boolean).foo}))}},9341:(e,n,t)=>{"use strict";var r=t(7293);e.exports=function(e,n){var t=[][e];return!!t&&r((function(){t.call(null,n||function(){throw 1},1)}))}},3671:(e,n,t)=>{var r=t(7854),o=t(9662),i=t(7908),a=t(8361),l=t(6244),c=r.TypeError,u=function(e){return function(n,t,r,u){o(t);var s=i(n),f=a(s),p=l(s),d=e?p-1:0,h=e?-1:1;if(r<2)for(;;){if(d in f){u=f[d],d+=h;break}if(d+=h,e?d<0:p<=d)throw c("Reduce of empty array with no initial value")}for(;e?d>=0:p>d;d+=h)d in f&&(u=t(u,f[d],d,s));return u}};e.exports={left:u(!1),right:u(!0)}},206:(e,n,t)=>{var r=t(1702);e.exports=r([].slice)},4362:(e,n,t)=>{var r=t(206),o=Math.floor,i=function(e,n){var t=e.length,c=o(t/2);return t<8?a(e,n):l(e,i(r(e,0,c),n),i(r(e,c),n),n)},a=function(e,n){for(var t,r,o=e.length,i=1;i0;)e[r]=e[--r];r!==i++&&(e[r]=t)}return e},l=function(e,n,t,r){for(var o=n.length,i=t.length,a=0,l=0;a{var r=t(7854),o=t(3157),i=t(4411),a=t(111),l=t(5112)("species"),c=r.Array;e.exports=function(e){var n;return o(e)&&(n=e.constructor,(i(n)&&(n===c||o(n.prototype))||a(n)&&null===(n=n[l]))&&(n=void 0)),void 0===n?c:n}},5417:(e,n,t)=>{var r=t(7475);e.exports=function(e,n){return new(r(e))(0===n?0:n)}},3411:(e,n,t)=>{var r=t(9670),o=t(9212);e.exports=function(e,n,t,i){try{return i?n(r(t)[0],t[1]):n(t)}catch(n){o(e,"throw",n)}}},7072:(e,n,t)=>{var r=t(5112)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(e){}e.exports=function(e,n){if(!n&&!o)return!1;var t=!1;try{var i={};i[r]=function(){return{next:function(){return{done:t=!0}}}},e(i)}catch(e){}return t}},4326:(e,n,t)=>{var r=t(1702),o=r({}.toString),i=r("".slice);e.exports=function(e){return i(o(e),8,-1)}},648:(e,n,t)=>{var r=t(7854),o=t(1694),i=t(614),a=t(4326),l=t(5112)("toStringTag"),c=r.Object,u="Arguments"==a(function(){return arguments}());e.exports=o?a:function(e){var n,t,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=function(e,n){try{return e[n]}catch(e){}}(n=c(e),l))?t:u?a(n):"Object"==(r=a(n))&&i(n.callee)?"Arguments":r}},5631:(e,n,t)=>{"use strict";var r=t(3070).f,o=t(30),i=t(2248),a=t(9974),l=t(5787),c=t(408),u=t(654),s=t(6340),f=t(9781),p=t(2423).fastKey,d=t(9909),h=d.set,g=d.getterFor;e.exports={getConstructor:function(e,n,t,u){var s=e((function(e,r){l(e,d),h(e,{type:n,index:o(null),first:void 0,last:void 0,size:0}),f||(e.size=0),null!=r&&c(r,e[u],{that:e,AS_ENTRIES:t})})),d=s.prototype,v=g(n),A=function(e,n,t){var r,o,i=v(e),a=b(e,n);return a?a.value=t:(i.last=a={index:o=p(n,!0),key:n,value:t,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),f?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},b=function(e,n){var t,r=v(e),o=p(n);if("F"!==o)return r.index[o];for(t=r.first;t;t=t.next)if(t.key==n)return t};return i(d,{clear:function(){for(var e=v(this),n=e.index,t=e.first;t;)t.removed=!0,t.previous&&(t.previous=t.previous.next=void 0),delete n[t.index],t=t.next;e.first=e.last=void 0,f?e.size=0:this.size=0},delete:function(e){var n=this,t=v(n),r=b(n,e);if(r){var o=r.next,i=r.previous;delete t.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),t.first==r&&(t.first=o),t.last==r&&(t.last=i),f?t.size--:n.size--}return!!r},forEach:function(e){for(var n,t=v(this),r=a(e,arguments.length>1?arguments[1]:void 0);n=n?n.next:t.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(e){return!!b(this,e)}}),i(d,t?{get:function(e){var n=b(this,e);return n&&n.value},set:function(e,n){return A(this,0===e?0:e,n)}}:{add:function(e){return A(this,e=0===e?0:e,e)}}),f&&r(d,"size",{get:function(){return v(this).size}}),s},setStrong:function(e,n,t){var r=n+" Iterator",o=g(n),i=g(r);u(e,n,(function(e,n){h(this,{type:r,target:e,state:o(e),kind:n,last:void 0})}),(function(){for(var e=i(this),n=e.kind,t=e.last;t&&t.removed;)t=t.previous;return e.target&&(e.last=t=t?t.next:e.state.first)?"keys"==n?{value:t.key,done:!1}:"values"==n?{value:t.value,done:!1}:{value:[t.key,t.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),t?"entries":"values",!t,!0),s(n)}}},9320:(e,n,t)=>{"use strict";var r=t(1702),o=t(2248),i=t(2423).getWeakData,a=t(9670),l=t(111),c=t(5787),u=t(408),s=t(2092),f=t(2597),p=t(9909),d=p.set,h=p.getterFor,g=s.find,v=s.findIndex,A=r([].splice),b=0,m=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},E=function(e,n){return g(e.entries,(function(e){return e[0]===n}))};y.prototype={get:function(e){var n=E(this,e);if(n)return n[1]},has:function(e){return!!E(this,e)},set:function(e,n){var t=E(this,e);t?t[1]=n:this.entries.push([e,n])},delete:function(e){var n=v(this.entries,(function(n){return n[0]===e}));return~n&&A(this.entries,n,1),!!~n}},e.exports={getConstructor:function(e,n,t,r){var s=e((function(e,o){c(e,p),d(e,{type:n,id:b++,frozen:void 0}),null!=o&&u(o,e[r],{that:e,AS_ENTRIES:t})})),p=s.prototype,g=h(n),v=function(e,n,t){var r=g(e),o=i(a(n),!0);return!0===o?m(r).set(n,t):o[r.id]=t,e};return o(p,{delete:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).delete(e):t&&f(t,n.id)&&delete t[n.id]},has:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).has(e):t&&f(t,n.id)}}),o(p,t?{get:function(e){var n=g(this);if(l(e)){var t=i(e);return!0===t?m(n).get(e):t?t[n.id]:void 0}},set:function(e,n){return v(this,e,n)}}:{add:function(e){return v(this,e,!0)}}),s}}},7710:(e,n,t)=>{"use strict";var r=t(2109),o=t(7854),i=t(1702),a=t(4705),l=t(1320),c=t(2423),u=t(408),s=t(5787),f=t(614),p=t(111),d=t(7293),h=t(7072),g=t(8003),v=t(9587);e.exports=function(e,n,t){var A=-1!==e.indexOf("Map"),b=-1!==e.indexOf("Weak"),m=A?"set":"add",y=o[e],E=y&&y.prototype,_=y,C={},w=function(e){var n=i(E[e]);l(E,e,"add"==e?function(e){return n(this,0===e?0:e),this}:"delete"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:"get"==e?function(e){return b&&!p(e)?void 0:n(this,0===e?0:e)}:"has"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:function(e,t){return n(this,0===e?0:e,t),this})};if(a(e,!f(y)||!(b||E.forEach&&!d((function(){(new y).entries().next()})))))_=t.getConstructor(n,e,A,m),c.enable();else if(a(e,!0)){var x=new _,k=x[m](b?{}:-0,1)!=x,S=d((function(){x.has(1)})),O=h((function(e){new y(e)})),B=!b&&d((function(){for(var e=new y,n=5;n--;)e[m](n,n);return!e.has(-0)}));O||((_=n((function(e,n){s(e,E);var t=v(new y,e,_);return null!=n&&u(n,t[m],{that:t,AS_ENTRIES:A}),t}))).prototype=E,E.constructor=_),(S||B)&&(w("delete"),w("has"),A&&w("get")),(B||k)&&w(m),b&&E.clear&&delete E.clear}return C[e]=_,r({global:!0,forced:_!=y},C),g(_,e),b||t.setStrong(_,e,A),_}},9920:(e,n,t)=>{var r=t(2597),o=t(3887),i=t(1236),a=t(3070);e.exports=function(e,n){for(var t=o(n),l=a.f,c=i.f,u=0;u{var r=t(5112)("match");e.exports=function(e){var n=/./;try{"/./"[e](n)}catch(t){try{return n[r]=!1,"/./"[e](n)}catch(e){}}return!1}},8544:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},4230:(e,n,t)=>{var r=t(1702),o=t(4488),i=t(1340),a=/"/g,l=r("".replace);e.exports=function(e,n,t,r){var c=i(o(e)),u="<"+n;return""!==t&&(u+=" "+t+'="'+l(i(r),a,""")+'"'),u+">"+c+""}},4994:(e,n,t)=>{"use strict";var r=t(3383).IteratorPrototype,o=t(30),i=t(9114),a=t(8003),l=t(7497),c=function(){return this};e.exports=function(e,n,t){var u=n+" Iterator";return e.prototype=o(r,{next:i(1,t)}),a(e,u,!1,!0),l[u]=c,e}},8880:(e,n,t)=>{var r=t(9781),o=t(3070),i=t(9114);e.exports=r?function(e,n,t){return o.f(e,n,i(1,t))}:function(e,n,t){return e[n]=t,e}},9114:e=>{e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},6135:(e,n,t)=>{"use strict";var r=t(4948),o=t(3070),i=t(9114);e.exports=function(e,n,t){var a=r(n);a in e?o.f(e,a,i(0,t)):e[a]=t}},8709:(e,n,t)=>{"use strict";var r=t(7854),o=t(9670),i=t(2140),a=r.TypeError;e.exports=function(e){if(o(this),"string"===e||"default"===e)e="string";else if("number"!==e)throw a("Incorrect hint");return i(this,e)}},654:(e,n,t)=>{"use strict";var r=t(2109),o=t(6916),i=t(1913),a=t(6530),l=t(614),c=t(4994),u=t(9518),s=t(7674),f=t(8003),p=t(8880),d=t(1320),h=t(5112),g=t(7497),v=t(3383),A=a.PROPER,b=a.CONFIGURABLE,m=v.IteratorPrototype,y=v.BUGGY_SAFARI_ITERATORS,E=h("iterator"),_="keys",C="values",w="entries",x=function(){return this};e.exports=function(e,n,t,a,h,v,k){c(t,n,a);var S,O,B,I=function(e){if(e===h&&R)return R;if(!y&&e in j)return j[e];switch(e){case _:case C:case w:return function(){return new t(this,e)}}return function(){return new t(this)}},T=n+" Iterator",P=!1,j=e.prototype,z=j[E]||j["@@iterator"]||h&&j[h],R=!y&&z||I(h),M="Array"==n&&j.entries||z;if(M&&(S=u(M.call(new e)))!==Object.prototype&&S.next&&(i||u(S)===m||(s?s(S,m):l(S[E])||d(S,E,x)),f(S,T,!0,!0),i&&(g[T]=x)),A&&h==C&&z&&z.name!==C&&(!i&&b?p(j,"name",C):(P=!0,R=function(){return o(z,this)})),h)if(O={values:I(C),keys:v?R:I(_),entries:I(w)},k)for(B in O)(y||P||!(B in j))&&d(j,B,O[B]);else r({target:n,proto:!0,forced:y||P},O);return i&&!k||j[E]===R||d(j,E,R,{name:h}),g[n]=R,O}},7235:(e,n,t)=>{var r=t(857),o=t(2597),i=t(6061),a=t(3070).f;e.exports=function(e){var n=r.Symbol||(r.Symbol={});o(n,e)||a(n,e,{value:i.f(e)})}},9781:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:(e,n,t)=>{var r=t(7854),o=t(111),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},8324:e=>{e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8509:(e,n,t)=>{var r=t(317)("span").classList,o=r&&r.constructor&&r.constructor.prototype;e.exports=o===Object.prototype?void 0:o},8886:(e,n,t)=>{var r=t(8113).match(/firefox\/(\d+)/i);e.exports=!!r&&+r[1]},256:(e,n,t)=>{var r=t(8113);e.exports=/MSIE|Trident/.test(r)},5268:(e,n,t)=>{var r=t(4326),o=t(7854);e.exports="process"==r(o.process)},8113:(e,n,t)=>{var r=t(5005);e.exports=r("navigator","userAgent")||""},7392:(e,n,t)=>{var r,o,i=t(7854),a=t(8113),l=i.process,c=i.Deno,u=l&&l.versions||c&&c.version,s=u&&u.v8;s&&(o=(r=s.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),e.exports=o},8008:(e,n,t)=>{var r=t(8113).match(/AppleWebKit\/(\d+)\./);e.exports=!!r&&+r[1]},748:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:(e,n,t)=>{var r=t(7854),o=t(1236).f,i=t(8880),a=t(1320),l=t(3505),c=t(9920),u=t(4705);e.exports=function(e,n){var t,s,f,p,d,h=e.target,g=e.global,v=e.stat;if(t=g?r:v?r[h]||l(h,{}):(r[h]||{}).prototype)for(s in n){if(p=n[s],f=e.noTargetGet?(d=o(t,s))&&d.value:t[s],!u(g?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;c(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(t,s,p,e)}}},7293:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},7007:(e,n,t)=>{"use strict";t(4916);var r=t(1702),o=t(1320),i=t(2261),a=t(7293),l=t(5112),c=t(8880),u=l("species"),s=RegExp.prototype;e.exports=function(e,n,t,f){var p=l(e),d=!a((function(){var n={};return n[p]=function(){return 7},7!=""[e](n)})),h=d&&!a((function(){var n=!1,t=/a/;return"split"===e&&((t={}).constructor={},t.constructor[u]=function(){return t},t.flags="",t[p]=/./[p]),t.exec=function(){return n=!0,null},t[p](""),!n}));if(!d||!h||t){var g=r(/./[p]),v=n(p,""[e],(function(e,n,t,o,a){var l=r(e),c=n.exec;return c===i||c===s.exec?d&&!a?{done:!0,value:g(n,t,o)}:{done:!0,value:l(t,n,o)}:{done:!1}}));o(String.prototype,e,v[0]),o(s,p,v[1])}f&&c(s[p],"sham",!0)}},6677:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},2104:e=>{var n=Function.prototype,t=n.apply,r=n.bind,o=n.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?o.bind(t):function(){return o.apply(t,arguments)})},9974:(e,n,t)=>{var r=t(1702),o=t(9662),i=r(r.bind);e.exports=function(e,n){return o(e),void 0===n?e:i?i(e,n):function(){return e.apply(n,arguments)}}},7065:(e,n,t)=>{"use strict";var r=t(7854),o=t(1702),i=t(9662),a=t(111),l=t(2597),c=t(206),u=r.Function,s=o([].concat),f=o([].join),p={},d=function(e,n,t){if(!l(p,n)){for(var r=[],o=0;o{var n=Function.prototype.call;e.exports=n.bind?n.bind(n):function(){return n.apply(n,arguments)}},6530:(e,n,t)=>{var r=t(9781),o=t(2597),i=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,l=o(i,"name"),c=l&&"something"===function(){}.name,u=l&&(!r||r&&a(i,"name").configurable);e.exports={EXISTS:l,PROPER:c,CONFIGURABLE:u}},1702:e=>{var n=Function.prototype,t=n.bind,r=n.call,o=t&&t.bind(r);e.exports=t?function(e){return e&&o(r,e)}:function(e){return e&&function(){return r.apply(e,arguments)}}},5005:(e,n,t)=>{var r=t(7854),o=t(614),i=function(e){return o(e)?e:void 0};e.exports=function(e,n){return arguments.length<2?i(r[e]):r[e]&&r[e][n]}},1246:(e,n,t)=>{var r=t(648),o=t(8173),i=t(7497),a=t(5112)("iterator");e.exports=function(e){if(null!=e)return o(e,a)||o(e,"@@iterator")||i[r(e)]}},8554:(e,n,t)=>{var r=t(7854),o=t(6916),i=t(9662),a=t(9670),l=t(6330),c=t(1246),u=r.TypeError;e.exports=function(e,n){var t=arguments.length<2?c(e):n;if(i(t))return a(o(t,e));throw u(l(e)+" is not iterable")}},8173:(e,n,t)=>{var r=t(9662);e.exports=function(e,n){var t=e[n];return null==t?void 0:r(t)}},647:(e,n,t)=>{var r=t(1702),o=t(7908),i=Math.floor,a=r("".charAt),l=r("".replace),c=r("".slice),u=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,s=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,n,t,r,f,p){var d=t+e.length,h=r.length,g=s;return void 0!==f&&(f=o(f),g=u),l(p,g,(function(o,l){var u;switch(a(l,0)){case"$":return"$";case"&":return e;case"`":return c(n,0,t);case"'":return c(n,d);case"<":u=f[c(l,1,-1)];break;default:var s=+l;if(0===s)return o;if(s>h){var p=i(s/10);return 0===p?o:p<=h?void 0===r[p-1]?a(l,1):r[p-1]+a(l,1):o}u=r[s-1]}return void 0===u?"":u}))}},7854:(e,n,t)=>{var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t.g&&t.g)||function(){return this}()||Function("return this")()},2597:(e,n,t)=>{var r=t(1702),o=t(7908),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,n){return i(o(e),n)}},3501:e=>{e.exports={}},490:(e,n,t)=>{var r=t(5005);e.exports=r("document","documentElement")},4664:(e,n,t)=>{var r=t(9781),o=t(7293),i=t(317);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:(e,n,t)=>{var r=t(7854),o=t(1702),i=t(7293),a=t(4326),l=r.Object,c=o("".split);e.exports=i((function(){return!l("z").propertyIsEnumerable(0)}))?function(e){return"String"==a(e)?c(e,""):l(e)}:l},9587:(e,n,t)=>{var r=t(614),o=t(111),i=t(7674);e.exports=function(e,n,t){var a,l;return i&&r(a=n.constructor)&&a!==t&&o(l=a.prototype)&&l!==t.prototype&&i(e,l),e}},2788:(e,n,t)=>{var r=t(1702),o=t(614),i=t(5465),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},2423:(e,n,t)=>{var r=t(2109),o=t(1702),i=t(3501),a=t(111),l=t(2597),c=t(3070).f,u=t(8006),s=t(1156),f=t(2050),p=t(9711),d=t(6677),h=!1,g=p("meta"),v=0,A=function(e){c(e,g,{value:{objectID:"O"+v++,weakData:{}}})},b=e.exports={enable:function(){b.enable=function(){},h=!0;var e=u.f,n=o([].splice),t={};t[g]=1,e(t).length&&(u.f=function(t){for(var r=e(t),o=0,i=r.length;o{var r,o,i,a=t(8536),l=t(7854),c=t(1702),u=t(111),s=t(8880),f=t(2597),p=t(5465),d=t(6200),h=t(3501),g="Object already initialized",v=l.TypeError,A=l.WeakMap;if(a||p.state){var b=p.state||(p.state=new A),m=c(b.get),y=c(b.has),E=c(b.set);r=function(e,n){if(y(b,e))throw new v(g);return n.facade=e,E(b,e,n),n},o=function(e){return m(b,e)||{}},i=function(e){return y(b,e)}}else{var _=d("state");h[_]=!0,r=function(e,n){if(f(e,_))throw new v(g);return n.facade=e,s(e,_,n),n},o=function(e){return f(e,_)?e[_]:{}},i=function(e){return f(e,_)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(n){var t;if(!u(n)||(t=o(n)).type!==e)throw v("Incompatible receiver, "+e+" required");return t}}}},7659:(e,n,t)=>{var r=t(5112),o=t(7497),i=r("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||a[i]===e)}},3157:(e,n,t)=>{var r=t(4326);e.exports=Array.isArray||function(e){return"Array"==r(e)}},614:e=>{e.exports=function(e){return"function"==typeof e}},4411:(e,n,t)=>{var r=t(1702),o=t(7293),i=t(614),a=t(648),l=t(5005),c=t(2788),u=function(){},s=[],f=l("Reflect","construct"),p=/^\s*(?:class|function)\b/,d=r(p.exec),h=!p.exec(u),g=function(e){if(!i(e))return!1;try{return f(u,s,e),!0}catch(e){return!1}};e.exports=!f||o((function(){var e;return g(g.call)||!g(Object)||!g((function(){e=!0}))||e}))?function(e){if(!i(e))return!1;switch(a(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return h||!!d(p,c(e))}:g},4705:(e,n,t)=>{var r=t(7293),o=t(614),i=/#|\.prototype\./,a=function(e,n){var t=c[l(e)];return t==s||t!=u&&(o(n)?r(n):!!n)},l=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=a.data={},u=a.NATIVE="N",s=a.POLYFILL="P";e.exports=a},111:(e,n,t)=>{var r=t(614);e.exports=function(e){return"object"==typeof e?null!==e:r(e)}},1913:e=>{e.exports=!1},7850:(e,n,t)=>{var r=t(111),o=t(4326),i=t(5112)("match");e.exports=function(e){var n;return r(e)&&(void 0!==(n=e[i])?!!n:"RegExp"==o(e))}},2190:(e,n,t)=>{var r=t(7854),o=t(5005),i=t(614),a=t(7976),l=t(3307),c=r.Object;e.exports=l?function(e){return"symbol"==typeof e}:function(e){var n=o("Symbol");return i(n)&&a(n.prototype,c(e))}},408:(e,n,t)=>{var r=t(7854),o=t(9974),i=t(6916),a=t(9670),l=t(6330),c=t(7659),u=t(6244),s=t(7976),f=t(8554),p=t(1246),d=t(9212),h=r.TypeError,g=function(e,n){this.stopped=e,this.result=n},v=g.prototype;e.exports=function(e,n,t){var r,A,b,m,y,E,_,C=t&&t.that,w=!(!t||!t.AS_ENTRIES),x=!(!t||!t.IS_ITERATOR),k=!(!t||!t.INTERRUPTED),S=o(n,C),O=function(e){return r&&d(r,"normal",e),new g(!0,e)},B=function(e){return w?(a(e),k?S(e[0],e[1],O):S(e[0],e[1])):k?S(e,O):S(e)};if(x)r=e;else{if(!(A=p(e)))throw h(l(e)+" is not iterable");if(c(A)){for(b=0,m=u(e);m>b;b++)if((y=B(e[b]))&&s(v,y))return y;return new g(!1)}r=f(e,A)}for(E=r.next;!(_=i(E,r)).done;){try{y=B(_.value)}catch(e){d(r,"throw",e)}if("object"==typeof y&&y&&s(v,y))return y}return new g(!1)}},9212:(e,n,t)=>{var r=t(6916),o=t(9670),i=t(8173);e.exports=function(e,n,t){var a,l;o(e);try{if(!(a=i(e,"return"))){if("throw"===n)throw t;return t}a=r(a,e)}catch(e){l=!0,a=e}if("throw"===n)throw t;if(l)throw a;return o(a),t}},3383:(e,n,t)=>{"use strict";var r,o,i,a=t(7293),l=t(614),c=t(30),u=t(9518),s=t(1320),f=t(5112),p=t(1913),d=f("iterator"),h=!1;[].keys&&("next"in(i=[].keys())?(o=u(u(i)))!==Object.prototype&&(r=o):h=!0),null==r||a((function(){var e={};return r[d].call(e)!==e}))?r={}:p&&(r=c(r)),l(r[d])||s(r,d,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:h}},7497:e=>{e.exports={}},6244:(e,n,t)=>{var r=t(7466);e.exports=function(e){return r(e.length)}},133:(e,n,t)=>{var r=t(7392),o=t(7293);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},8536:(e,n,t)=>{var r=t(7854),o=t(614),i=t(2788),a=r.WeakMap;e.exports=o(a)&&/native code/.test(i(a))},3929:(e,n,t)=>{var r=t(7854),o=t(7850),i=r.TypeError;e.exports=function(e){if(o(e))throw i("The method doesn't accept regular expressions");return e}},1574:(e,n,t)=>{"use strict";var r=t(9781),o=t(1702),i=t(6916),a=t(7293),l=t(1956),c=t(5181),u=t(5296),s=t(7908),f=t(8361),p=Object.assign,d=Object.defineProperty,h=o([].concat);e.exports=!p||a((function(){if(r&&1!==p({b:1},p(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},n={},t=Symbol(),o="abcdefghijklmnopqrst";return e[t]=7,o.split("").forEach((function(e){n[e]=e})),7!=p({},e)[t]||l(p({},n)).join("")!=o}))?function(e,n){for(var t=s(e),o=arguments.length,a=1,p=c.f,d=u.f;o>a;)for(var g,v=f(arguments[a++]),A=p?h(l(v),p(v)):l(v),b=A.length,m=0;b>m;)g=A[m++],r&&!i(d,v,g)||(t[g]=v[g]);return t}:p},30:(e,n,t)=>{var r,o=t(9670),i=t(6048),a=t(748),l=t(3501),c=t(490),u=t(317),s=t(6200),f=s("IE_PROTO"),p=function(){},d=function(e){return" + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

jdbi3-kotlin

+
+

Packages

+
+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/-kotlin-mapper-factory.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/-kotlin-mapper-factory.html new file mode 100644 index 00000000000..6cd66da1a57 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/-kotlin-mapper-factory.html @@ -0,0 +1,80 @@ + + + + + KotlinMapperFactory + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

KotlinMapperFactory

+
+
constructor()
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/build.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/build.html new file mode 100644 index 00000000000..7252bd79c7e --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/build.html @@ -0,0 +1,80 @@ + + + + + build + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

build

+
+
open override fun build(type: Type, config: ConfigRegistry): Optional<RowMapper<*>>
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/index.html new file mode 100644 index 00000000000..d4cd6dc9169 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/index.html @@ -0,0 +1,123 @@ + + + + + KotlinMapperFactory + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

KotlinMapperFactory

+
class KotlinMapperFactory : RowMapperFactory

This {@link RowMapperFactory} creates a new, generic {@link KotlinMapper} for every data class used. By installing this factory, any Kotlin data class will have an automatic, implicit row mapper.

While this sounds attractive, it does not support prefix mapping which leads to problems in more complex scenarios.

In general, registering explicit mappers using {@link Handle#registerRowMapper} is much preferred.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun build(type: Type, config: ConfigRegistry): Optional<RowMapper<*>>
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/-kotlin-mapper.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/-kotlin-mapper.html new file mode 100644 index 00000000000..ee86abd9ea7 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/-kotlin-mapper.html @@ -0,0 +1,80 @@ + + + + + KotlinMapper + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

KotlinMapper

+
+
constructor(clazz: Class<*>, prefix: String = "")
constructor(kClass: KClass<*>, prefix: String = "")
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/index.html new file mode 100644 index 00000000000..25e79b43d14 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/index.html @@ -0,0 +1,187 @@ + + + + + KotlinMapper + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

KotlinMapper

+
class KotlinMapper(val kClass: KClass<*>, prefix: String = "") : RowMapper<Any>
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(clazz: Class<*>, prefix: String = "")
constructor(kClass: KClass<*>, prefix: String = "")
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val kClass: KClass<*>
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun init(registry: ConfigRegistry)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun map(rs: ResultSet, ctx: StatementContext): Any?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun specialize(rs: ResultSet, ctx: StatementContext): RowMapper<Any?>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/k-class.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/k-class.html new file mode 100644 index 00000000000..c99c8900ea1 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/k-class.html @@ -0,0 +1,80 @@ + + + + + kClass + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

kClass

+
+
val kClass: KClass<*>
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/map.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/map.html new file mode 100644 index 00000000000..02fc8d7d792 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/map.html @@ -0,0 +1,80 @@ + + + + + map + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

map

+
+
open override fun map(rs: ResultSet, ctx: StatementContext): Any?
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/specialize.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/specialize.html new file mode 100644 index 00000000000..e2ceec18346 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/specialize.html @@ -0,0 +1,80 @@ + + + + + specialize + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

specialize

+
+
open override fun specialize(rs: ResultSet, ctx: StatementContext): RowMapper<Any?>
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/to-string.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/to-string.html new file mode 100644 index 00000000000..888ca8667c7 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/to-string.html @@ -0,0 +1,80 @@ + + + + + toString + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/-kotlin-plugin.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/-kotlin-plugin.html new file mode 100644 index 00000000000..22a0e73f370 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/-kotlin-plugin.html @@ -0,0 +1,80 @@ + + + + + KotlinPlugin + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

KotlinPlugin

+
+
constructor(installKotlinMapperFactory: Boolean = true, enableCoroutineSupport: Boolean = false)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/customize-jdbi.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/customize-jdbi.html new file mode 100644 index 00000000000..9f54560db75 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/customize-jdbi.html @@ -0,0 +1,80 @@ + + + + + customizeJdbi + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

customizeJdbi

+
+
open override fun customizeJdbi(jdbi: Jdbi)
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/index.html new file mode 100644 index 00000000000..b5c6630cd9d --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/index.html @@ -0,0 +1,188 @@ + + + + + KotlinPlugin + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

KotlinPlugin

+
class KotlinPlugin(installKotlinMapperFactory: Boolean = true, enableCoroutineSupport: Boolean = false) : JdbiPlugin.Singleton

Installs Kotlin specific functionality.

    +
  • Kotlin inference interceptor that handles the {@link KotlinMapper} for registered types
  • +
  • Kotlin mapper factory that creates implicit mappers for any data class
  • +
  • Support for using Handles in Coroutines
  • +
      @property installKotlinMapperFactory If true, install the {@link KotlinMapperFactory}.
      +@property enableCoroutineSupport If true, enable support for Kotlin Coroutines.
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(installKotlinMapperFactory: Boolean = true, enableCoroutineSupport: Boolean = false)
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun customizeHandle(handle: Handle): Handle
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun customizeJdbi(jdbi: Jdbi)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/bind-kotlin.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/bind-kotlin.html new file mode 100644 index 00000000000..0a36ff7188c --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/bind-kotlin.html @@ -0,0 +1,80 @@ + + + + + bindKotlin + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

bindKotlin

+
+
@Beta
fun <This : SqlStatement<This>> SqlStatement<This>.bindKotlin(prefix: String, obj: Any): This

Bind all the member properties of a given Kotlin object.

Parameters

prefix

A prefix for the property names.

obj

The object to bind.


@Beta
fun <This : SqlStatement<This>> SqlStatement<This>.bindKotlin(obj: Any): This

Bind all the member properties of a given Kotlin object.

Parameters

obj

The object to bind.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/configure.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/configure.html new file mode 100644 index 00000000000..0ff12557554 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/configure.html @@ -0,0 +1,80 @@ + + + + + configure + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

configure

+
+
@Beta
fun <This : Configurable<This>, C : JdbiConfig<C>> Configurable<This>.configure(configClass: KClass<C>, configurer: Consumer<C>): This

Convenience method for Configurable.configure using Kotlin class syntax.

Parameters

configClass

– the configuration type

configurer

– consumer that will be passed the configuration object

See also

Configurable.configure
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/get-config.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/get-config.html new file mode 100644 index 00000000000..69c63dc23de --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/get-config.html @@ -0,0 +1,80 @@ + + + + + getConfig + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getConfig

+
+
fun <T : JdbiConfig<T>> StatementContext.getConfig(kClass: KClass<T>): T

Convenience helper to use any KClass for config lookup.

See also

StatementContext.getConfig
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/get-qualifiers.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/get-qualifiers.html new file mode 100644 index 00000000000..bdcc9b0705b --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/get-qualifiers.html @@ -0,0 +1,80 @@ + + + + + getQualifiers + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getQualifiers

+
+

Returns the set of qualifying annotations on the given Kotlin elements.

Return

the set of qualifying annotations on the given elements.

Parameters

elements

the annotated element. Null elements are ignored.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/in-coroutine-context.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/in-coroutine-context.html new file mode 100644 index 00000000000..17fb7c53a84 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/in-coroutine-context.html @@ -0,0 +1,80 @@ + + + + + inCoroutineContext + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

inCoroutineContext

+
+
@Alpha
fun Jdbi.inCoroutineContext(handle: Handle? = null): CoroutineContext.Element

Returns a CoroutineContext.Element instance representing this Jdbi object which can be used to manage handles from this Jdbi in a coroutine context.

Return

A CoroutineContext.Element object. No attempt should be made to inspect or use this object directly. Coroutines that share a context which contains this element will share any derived object such as org.jdbi.v3.core.Handle or extension objects.

Since

3.42.0

+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/in-transaction-unchecked.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/in-transaction-unchecked.html new file mode 100644 index 00000000000..536f3a6ae44 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/in-transaction-unchecked.html @@ -0,0 +1,80 @@ + + + + + inTransactionUnchecked + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

inTransactionUnchecked

+
+
@Alpha
inline fun <R> Jdbi.inTransactionUnchecked(crossinline block: (Handle) -> R): R
@Alpha
inline fun <R> Jdbi.inTransactionUnchecked(level: TransactionIsolationLevel, crossinline block: (Handle) -> R): R

Temporary extension function for Jdbi.inTransaction.

This function WILL be deprecated and removed when not needed anymore.

See also

Jdbi.inTransaction
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/index.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/index.html new file mode 100644 index 00000000000..6e6c9de3c1c --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/index.html @@ -0,0 +1,377 @@ + + + + + org.jdbi.v3.core.kotlin + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class KotlinMapper(val kClass: KClass<*>, prefix: String = "") : RowMapper<Any>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class KotlinMapperFactory : RowMapperFactory

This {@link RowMapperFactory} creates a new, generic {@link KotlinMapper} for every data class used. By installing this factory, any Kotlin data class will have an automatic, implicit row mapper.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class KotlinPlugin(installKotlinMapperFactory: Boolean = true, enableCoroutineSupport: Boolean = false) : JdbiPlugin.Singleton

Installs Kotlin specific functionality.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Beta
fun <This : SqlStatement<This>> SqlStatement<This>.bindKotlin(obj: Any): This
@Beta
fun <This : SqlStatement<This>> SqlStatement<This>.bindKotlin(prefix: String, obj: Any): This

Bind all the member properties of a given Kotlin object.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Beta
fun <This : Configurable<This>, C : JdbiConfig<C>> Configurable<This>.configure(configClass: KClass<C>, configurer: Consumer<C>): This

Convenience method for Configurable.configure using Kotlin class syntax.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <T : JdbiConfig<T>> StatementContext.getConfig(kClass: KClass<T>): T

Convenience helper to use any KClass for config lookup.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the set of qualifying annotations on the given Kotlin elements.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Alpha
fun Jdbi.inCoroutineContext(handle: Handle? = null): CoroutineContext.Element

Returns a CoroutineContext.Element instance representing this Jdbi object which can be used to manage handles from this Jdbi in a coroutine context.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Alpha
inline fun <R> Jdbi.inTransactionUnchecked(crossinline block: (Handle) -> R): R
@Alpha
inline fun <R> Jdbi.inTransactionUnchecked(level: TransactionIsolationLevel, crossinline block: (Handle) -> R): R

Temporary extension function for Jdbi.inTransaction.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns true if the Class object represents a Kotlin class.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun <T : Any> ResultBearing.mapTo(): ResultIterable<T>

Use a reified parameter to map the result.

fun <T : Any> ResultBearing.mapTo(kClass: KClass<T>): ResultIterable<T>

Map to a Kotlin class.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <E : Any, X : Exception> Jdbi.useExtension(extensionType: KClass<E>, callback: ExtensionConsumer<E, X>)

A convenience method which opens an extension of the given type, and yields it to a callback. A handle is opened if needed by the extention, and closed before returning to the caller.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Alpha
inline fun <E> Jdbi.useExtensionUnchecked(extensionType: Class<E>, crossinline callback: (E) -> Unit)
@Alpha
inline fun <E : Any> Jdbi.useExtensionUnchecked(extensionType: KClass<E>, crossinline callback: (E) -> Unit)

Temporary extension function for Jdbi.useExtension.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Alpha
inline fun Jdbi.useHandleUnchecked(crossinline block: (Handle) -> Unit)

Temporary extension function for Jdbi.useHandle.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun <O : Any> ResultIterable<O>.useSequence(block: (Sequence<O>) -> Unit)

Stream all the rows of the result set out with a Sequence. Handles closing of the underlying iterator.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Alpha
inline fun Jdbi.useTransactionUnchecked(crossinline block: (Handle) -> Unit)
@Alpha
inline fun Jdbi.useTransactionUnchecked(level: TransactionIsolationLevel, crossinline block: (Handle) -> Unit)

Temporary extension function for Jdbi.useTransaction.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <E : Any, R, X : Exception> Jdbi.withExtension(extensionType: KClass<E>, callback: ExtensionCallback<R, E, X>): R

A convenience method which opens an extension of the given type, yields it to a callback, and returns the result of the callback. A handle is opened if needed by the extension, and closed before returning to the caller.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Alpha
inline fun <E, R> Jdbi.withExtensionUnchecked(extensionType: Class<E>, crossinline callback: (E) -> R): R
@Alpha
inline fun <E : Any, R> Jdbi.withExtensionUnchecked(extensionType: KClass<E>, crossinline callback: (E) -> R): R

Temporary extension function for Jdbi.withExtension.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Alpha
inline fun <R> Jdbi.withHandleUnchecked(crossinline block: (Handle) -> R): R

Temporary extension function for Jdbi.withHandle.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/is-kotlin-class.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/is-kotlin-class.html new file mode 100644 index 00000000000..9407dc1f219 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/is-kotlin-class.html @@ -0,0 +1,80 @@ + + + + + isKotlinClass + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

isKotlinClass

+
+

Returns true if the Class object represents a Kotlin class.

Return

True if this is a Kotlin class.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/map-to.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/map-to.html new file mode 100644 index 00000000000..5f3c1ef9602 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/map-to.html @@ -0,0 +1,80 @@ + + + + + mapTo + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

mapTo

+
+
inline fun <T : Any> ResultBearing.mapTo(): ResultIterable<T>

Use a reified parameter to map the result.

Parameters

T

The type to use for mapping.


fun <T : Any> ResultBearing.mapTo(kClass: KClass<T>): ResultIterable<T>

Map to a Kotlin class.

Parameters

kClass

the type to map the result set rows to.

See also

ResultBearing.mapTo
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-extension-unchecked.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-extension-unchecked.html new file mode 100644 index 00000000000..4b2c07f4fa7 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-extension-unchecked.html @@ -0,0 +1,80 @@ + + + + + useExtensionUnchecked + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

useExtensionUnchecked

+
+
@Alpha
inline fun <E> Jdbi.useExtensionUnchecked(extensionType: Class<E>, crossinline callback: (E) -> Unit)
@Alpha
inline fun <E : Any> Jdbi.useExtensionUnchecked(extensionType: KClass<E>, crossinline callback: (E) -> Unit)

Temporary extension function for Jdbi.useExtension.

This function WILL be deprecated and removed when not needed anymore.

See also

Jdbi.useExtension
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-extension.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-extension.html new file mode 100644 index 00000000000..12db0966bdc --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-extension.html @@ -0,0 +1,80 @@ + + + + + useExtension + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

useExtension

+
+
fun <E : Any, X : Exception> Jdbi.useExtension(extensionType: KClass<E>, callback: ExtensionConsumer<E, X>)

A convenience method which opens an extension of the given type, and yields it to a callback. A handle is opened if needed by the extention, and closed before returning to the caller.

Parameters

extensionType

the type of extension

callback

a callback which will receive the extension

the exception type optionally thrown by the callback

Throws

NoSuchExtensionException

if no org.jdbi.v3.core.extension.ExtensionFactory is registered which supports the given extension type.

if thrown by the callback.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-handle-unchecked.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-handle-unchecked.html new file mode 100644 index 00000000000..21dcdf0865a --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-handle-unchecked.html @@ -0,0 +1,80 @@ + + + + + useHandleUnchecked + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

useHandleUnchecked

+
+
@Alpha
inline fun Jdbi.useHandleUnchecked(crossinline block: (Handle) -> Unit)

Temporary extension function for Jdbi.useHandle.

This function WILL be deprecated and removed when not needed anymore.

See also

Jdbi.useHandle
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-sequence.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-sequence.html new file mode 100644 index 00000000000..77a83a8662a --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-sequence.html @@ -0,0 +1,80 @@ + + + + + useSequence + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

useSequence

+
+
inline fun <O : Any> ResultIterable<O>.useSequence(block: (Sequence<O>) -> Unit)

Stream all the rows of the result set out with a Sequence. Handles closing of the underlying iterator.

handle.createQuery(...).mapTo<Result>().useSequence { var firstResult = it.first() }
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-transaction-unchecked.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-transaction-unchecked.html new file mode 100644 index 00000000000..d597b011e7c --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-transaction-unchecked.html @@ -0,0 +1,80 @@ + + + + + useTransactionUnchecked + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

useTransactionUnchecked

+
+
@Alpha
inline fun Jdbi.useTransactionUnchecked(crossinline block: (Handle) -> Unit)
@Alpha
inline fun Jdbi.useTransactionUnchecked(level: TransactionIsolationLevel, crossinline block: (Handle) -> Unit)

Temporary extension function for Jdbi.useTransaction.

This function WILL be deprecated and removed when not needed anymore.

See also

Jdbi.useTransaction
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-extension-unchecked.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-extension-unchecked.html new file mode 100644 index 00000000000..6f8a549674e --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-extension-unchecked.html @@ -0,0 +1,80 @@ + + + + + withExtensionUnchecked + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

withExtensionUnchecked

+
+
@Alpha
inline fun <E, R> Jdbi.withExtensionUnchecked(extensionType: Class<E>, crossinline callback: (E) -> R): R
@Alpha
inline fun <E : Any, R> Jdbi.withExtensionUnchecked(extensionType: KClass<E>, crossinline callback: (E) -> R): R

Temporary extension function for Jdbi.withExtension.

This function WILL be deprecated and removed when not needed anymore.

See also

Jdbi.withExtension
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-extension.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-extension.html new file mode 100644 index 00000000000..07afef0a658 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-extension.html @@ -0,0 +1,80 @@ + + + + + withExtension + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

withExtension

+
+
fun <E : Any, R, X : Exception> Jdbi.withExtension(extensionType: KClass<E>, callback: ExtensionCallback<R, E, X>): R

A convenience method which opens an extension of the given type, yields it to a callback, and returns the result of the callback. A handle is opened if needed by the extension, and closed before returning to the caller.

Return

the value returned by the callback.

Parameters

extensionType

the type of extension.

callback

a callback which will receive the extension.

the exception type optionally thrown by the callback

Throws

NoSuchExtensionException

if no org.jdbi.v3.core.extension.ExtensionFactory is registered which supports the given extension type.

if thrown by the callback.

+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-handle-unchecked.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-handle-unchecked.html new file mode 100644 index 00000000000..aabdd446d1b --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-handle-unchecked.html @@ -0,0 +1,80 @@ + + + + + withHandleUnchecked + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

withHandleUnchecked

+
+
@Alpha
inline fun <R> Jdbi.withHandleUnchecked(crossinline block: (Handle) -> R): R

Temporary extension function for Jdbi.withHandle.

This function WILL be deprecated and removed when not needed anymore.

See also

Jdbi.withHandle
+
+ +
+
+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/package-list b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/package-list new file mode 100644 index 00000000000..344b2de0904 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/jdbi3-kotlin/package-list @@ -0,0 +1,40 @@ +$dokka.format:html-v1 +$dokka.linkExtension:html +$dokka.location:org.jdbi.v3.core.kotlin////PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/index.html +$dokka.location:org.jdbi.v3.core.kotlin//bindKotlin/org.jdbi.v3.core.statement.SqlStatement[TypeParam(bounds=[org.jdbi.v3.core.statement.SqlStatement[^]])]#kotlin.Any/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/bind-kotlin.html +$dokka.location:org.jdbi.v3.core.kotlin//bindKotlin/org.jdbi.v3.core.statement.SqlStatement[TypeParam(bounds=[org.jdbi.v3.core.statement.SqlStatement[^]])]#kotlin.String#kotlin.Any/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/bind-kotlin.html +$dokka.location:org.jdbi.v3.core.kotlin//configure/org.jdbi.v3.core.config.Configurable[TypeParam(bounds=[org.jdbi.v3.core.config.Configurable[^]])]#kotlin.reflect.KClass[TypeParam(bounds=[org.jdbi.v3.core.config.JdbiConfig[^]])]#java.util.function.Consumer[TypeParam(bounds=[org.jdbi.v3.core.config.JdbiConfig[^]])]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/configure.html +$dokka.location:org.jdbi.v3.core.kotlin//getConfig/org.jdbi.v3.core.statement.StatementContext#kotlin.reflect.KClass[TypeParam(bounds=[org.jdbi.v3.core.config.JdbiConfig[^]])]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/get-config.html +$dokka.location:org.jdbi.v3.core.kotlin//getQualifiers/#kotlin.Array[kotlin.reflect.KAnnotatedElement?]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/get-qualifiers.html +$dokka.location:org.jdbi.v3.core.kotlin//inCoroutineContext/org.jdbi.v3.core.Jdbi#org.jdbi.v3.core.Handle?/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/in-coroutine-context.html +$dokka.location:org.jdbi.v3.core.kotlin//inTransactionUnchecked/org.jdbi.v3.core.Jdbi#kotlin.Function1[org.jdbi.v3.core.Handle,TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/in-transaction-unchecked.html +$dokka.location:org.jdbi.v3.core.kotlin//inTransactionUnchecked/org.jdbi.v3.core.Jdbi#org.jdbi.v3.core.transaction.TransactionIsolationLevel#kotlin.Function1[org.jdbi.v3.core.Handle,TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/in-transaction-unchecked.html +$dokka.location:org.jdbi.v3.core.kotlin//isKotlinClass/java.lang.Class[*]#/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/is-kotlin-class.html +$dokka.location:org.jdbi.v3.core.kotlin//mapTo/org.jdbi.v3.core.result.ResultBearing#/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/map-to.html +$dokka.location:org.jdbi.v3.core.kotlin//mapTo/org.jdbi.v3.core.result.ResultBearing#kotlin.reflect.KClass[TypeParam(bounds=[kotlin.Any])]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/map-to.html +$dokka.location:org.jdbi.v3.core.kotlin//useExtension/org.jdbi.v3.core.Jdbi#kotlin.reflect.KClass[TypeParam(bounds=[kotlin.Any])]#org.jdbi.v3.core.extension.ExtensionConsumer[TypeParam(bounds=[kotlin.Any]),TypeParam(bounds=[java.lang.Exception])]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-extension.html +$dokka.location:org.jdbi.v3.core.kotlin//useExtensionUnchecked/org.jdbi.v3.core.Jdbi#java.lang.Class[TypeParam(bounds=[kotlin.Any?])]#kotlin.Function1[TypeParam(bounds=[kotlin.Any?]),kotlin.Unit]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-extension-unchecked.html +$dokka.location:org.jdbi.v3.core.kotlin//useExtensionUnchecked/org.jdbi.v3.core.Jdbi#kotlin.reflect.KClass[TypeParam(bounds=[kotlin.Any])]#kotlin.Function1[TypeParam(bounds=[kotlin.Any]),kotlin.Unit]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-extension-unchecked.html +$dokka.location:org.jdbi.v3.core.kotlin//useHandleUnchecked/org.jdbi.v3.core.Jdbi#kotlin.Function1[org.jdbi.v3.core.Handle,kotlin.Unit]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-handle-unchecked.html +$dokka.location:org.jdbi.v3.core.kotlin//useSequence/org.jdbi.v3.core.result.ResultIterable[TypeParam(bounds=[kotlin.Any])]#kotlin.Function1[kotlin.sequences.Sequence[TypeParam(bounds=[kotlin.Any])],kotlin.Unit]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-sequence.html +$dokka.location:org.jdbi.v3.core.kotlin//useTransactionUnchecked/org.jdbi.v3.core.Jdbi#kotlin.Function1[org.jdbi.v3.core.Handle,kotlin.Unit]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-transaction-unchecked.html +$dokka.location:org.jdbi.v3.core.kotlin//useTransactionUnchecked/org.jdbi.v3.core.Jdbi#org.jdbi.v3.core.transaction.TransactionIsolationLevel#kotlin.Function1[org.jdbi.v3.core.Handle,kotlin.Unit]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/use-transaction-unchecked.html +$dokka.location:org.jdbi.v3.core.kotlin//withExtension/org.jdbi.v3.core.Jdbi#kotlin.reflect.KClass[TypeParam(bounds=[kotlin.Any])]#org.jdbi.v3.core.extension.ExtensionCallback[TypeParam(bounds=[kotlin.Any?]),TypeParam(bounds=[kotlin.Any]),TypeParam(bounds=[java.lang.Exception])]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-extension.html +$dokka.location:org.jdbi.v3.core.kotlin//withExtensionUnchecked/org.jdbi.v3.core.Jdbi#java.lang.Class[TypeParam(bounds=[kotlin.Any?])]#kotlin.Function1[TypeParam(bounds=[kotlin.Any?]),TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-extension-unchecked.html +$dokka.location:org.jdbi.v3.core.kotlin//withExtensionUnchecked/org.jdbi.v3.core.Jdbi#kotlin.reflect.KClass[TypeParam(bounds=[kotlin.Any])]#kotlin.Function1[TypeParam(bounds=[kotlin.Any]),TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-extension-unchecked.html +$dokka.location:org.jdbi.v3.core.kotlin//withHandleUnchecked/org.jdbi.v3.core.Jdbi#kotlin.Function1[org.jdbi.v3.core.Handle,TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/with-handle-unchecked.html +$dokka.location:org.jdbi.v3.core.kotlin/KotlinMapper///PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/index.html +$dokka.location:org.jdbi.v3.core.kotlin/KotlinMapper/KotlinMapper/#java.lang.Class[*]#kotlin.String/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/-kotlin-mapper.html +$dokka.location:org.jdbi.v3.core.kotlin/KotlinMapper/KotlinMapper/#kotlin.reflect.KClass[*]#kotlin.String/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/-kotlin-mapper.html +$dokka.location:org.jdbi.v3.core.kotlin/KotlinMapper/kClass/#/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/k-class.html +$dokka.location:org.jdbi.v3.core.kotlin/KotlinMapper/map/#java.sql.ResultSet#org.jdbi.v3.core.statement.StatementContext/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/map.html +$dokka.location:org.jdbi.v3.core.kotlin/KotlinMapper/specialize/#java.sql.ResultSet#org.jdbi.v3.core.statement.StatementContext/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/specialize.html +$dokka.location:org.jdbi.v3.core.kotlin/KotlinMapper/toString/#/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper/to-string.html +$dokka.location:org.jdbi.v3.core.kotlin/KotlinMapperFactory///PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/index.html +$dokka.location:org.jdbi.v3.core.kotlin/KotlinMapperFactory/KotlinMapperFactory/#/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/-kotlin-mapper-factory.html +$dokka.location:org.jdbi.v3.core.kotlin/KotlinMapperFactory/build/#java.lang.reflect.Type#org.jdbi.v3.core.config.ConfigRegistry/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-mapper-factory/build.html +$dokka.location:org.jdbi.v3.core.kotlin/KotlinPlugin///PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/index.html +$dokka.location:org.jdbi.v3.core.kotlin/KotlinPlugin/KotlinPlugin/#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/-kotlin-plugin.html +$dokka.location:org.jdbi.v3.core.kotlin/KotlinPlugin/customizeJdbi/#org.jdbi.v3.core.Jdbi/PointingToDeclaration/jdbi3-kotlin/org.jdbi.v3.core.kotlin/-kotlin-plugin/customize-jdbi.html +org.jdbi.v3.core.kotlin + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/navigation.html b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/navigation.html new file mode 100644 index 00000000000..e1db95184ab --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/navigation.html @@ -0,0 +1,63 @@ + diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/clipboard.js b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/clipboard.js new file mode 100644 index 00000000000..9172376a219 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/clipboard.js @@ -0,0 +1,51 @@ +window.addEventListener('load', () => { + document.querySelectorAll('span.copy-icon').forEach(element => { + element.addEventListener('click', (el) => copyElementsContentToClipboard(element)); + }) + + document.querySelectorAll('span.anchor-icon').forEach(element => { + element.addEventListener('click', (el) => { + if(element.hasAttribute('pointing-to')){ + const location = hrefWithoutCurrentlyUsedAnchor() + '#' + element.getAttribute('pointing-to') + copyTextToClipboard(element, location) + } + }); + }) +}) + +const copyElementsContentToClipboard = (element) => { + const selection = window.getSelection(); + const range = document.createRange(); + range.selectNodeContents(element.parentNode.parentNode); + selection.removeAllRanges(); + selection.addRange(range); + + copyAndShowPopup(element, () => selection.removeAllRanges()) +} + +const copyTextToClipboard = (element, text) => { + var textarea = document.createElement("textarea"); + textarea.textContent = text; + textarea.style.position = "fixed"; + document.body.appendChild(textarea); + textarea.select(); + + copyAndShowPopup(element, () => document.body.removeChild(textarea)) +} + +const copyAndShowPopup = (element, after) => { + try { + document.execCommand('copy'); + element.nextElementSibling.classList.add('active-popup'); + setTimeout(() => { + element.nextElementSibling.classList.remove('active-popup'); + }, 1200); + } catch (e) { + console.error('Failed to write to clipboard:', e) + } + finally { + if(after) after() + } +} + +const hrefWithoutCurrentlyUsedAnchor = () => window.location.href.split('#')[0] diff --git a/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/main.js b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/main.js new file mode 100644 index 00000000000..ba6c3473926 --- /dev/null +++ b/releases/3.45.2/apidocs-kotlin/jdbi3-kotlin/scripts/main.js @@ -0,0 +1,44 @@ +(()=>{var e={8527:e=>{e.exports=''},5570:e=>{e.exports=''},107:e=>{e.exports=''},7224:e=>{e.exports=''},538:e=>{e.exports=''},1924:(e,n,t)=>{"use strict";var r=t(210),o=t(5559),i=o(r("String.prototype.indexOf"));e.exports=function(e,n){var t=r(e,!!n);return"function"==typeof t&&i(e,".prototype.")>-1?o(t):t}},5559:(e,n,t)=>{"use strict";var r=t(8612),o=t(210),i=o("%Function.prototype.apply%"),a=o("%Function.prototype.call%"),l=o("%Reflect.apply%",!0)||r.call(a,i),c=o("%Object.getOwnPropertyDescriptor%",!0),u=o("%Object.defineProperty%",!0),s=o("%Math.max%");if(u)try{u({},"a",{value:1})}catch(e){u=null}e.exports=function(e){var n=l(r,a,arguments);if(c&&u){var t=c(n,"length");t.configurable&&u(n,"length",{value:1+s(0,e.length-(arguments.length-1))})}return n};var f=function(){return l(r,i,arguments)};u?u(e.exports,"apply",{value:f}):e.exports.apply=f},4184:(e,n)=>{var t; +/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],n=0;n{"use strict";e.exports=function(e,n){var t=this,r=t.constructor;return t.options=Object.assign({storeInstancesGlobally:!0},n||{}),t.callbacks={},t.directMap={},t.sequenceLevels={},t.resetTimer=null,t.ignoreNextKeyup=!1,t.ignoreNextKeypress=!1,t.nextExpectedAction=!1,t.element=e,t.addEvents(),t.options.storeInstancesGlobally&&r.instances.push(t),t},e.exports.prototype.bind=t(2207),e.exports.prototype.bindMultiple=t(3396),e.exports.prototype.unbind=t(9208),e.exports.prototype.trigger=t(9855),e.exports.prototype.reset=t(6214),e.exports.prototype.stopCallback=t(3450),e.exports.prototype.handleKey=t(3067),e.exports.prototype.addEvents=t(718),e.exports.prototype.bindSingle=t(8763),e.exports.prototype.getKeyInfo=t(5825),e.exports.prototype.pickBestAction=t(8608),e.exports.prototype.getReverseMap=t(3956),e.exports.prototype.getMatches=t(3373),e.exports.prototype.resetSequences=t(3346),e.exports.prototype.fireCallback=t(2684),e.exports.prototype.bindSequence=t(7103),e.exports.prototype.resetSequenceTimer=t(7309),e.exports.prototype.detach=t(7554),e.exports.instances=[],e.exports.reset=t(1822),e.exports.REVERSE_MAP=null},718:(e,n,t)=>{"use strict";e.exports=function(){var e=this,n=t(4323),r=e.element;e.eventHandler=t(9646).bind(e),n(r,"keypress",e.eventHandler),n(r,"keydown",e.eventHandler),n(r,"keyup",e.eventHandler)}},2207:e=>{"use strict";e.exports=function(e,n,t){return e=e instanceof Array?e:[e],this.bindMultiple(e,n,t),this}},3396:e=>{"use strict";e.exports=function(e,n,t){for(var r=0;r{"use strict";e.exports=function(e,n,r,o){var i=this;function a(n){return function(){i.nextExpectedAction=n,++i.sequenceLevels[e],i.resetSequenceTimer()}}function l(n){var a;i.fireCallback(r,n,e),"keyup"!==o&&(a=t(6770),i.ignoreNextKeyup=a(n)),setTimeout((function(){i.resetSequences()}),10)}i.sequenceLevels[e]=0;for(var c=0;c{"use strict";e.exports=function(e,n,t,r,o){var i=this;i.directMap[e+":"+t]=n;var a,l=(e=e.replace(/\s+/g," ")).split(" ");l.length>1?i.bindSequence(e,l,n,t):(a=i.getKeyInfo(e,t),i.callbacks[a.key]=i.callbacks[a.key]||[],i.getMatches(a.key,a.modifiers,{type:a.action},r,e,o),i.callbacks[a.key][r?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:r,level:o,combo:e}))}},7554:(e,n,t)=>{var r=t(4323).off;e.exports=function(){var e=this,n=e.element;r(n,"keypress",e.eventHandler),r(n,"keydown",e.eventHandler),r(n,"keyup",e.eventHandler)}},4323:e=>{function n(e,n,t,r){return!e.addEventListener&&(n="on"+n),(e.addEventListener||e.attachEvent).call(e,n,t,r),t}e.exports=n,e.exports.on=n,e.exports.off=function(e,n,t,r){return!e.removeEventListener&&(n="on"+n),(e.removeEventListener||e.detachEvent).call(e,n,t,r),t}},2684:(e,n,t)=>{"use strict";e.exports=function(e,n,r,o){this.stopCallback(n,n.target||n.srcElement,r,o)||!1===e(n,r)&&(t(1350)(n),t(6103)(n))}},5825:(e,n,t)=>{"use strict";e.exports=function(e,n){var r,o,i,a,l,c,u=[];for(r=t(4520)(e),a=t(7549),l=t(5355),c=t(8581),i=0;i{"use strict";e.exports=function(e,n,r,o,i,a){var l,c,u,s,f=this,p=[],d=r.type;"keypress"!==d||r.code&&"Arrow"===r.code.slice(0,5)||(f.callbacks["any-character"]||[]).forEach((function(e){p.push(e)}));if(!f.callbacks[e])return p;for(u=t(8581),"keyup"===d&&u(e)&&(n=[e]),l=0;l{"use strict";e.exports=function(){var e,n=this.constructor;if(!n.REVERSE_MAP)for(var r in n.REVERSE_MAP={},e=t(4766))r>95&&r<112||e.hasOwnProperty(r)&&(n.REVERSE_MAP[e[r]]=r);return n.REVERSE_MAP}},3067:(e,n,t)=>{"use strict";e.exports=function(e,n,r){var o,i,a,l,c=this,u={},s=0,f=!1;for(o=c.getMatches(e,n,r),i=0;i{"use strict";e.exports=function(e){var n,r=this;"number"!=typeof e.which&&(e.which=e.keyCode);var o=t(6770)(e);void 0!==o&&("keyup"!==e.type||r.ignoreNextKeyup!==o?(n=t(4610),r.handleKey(o,n(e),e)):r.ignoreNextKeyup=!1)}},5532:e=>{"use strict";e.exports=function(e,n){return e.sort().join(",")===n.sort().join(",")}},8608:e=>{"use strict";e.exports=function(e,n,t){return t||(t=this.getReverseMap()[e]?"keydown":"keypress"),"keypress"===t&&n.length&&(t="keydown"),t}},6214:e=>{"use strict";e.exports=function(){return this.callbacks={},this.directMap={},this}},7309:e=>{"use strict";e.exports=function(){var e=this;clearTimeout(e.resetTimer),e.resetTimer=setTimeout((function(){e.resetSequences()}),1e3)}},3346:e=>{"use strict";e.exports=function(e){var n=this;e=e||{};var t,r=!1;for(t in n.sequenceLevels)e[t]?r=!0:n.sequenceLevels[t]=0;r||(n.nextExpectedAction=!1)}},3450:e=>{"use strict";e.exports=function(e,n){if((" "+n.className+" ").indexOf(" combokeys ")>-1)return!1;var t=n.tagName.toLowerCase();return"input"===t||"select"===t||"textarea"===t||n.isContentEditable}},9855:e=>{"use strict";e.exports=function(e,n){return this.directMap[e+":"+n]&&this.directMap[e+":"+n]({},e),this}},9208:e=>{"use strict";e.exports=function(e,n){return this.bind(e,(function(){}),n)}},1822:e=>{"use strict";e.exports=function(){this.instances.forEach((function(e){e.reset()}))}},6770:(e,n,t)=>{"use strict";e.exports=function(e){var n,r;if(n=t(4766),r=t(5295),"keypress"===e.type){var o=String.fromCharCode(e.which);return e.shiftKey||(o=o.toLowerCase()),o}return void 0!==n[e.which]?n[e.which]:void 0!==r[e.which]?r[e.which]:String.fromCharCode(e.which).toLowerCase()}},4610:e=>{"use strict";e.exports=function(e){var n=[];return e.shiftKey&&n.push("shift"),e.altKey&&n.push("alt"),e.ctrlKey&&n.push("ctrl"),e.metaKey&&n.push("meta"),n}},8581:e=>{"use strict";e.exports=function(e){return"shift"===e||"ctrl"===e||"alt"===e||"meta"===e}},4520:e=>{"use strict";e.exports=function(e){return"+"===e?["+"]:e.split("+")}},1350:e=>{"use strict";e.exports=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1}},5355:e=>{"use strict";e.exports={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"}},7549:e=>{"use strict";e.exports={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"}},5295:e=>{"use strict";e.exports={106:"*",107:"plus",109:"minus",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},4766:e=>{"use strict";e.exports={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",173:"minus",187:"plus",189:"minus",224:"meta"};for(var n=1;n<20;++n)e.exports[111+n]="f"+n;for(n=0;n<=9;++n)e.exports[n+96]=n},6103:e=>{"use strict";e.exports=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}},3362:()=>{var e;!function(){var e=Math.PI,n=2*e,t=e/180,r=document.createElement("div");document.head.appendChild(r);var o=self.ConicGradient=function(e){o.all.push(this),e=e||{},this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.repeating=!!e.repeating,this.size=e.size||Math.max(innerWidth,innerHeight),this.canvas.width=this.canvas.height=this.size;var n=e.stops;this.stops=(n||"").split(/\s*,(?![^(]*\))\s*/),this.from=0;for(var t=0;t0){var i=this.stops[0].clone();i.pos=0,this.stops.unshift(i)}if(void 0===this.stops[this.stops.length-1].pos)this.stops[this.stops.length-1].pos=1;else if(!this.repeating&&this.stops[this.stops.length-1].pos<1){var a=this.stops[this.stops.length-1].clone();a.pos=1,this.stops.push(a)}if(this.stops.forEach((function(e,n){if(void 0===e.pos){for(var t=n+1;this[t];t++)if(void 0!==this[t].pos){e.pos=this[n-1].pos+(this[t].pos-this[n-1].pos)/(t-n+1);break}}else n>0&&(e.pos=Math.max(e.pos,this[n-1].pos))}),this.stops),this.repeating){var l=(n=this.stops.slice())[n.length-1].pos-n[0].pos;for(t=0;this.stops[this.stops.length-1].pos<1&&t<1e4;t++)for(var c=0;c'},get png(){return this.canvas.toDataURL()},get r(){return Math.sqrt(2)*this.size/2},paint:function(){var e,n,r,o=this.context,i=this.r,a=this.size/2,l=0,c=this.stops[l];o.translate(this.size/2,this.size/2),o.rotate(-90*t),o.rotate(this.from*t),o.translate(-this.size/2,-this.size/2);for(var u=0;u<360;){if(u/360+1e-5>=c.pos){do{e=c,l++,c=this.stops[l]}while(c&&c!=e&&c.pos===e.pos);if(!c)break;var s=e.color+""==c.color+""&&e!=c;n=e.color.map((function(e,n){return c.color[n]-e}))}r=(u/360-e.pos)/(c.pos-e.pos);var f=s?c.color:n.map((function(n,t){var o=n*r+e.color[t];return t<3?255&o:o}));if(o.fillStyle="rgba("+f.join(",")+")",o.beginPath(),o.moveTo(a,a),s)var p=360*(c.pos-e.pos);else p=.5;var d=u*t,h=(d=Math.min(360*t,d))+p*t;h=Math.min(360*t,h+.02),o.arc(a,a,i,d,h),o.closePath(),o.fill(),u+=p}}},o.ColorStop=function(e,t){if(this.gradient=e,t){var r=t.match(/^(.+?)(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?\s*$/);if(this.color=o.ColorStop.colorToRGBA(r[1]),r[2]){var i=r[3];"%"==i||"0"===r[2]&&!i?this.pos=r[2]/100:"turn"==i?this.pos=+r[2]:"deg"==i?this.pos=r[2]/360:"grad"==i?this.pos=r[2]/400:"rad"==i&&(this.pos=r[2]/n)}r[4]&&(this.next=new o.ColorStop(e,r[1]+" "+r[4]+r[5]))}},o.ColorStop.prototype={clone:function(){var e=new o.ColorStop(this.gradient);return e.color=this.color,e.pos=this.pos,e},toString:function(){return"rgba("+this.color.join(", ")+") "+100*this.pos+"%"}},o.ColorStop.colorToRGBA=function(e){if(!Array.isArray(e)&&-1==e.indexOf("from")){r.style.color=e;var n=getComputedStyle(r).color.match(/rgba?\(([\d.]+), ([\d.]+), ([\d.]+)(?:, ([\d.]+))?\)/);return n&&(n.shift(),(n=n.map((function(e){return+e})))[3]=isNaN(n[3])?1:n[3]),n||[0,0,0,0]}return e}}(),self.StyleFix&&((e=document.createElement("p")).style.backgroundImage="conic-gradient(white, black)",e.style.backgroundImage=PrefixFree.prefix+"conic-gradient(white, black)",e.style.backgroundImage||StyleFix.register((function(e,n){return e.indexOf("conic-gradient")>-1&&(e=e.replace(/(?:repeating-)?conic-gradient\(\s*((?:\([^()]+\)|[^;()}])+?)\)/g,(function(e,n){return new ConicGradient({stops:n,repeating:e.indexOf("repeating-")>-1})}))),e})))},9662:(e,n,t)=>{var r=t(7854),o=t(614),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a function")}},9483:(e,n,t)=>{var r=t(7854),o=t(4411),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a constructor")}},6077:(e,n,t)=>{var r=t(7854),o=t(614),i=r.String,a=r.TypeError;e.exports=function(e){if("object"==typeof e||o(e))return e;throw a("Can't set "+i(e)+" as a prototype")}},1223:(e,n,t)=>{var r=t(5112),o=t(30),i=t(3070),a=r("unscopables"),l=Array.prototype;null==l[a]&&i.f(l,a,{configurable:!0,value:o(null)}),e.exports=function(e){l[a][e]=!0}},1530:(e,n,t)=>{"use strict";var r=t(8710).charAt;e.exports=function(e,n,t){return n+(t?r(e,n).length:1)}},5787:(e,n,t)=>{var r=t(7854),o=t(7976),i=r.TypeError;e.exports=function(e,n){if(o(n,e))return e;throw i("Incorrect invocation")}},9670:(e,n,t)=>{var r=t(7854),o=t(111),i=r.String,a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not an object")}},7556:(e,n,t)=>{var r=t(7293);e.exports=r((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}))},8533:(e,n,t)=>{"use strict";var r=t(2092).forEach,o=t(9341)("forEach");e.exports=o?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}},8457:(e,n,t)=>{"use strict";var r=t(7854),o=t(9974),i=t(6916),a=t(7908),l=t(3411),c=t(7659),u=t(4411),s=t(6244),f=t(6135),p=t(8554),d=t(1246),h=r.Array;e.exports=function(e){var n=a(e),t=u(this),r=arguments.length,g=r>1?arguments[1]:void 0,v=void 0!==g;v&&(g=o(g,r>2?arguments[2]:void 0));var A,b,m,y,E,_,C=d(n),w=0;if(!C||this==h&&c(C))for(A=s(n),b=t?new this(A):h(A);A>w;w++)_=v?g(n[w],w):n[w],f(b,w,_);else for(E=(y=p(n,C)).next,b=t?new this:[];!(m=i(E,y)).done;w++)_=v?l(y,g,[m.value,w],!0):m.value,f(b,w,_);return b.length=w,b}},1318:(e,n,t)=>{var r=t(5656),o=t(1400),i=t(6244),a=function(e){return function(n,t,a){var l,c=r(n),u=i(c),s=o(a,u);if(e&&t!=t){for(;u>s;)if((l=c[s++])!=l)return!0}else for(;u>s;s++)if((e||s in c)&&c[s]===t)return e||s||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},2092:(e,n,t)=>{var r=t(9974),o=t(1702),i=t(8361),a=t(7908),l=t(6244),c=t(5417),u=o([].push),s=function(e){var n=1==e,t=2==e,o=3==e,s=4==e,f=6==e,p=7==e,d=5==e||f;return function(h,g,v,A){for(var b,m,y=a(h),E=i(y),_=r(g,v),C=l(E),w=0,x=A||c,k=n?x(h,C):t||p?x(h,0):void 0;C>w;w++)if((d||w in E)&&(m=_(b=E[w],w,y),e))if(n)k[w]=m;else if(m)switch(e){case 3:return!0;case 5:return b;case 6:return w;case 2:u(k,b)}else switch(e){case 4:return!1;case 7:u(k,b)}return f?-1:o||s?s:k}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6),filterReject:s(7)}},1194:(e,n,t)=>{var r=t(7293),o=t(5112),i=t(7392),a=o("species");e.exports=function(e){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[e](Boolean).foo}))}},9341:(e,n,t)=>{"use strict";var r=t(7293);e.exports=function(e,n){var t=[][e];return!!t&&r((function(){t.call(null,n||function(){throw 1},1)}))}},3671:(e,n,t)=>{var r=t(7854),o=t(9662),i=t(7908),a=t(8361),l=t(6244),c=r.TypeError,u=function(e){return function(n,t,r,u){o(t);var s=i(n),f=a(s),p=l(s),d=e?p-1:0,h=e?-1:1;if(r<2)for(;;){if(d in f){u=f[d],d+=h;break}if(d+=h,e?d<0:p<=d)throw c("Reduce of empty array with no initial value")}for(;e?d>=0:p>d;d+=h)d in f&&(u=t(u,f[d],d,s));return u}};e.exports={left:u(!1),right:u(!0)}},206:(e,n,t)=>{var r=t(1702);e.exports=r([].slice)},4362:(e,n,t)=>{var r=t(206),o=Math.floor,i=function(e,n){var t=e.length,c=o(t/2);return t<8?a(e,n):l(e,i(r(e,0,c),n),i(r(e,c),n),n)},a=function(e,n){for(var t,r,o=e.length,i=1;i0;)e[r]=e[--r];r!==i++&&(e[r]=t)}return e},l=function(e,n,t,r){for(var o=n.length,i=t.length,a=0,l=0;a{var r=t(7854),o=t(3157),i=t(4411),a=t(111),l=t(5112)("species"),c=r.Array;e.exports=function(e){var n;return o(e)&&(n=e.constructor,(i(n)&&(n===c||o(n.prototype))||a(n)&&null===(n=n[l]))&&(n=void 0)),void 0===n?c:n}},5417:(e,n,t)=>{var r=t(7475);e.exports=function(e,n){return new(r(e))(0===n?0:n)}},3411:(e,n,t)=>{var r=t(9670),o=t(9212);e.exports=function(e,n,t,i){try{return i?n(r(t)[0],t[1]):n(t)}catch(n){o(e,"throw",n)}}},7072:(e,n,t)=>{var r=t(5112)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(e){}e.exports=function(e,n){if(!n&&!o)return!1;var t=!1;try{var i={};i[r]=function(){return{next:function(){return{done:t=!0}}}},e(i)}catch(e){}return t}},4326:(e,n,t)=>{var r=t(1702),o=r({}.toString),i=r("".slice);e.exports=function(e){return i(o(e),8,-1)}},648:(e,n,t)=>{var r=t(7854),o=t(1694),i=t(614),a=t(4326),l=t(5112)("toStringTag"),c=r.Object,u="Arguments"==a(function(){return arguments}());e.exports=o?a:function(e){var n,t,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=function(e,n){try{return e[n]}catch(e){}}(n=c(e),l))?t:u?a(n):"Object"==(r=a(n))&&i(n.callee)?"Arguments":r}},5631:(e,n,t)=>{"use strict";var r=t(3070).f,o=t(30),i=t(2248),a=t(9974),l=t(5787),c=t(408),u=t(654),s=t(6340),f=t(9781),p=t(2423).fastKey,d=t(9909),h=d.set,g=d.getterFor;e.exports={getConstructor:function(e,n,t,u){var s=e((function(e,r){l(e,d),h(e,{type:n,index:o(null),first:void 0,last:void 0,size:0}),f||(e.size=0),null!=r&&c(r,e[u],{that:e,AS_ENTRIES:t})})),d=s.prototype,v=g(n),A=function(e,n,t){var r,o,i=v(e),a=b(e,n);return a?a.value=t:(i.last=a={index:o=p(n,!0),key:n,value:t,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),f?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},b=function(e,n){var t,r=v(e),o=p(n);if("F"!==o)return r.index[o];for(t=r.first;t;t=t.next)if(t.key==n)return t};return i(d,{clear:function(){for(var e=v(this),n=e.index,t=e.first;t;)t.removed=!0,t.previous&&(t.previous=t.previous.next=void 0),delete n[t.index],t=t.next;e.first=e.last=void 0,f?e.size=0:this.size=0},delete:function(e){var n=this,t=v(n),r=b(n,e);if(r){var o=r.next,i=r.previous;delete t.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),t.first==r&&(t.first=o),t.last==r&&(t.last=i),f?t.size--:n.size--}return!!r},forEach:function(e){for(var n,t=v(this),r=a(e,arguments.length>1?arguments[1]:void 0);n=n?n.next:t.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(e){return!!b(this,e)}}),i(d,t?{get:function(e){var n=b(this,e);return n&&n.value},set:function(e,n){return A(this,0===e?0:e,n)}}:{add:function(e){return A(this,e=0===e?0:e,e)}}),f&&r(d,"size",{get:function(){return v(this).size}}),s},setStrong:function(e,n,t){var r=n+" Iterator",o=g(n),i=g(r);u(e,n,(function(e,n){h(this,{type:r,target:e,state:o(e),kind:n,last:void 0})}),(function(){for(var e=i(this),n=e.kind,t=e.last;t&&t.removed;)t=t.previous;return e.target&&(e.last=t=t?t.next:e.state.first)?"keys"==n?{value:t.key,done:!1}:"values"==n?{value:t.value,done:!1}:{value:[t.key,t.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),t?"entries":"values",!t,!0),s(n)}}},9320:(e,n,t)=>{"use strict";var r=t(1702),o=t(2248),i=t(2423).getWeakData,a=t(9670),l=t(111),c=t(5787),u=t(408),s=t(2092),f=t(2597),p=t(9909),d=p.set,h=p.getterFor,g=s.find,v=s.findIndex,A=r([].splice),b=0,m=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},E=function(e,n){return g(e.entries,(function(e){return e[0]===n}))};y.prototype={get:function(e){var n=E(this,e);if(n)return n[1]},has:function(e){return!!E(this,e)},set:function(e,n){var t=E(this,e);t?t[1]=n:this.entries.push([e,n])},delete:function(e){var n=v(this.entries,(function(n){return n[0]===e}));return~n&&A(this.entries,n,1),!!~n}},e.exports={getConstructor:function(e,n,t,r){var s=e((function(e,o){c(e,p),d(e,{type:n,id:b++,frozen:void 0}),null!=o&&u(o,e[r],{that:e,AS_ENTRIES:t})})),p=s.prototype,g=h(n),v=function(e,n,t){var r=g(e),o=i(a(n),!0);return!0===o?m(r).set(n,t):o[r.id]=t,e};return o(p,{delete:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).delete(e):t&&f(t,n.id)&&delete t[n.id]},has:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).has(e):t&&f(t,n.id)}}),o(p,t?{get:function(e){var n=g(this);if(l(e)){var t=i(e);return!0===t?m(n).get(e):t?t[n.id]:void 0}},set:function(e,n){return v(this,e,n)}}:{add:function(e){return v(this,e,!0)}}),s}}},7710:(e,n,t)=>{"use strict";var r=t(2109),o=t(7854),i=t(1702),a=t(4705),l=t(1320),c=t(2423),u=t(408),s=t(5787),f=t(614),p=t(111),d=t(7293),h=t(7072),g=t(8003),v=t(9587);e.exports=function(e,n,t){var A=-1!==e.indexOf("Map"),b=-1!==e.indexOf("Weak"),m=A?"set":"add",y=o[e],E=y&&y.prototype,_=y,C={},w=function(e){var n=i(E[e]);l(E,e,"add"==e?function(e){return n(this,0===e?0:e),this}:"delete"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:"get"==e?function(e){return b&&!p(e)?void 0:n(this,0===e?0:e)}:"has"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:function(e,t){return n(this,0===e?0:e,t),this})};if(a(e,!f(y)||!(b||E.forEach&&!d((function(){(new y).entries().next()})))))_=t.getConstructor(n,e,A,m),c.enable();else if(a(e,!0)){var x=new _,k=x[m](b?{}:-0,1)!=x,S=d((function(){x.has(1)})),O=h((function(e){new y(e)})),B=!b&&d((function(){for(var e=new y,n=5;n--;)e[m](n,n);return!e.has(-0)}));O||((_=n((function(e,n){s(e,E);var t=v(new y,e,_);return null!=n&&u(n,t[m],{that:t,AS_ENTRIES:A}),t}))).prototype=E,E.constructor=_),(S||B)&&(w("delete"),w("has"),A&&w("get")),(B||k)&&w(m),b&&E.clear&&delete E.clear}return C[e]=_,r({global:!0,forced:_!=y},C),g(_,e),b||t.setStrong(_,e,A),_}},9920:(e,n,t)=>{var r=t(2597),o=t(3887),i=t(1236),a=t(3070);e.exports=function(e,n){for(var t=o(n),l=a.f,c=i.f,u=0;u{var r=t(5112)("match");e.exports=function(e){var n=/./;try{"/./"[e](n)}catch(t){try{return n[r]=!1,"/./"[e](n)}catch(e){}}return!1}},8544:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},4230:(e,n,t)=>{var r=t(1702),o=t(4488),i=t(1340),a=/"/g,l=r("".replace);e.exports=function(e,n,t,r){var c=i(o(e)),u="<"+n;return""!==t&&(u+=" "+t+'="'+l(i(r),a,""")+'"'),u+">"+c+""}},4994:(e,n,t)=>{"use strict";var r=t(3383).IteratorPrototype,o=t(30),i=t(9114),a=t(8003),l=t(7497),c=function(){return this};e.exports=function(e,n,t){var u=n+" Iterator";return e.prototype=o(r,{next:i(1,t)}),a(e,u,!1,!0),l[u]=c,e}},8880:(e,n,t)=>{var r=t(9781),o=t(3070),i=t(9114);e.exports=r?function(e,n,t){return o.f(e,n,i(1,t))}:function(e,n,t){return e[n]=t,e}},9114:e=>{e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},6135:(e,n,t)=>{"use strict";var r=t(4948),o=t(3070),i=t(9114);e.exports=function(e,n,t){var a=r(n);a in e?o.f(e,a,i(0,t)):e[a]=t}},8709:(e,n,t)=>{"use strict";var r=t(7854),o=t(9670),i=t(2140),a=r.TypeError;e.exports=function(e){if(o(this),"string"===e||"default"===e)e="string";else if("number"!==e)throw a("Incorrect hint");return i(this,e)}},654:(e,n,t)=>{"use strict";var r=t(2109),o=t(6916),i=t(1913),a=t(6530),l=t(614),c=t(4994),u=t(9518),s=t(7674),f=t(8003),p=t(8880),d=t(1320),h=t(5112),g=t(7497),v=t(3383),A=a.PROPER,b=a.CONFIGURABLE,m=v.IteratorPrototype,y=v.BUGGY_SAFARI_ITERATORS,E=h("iterator"),_="keys",C="values",w="entries",x=function(){return this};e.exports=function(e,n,t,a,h,v,k){c(t,n,a);var S,O,B,I=function(e){if(e===h&&R)return R;if(!y&&e in j)return j[e];switch(e){case _:case C:case w:return function(){return new t(this,e)}}return function(){return new t(this)}},T=n+" Iterator",P=!1,j=e.prototype,z=j[E]||j["@@iterator"]||h&&j[h],R=!y&&z||I(h),M="Array"==n&&j.entries||z;if(M&&(S=u(M.call(new e)))!==Object.prototype&&S.next&&(i||u(S)===m||(s?s(S,m):l(S[E])||d(S,E,x)),f(S,T,!0,!0),i&&(g[T]=x)),A&&h==C&&z&&z.name!==C&&(!i&&b?p(j,"name",C):(P=!0,R=function(){return o(z,this)})),h)if(O={values:I(C),keys:v?R:I(_),entries:I(w)},k)for(B in O)(y||P||!(B in j))&&d(j,B,O[B]);else r({target:n,proto:!0,forced:y||P},O);return i&&!k||j[E]===R||d(j,E,R,{name:h}),g[n]=R,O}},7235:(e,n,t)=>{var r=t(857),o=t(2597),i=t(6061),a=t(3070).f;e.exports=function(e){var n=r.Symbol||(r.Symbol={});o(n,e)||a(n,e,{value:i.f(e)})}},9781:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:(e,n,t)=>{var r=t(7854),o=t(111),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},8324:e=>{e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8509:(e,n,t)=>{var r=t(317)("span").classList,o=r&&r.constructor&&r.constructor.prototype;e.exports=o===Object.prototype?void 0:o},8886:(e,n,t)=>{var r=t(8113).match(/firefox\/(\d+)/i);e.exports=!!r&&+r[1]},256:(e,n,t)=>{var r=t(8113);e.exports=/MSIE|Trident/.test(r)},5268:(e,n,t)=>{var r=t(4326),o=t(7854);e.exports="process"==r(o.process)},8113:(e,n,t)=>{var r=t(5005);e.exports=r("navigator","userAgent")||""},7392:(e,n,t)=>{var r,o,i=t(7854),a=t(8113),l=i.process,c=i.Deno,u=l&&l.versions||c&&c.version,s=u&&u.v8;s&&(o=(r=s.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),e.exports=o},8008:(e,n,t)=>{var r=t(8113).match(/AppleWebKit\/(\d+)\./);e.exports=!!r&&+r[1]},748:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:(e,n,t)=>{var r=t(7854),o=t(1236).f,i=t(8880),a=t(1320),l=t(3505),c=t(9920),u=t(4705);e.exports=function(e,n){var t,s,f,p,d,h=e.target,g=e.global,v=e.stat;if(t=g?r:v?r[h]||l(h,{}):(r[h]||{}).prototype)for(s in n){if(p=n[s],f=e.noTargetGet?(d=o(t,s))&&d.value:t[s],!u(g?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;c(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(t,s,p,e)}}},7293:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},7007:(e,n,t)=>{"use strict";t(4916);var r=t(1702),o=t(1320),i=t(2261),a=t(7293),l=t(5112),c=t(8880),u=l("species"),s=RegExp.prototype;e.exports=function(e,n,t,f){var p=l(e),d=!a((function(){var n={};return n[p]=function(){return 7},7!=""[e](n)})),h=d&&!a((function(){var n=!1,t=/a/;return"split"===e&&((t={}).constructor={},t.constructor[u]=function(){return t},t.flags="",t[p]=/./[p]),t.exec=function(){return n=!0,null},t[p](""),!n}));if(!d||!h||t){var g=r(/./[p]),v=n(p,""[e],(function(e,n,t,o,a){var l=r(e),c=n.exec;return c===i||c===s.exec?d&&!a?{done:!0,value:g(n,t,o)}:{done:!0,value:l(t,n,o)}:{done:!1}}));o(String.prototype,e,v[0]),o(s,p,v[1])}f&&c(s[p],"sham",!0)}},6677:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},2104:e=>{var n=Function.prototype,t=n.apply,r=n.bind,o=n.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?o.bind(t):function(){return o.apply(t,arguments)})},9974:(e,n,t)=>{var r=t(1702),o=t(9662),i=r(r.bind);e.exports=function(e,n){return o(e),void 0===n?e:i?i(e,n):function(){return e.apply(n,arguments)}}},7065:(e,n,t)=>{"use strict";var r=t(7854),o=t(1702),i=t(9662),a=t(111),l=t(2597),c=t(206),u=r.Function,s=o([].concat),f=o([].join),p={},d=function(e,n,t){if(!l(p,n)){for(var r=[],o=0;o{var n=Function.prototype.call;e.exports=n.bind?n.bind(n):function(){return n.apply(n,arguments)}},6530:(e,n,t)=>{var r=t(9781),o=t(2597),i=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,l=o(i,"name"),c=l&&"something"===function(){}.name,u=l&&(!r||r&&a(i,"name").configurable);e.exports={EXISTS:l,PROPER:c,CONFIGURABLE:u}},1702:e=>{var n=Function.prototype,t=n.bind,r=n.call,o=t&&t.bind(r);e.exports=t?function(e){return e&&o(r,e)}:function(e){return e&&function(){return r.apply(e,arguments)}}},5005:(e,n,t)=>{var r=t(7854),o=t(614),i=function(e){return o(e)?e:void 0};e.exports=function(e,n){return arguments.length<2?i(r[e]):r[e]&&r[e][n]}},1246:(e,n,t)=>{var r=t(648),o=t(8173),i=t(7497),a=t(5112)("iterator");e.exports=function(e){if(null!=e)return o(e,a)||o(e,"@@iterator")||i[r(e)]}},8554:(e,n,t)=>{var r=t(7854),o=t(6916),i=t(9662),a=t(9670),l=t(6330),c=t(1246),u=r.TypeError;e.exports=function(e,n){var t=arguments.length<2?c(e):n;if(i(t))return a(o(t,e));throw u(l(e)+" is not iterable")}},8173:(e,n,t)=>{var r=t(9662);e.exports=function(e,n){var t=e[n];return null==t?void 0:r(t)}},647:(e,n,t)=>{var r=t(1702),o=t(7908),i=Math.floor,a=r("".charAt),l=r("".replace),c=r("".slice),u=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,s=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,n,t,r,f,p){var d=t+e.length,h=r.length,g=s;return void 0!==f&&(f=o(f),g=u),l(p,g,(function(o,l){var u;switch(a(l,0)){case"$":return"$";case"&":return e;case"`":return c(n,0,t);case"'":return c(n,d);case"<":u=f[c(l,1,-1)];break;default:var s=+l;if(0===s)return o;if(s>h){var p=i(s/10);return 0===p?o:p<=h?void 0===r[p-1]?a(l,1):r[p-1]+a(l,1):o}u=r[s-1]}return void 0===u?"":u}))}},7854:(e,n,t)=>{var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t.g&&t.g)||function(){return this}()||Function("return this")()},2597:(e,n,t)=>{var r=t(1702),o=t(7908),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,n){return i(o(e),n)}},3501:e=>{e.exports={}},490:(e,n,t)=>{var r=t(5005);e.exports=r("document","documentElement")},4664:(e,n,t)=>{var r=t(9781),o=t(7293),i=t(317);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:(e,n,t)=>{var r=t(7854),o=t(1702),i=t(7293),a=t(4326),l=r.Object,c=o("".split);e.exports=i((function(){return!l("z").propertyIsEnumerable(0)}))?function(e){return"String"==a(e)?c(e,""):l(e)}:l},9587:(e,n,t)=>{var r=t(614),o=t(111),i=t(7674);e.exports=function(e,n,t){var a,l;return i&&r(a=n.constructor)&&a!==t&&o(l=a.prototype)&&l!==t.prototype&&i(e,l),e}},2788:(e,n,t)=>{var r=t(1702),o=t(614),i=t(5465),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},2423:(e,n,t)=>{var r=t(2109),o=t(1702),i=t(3501),a=t(111),l=t(2597),c=t(3070).f,u=t(8006),s=t(1156),f=t(2050),p=t(9711),d=t(6677),h=!1,g=p("meta"),v=0,A=function(e){c(e,g,{value:{objectID:"O"+v++,weakData:{}}})},b=e.exports={enable:function(){b.enable=function(){},h=!0;var e=u.f,n=o([].splice),t={};t[g]=1,e(t).length&&(u.f=function(t){for(var r=e(t),o=0,i=r.length;o{var r,o,i,a=t(8536),l=t(7854),c=t(1702),u=t(111),s=t(8880),f=t(2597),p=t(5465),d=t(6200),h=t(3501),g="Object already initialized",v=l.TypeError,A=l.WeakMap;if(a||p.state){var b=p.state||(p.state=new A),m=c(b.get),y=c(b.has),E=c(b.set);r=function(e,n){if(y(b,e))throw new v(g);return n.facade=e,E(b,e,n),n},o=function(e){return m(b,e)||{}},i=function(e){return y(b,e)}}else{var _=d("state");h[_]=!0,r=function(e,n){if(f(e,_))throw new v(g);return n.facade=e,s(e,_,n),n},o=function(e){return f(e,_)?e[_]:{}},i=function(e){return f(e,_)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(n){var t;if(!u(n)||(t=o(n)).type!==e)throw v("Incompatible receiver, "+e+" required");return t}}}},7659:(e,n,t)=>{var r=t(5112),o=t(7497),i=r("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||a[i]===e)}},3157:(e,n,t)=>{var r=t(4326);e.exports=Array.isArray||function(e){return"Array"==r(e)}},614:e=>{e.exports=function(e){return"function"==typeof e}},4411:(e,n,t)=>{var r=t(1702),o=t(7293),i=t(614),a=t(648),l=t(5005),c=t(2788),u=function(){},s=[],f=l("Reflect","construct"),p=/^\s*(?:class|function)\b/,d=r(p.exec),h=!p.exec(u),g=function(e){if(!i(e))return!1;try{return f(u,s,e),!0}catch(e){return!1}};e.exports=!f||o((function(){var e;return g(g.call)||!g(Object)||!g((function(){e=!0}))||e}))?function(e){if(!i(e))return!1;switch(a(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return h||!!d(p,c(e))}:g},4705:(e,n,t)=>{var r=t(7293),o=t(614),i=/#|\.prototype\./,a=function(e,n){var t=c[l(e)];return t==s||t!=u&&(o(n)?r(n):!!n)},l=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=a.data={},u=a.NATIVE="N",s=a.POLYFILL="P";e.exports=a},111:(e,n,t)=>{var r=t(614);e.exports=function(e){return"object"==typeof e?null!==e:r(e)}},1913:e=>{e.exports=!1},7850:(e,n,t)=>{var r=t(111),o=t(4326),i=t(5112)("match");e.exports=function(e){var n;return r(e)&&(void 0!==(n=e[i])?!!n:"RegExp"==o(e))}},2190:(e,n,t)=>{var r=t(7854),o=t(5005),i=t(614),a=t(7976),l=t(3307),c=r.Object;e.exports=l?function(e){return"symbol"==typeof e}:function(e){var n=o("Symbol");return i(n)&&a(n.prototype,c(e))}},408:(e,n,t)=>{var r=t(7854),o=t(9974),i=t(6916),a=t(9670),l=t(6330),c=t(7659),u=t(6244),s=t(7976),f=t(8554),p=t(1246),d=t(9212),h=r.TypeError,g=function(e,n){this.stopped=e,this.result=n},v=g.prototype;e.exports=function(e,n,t){var r,A,b,m,y,E,_,C=t&&t.that,w=!(!t||!t.AS_ENTRIES),x=!(!t||!t.IS_ITERATOR),k=!(!t||!t.INTERRUPTED),S=o(n,C),O=function(e){return r&&d(r,"normal",e),new g(!0,e)},B=function(e){return w?(a(e),k?S(e[0],e[1],O):S(e[0],e[1])):k?S(e,O):S(e)};if(x)r=e;else{if(!(A=p(e)))throw h(l(e)+" is not iterable");if(c(A)){for(b=0,m=u(e);m>b;b++)if((y=B(e[b]))&&s(v,y))return y;return new g(!1)}r=f(e,A)}for(E=r.next;!(_=i(E,r)).done;){try{y=B(_.value)}catch(e){d(r,"throw",e)}if("object"==typeof y&&y&&s(v,y))return y}return new g(!1)}},9212:(e,n,t)=>{var r=t(6916),o=t(9670),i=t(8173);e.exports=function(e,n,t){var a,l;o(e);try{if(!(a=i(e,"return"))){if("throw"===n)throw t;return t}a=r(a,e)}catch(e){l=!0,a=e}if("throw"===n)throw t;if(l)throw a;return o(a),t}},3383:(e,n,t)=>{"use strict";var r,o,i,a=t(7293),l=t(614),c=t(30),u=t(9518),s=t(1320),f=t(5112),p=t(1913),d=f("iterator"),h=!1;[].keys&&("next"in(i=[].keys())?(o=u(u(i)))!==Object.prototype&&(r=o):h=!0),null==r||a((function(){var e={};return r[d].call(e)!==e}))?r={}:p&&(r=c(r)),l(r[d])||s(r,d,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:h}},7497:e=>{e.exports={}},6244:(e,n,t)=>{var r=t(7466);e.exports=function(e){return r(e.length)}},133:(e,n,t)=>{var r=t(7392),o=t(7293);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},8536:(e,n,t)=>{var r=t(7854),o=t(614),i=t(2788),a=r.WeakMap;e.exports=o(a)&&/native code/.test(i(a))},3929:(e,n,t)=>{var r=t(7854),o=t(7850),i=r.TypeError;e.exports=function(e){if(o(e))throw i("The method doesn't accept regular expressions");return e}},1574:(e,n,t)=>{"use strict";var r=t(9781),o=t(1702),i=t(6916),a=t(7293),l=t(1956),c=t(5181),u=t(5296),s=t(7908),f=t(8361),p=Object.assign,d=Object.defineProperty,h=o([].concat);e.exports=!p||a((function(){if(r&&1!==p({b:1},p(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},n={},t=Symbol(),o="abcdefghijklmnopqrst";return e[t]=7,o.split("").forEach((function(e){n[e]=e})),7!=p({},e)[t]||l(p({},n)).join("")!=o}))?function(e,n){for(var t=s(e),o=arguments.length,a=1,p=c.f,d=u.f;o>a;)for(var g,v=f(arguments[a++]),A=p?h(l(v),p(v)):l(v),b=A.length,m=0;b>m;)g=A[m++],r&&!i(d,v,g)||(t[g]=v[g]);return t}:p},30:(e,n,t)=>{var r,o=t(9670),i=t(6048),a=t(748),l=t(3501),c=t(490),u=t(317),s=t(6200),f=s("IE_PROTO"),p=function(){},d=function(e){return" + + + + + + +
+ +
+
+
+

All Classes and Interfaces

+
+
+
+
+
+
Class
+
Description
+ +
+
An ArgumentFactory base class for arguments of type T.
+
+ +
+
Base module class for element configuration modules.
+
+ +
+
Base module class to define Jdbi instances.
+
+ +
 
+ +
 
+ +
 
+ +
+
Suppresses error when bindings are created but never used in the query.
+
+ +
+
Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
+
+ +
+
Locates SQL on the SQL method annotations like @SqlQuery("foo").
+
+ +
+
Represents an argument to a prepared statement.
+
+ +
+
Inspect a value with optional static type information and produce + an Argument that binds the value to a prepared statement.
+
+ +
+
ArgumentFactory extension interface that allows preparing arguments for efficient batch binding.
+
+ +
+
A registry for ArgumentFactory instances.
+
+ +
+
Represents a group of non-prepared statements to be sent to the RDMBS in one "request".
+
+ +
+
Used to control the batch chunk size for sql batch operations.
+
+ +
+
Extends the ResultBearing class to provide access to the per-batch row modification counts.
+
+ +
+
Extend the ResultIterable for batch operations.
+
+ +
+
A row mapper which maps the columns in a statement into a JavaBean.
+
+ +
Deprecated. +
this should never have been public API
+
+ +
+
Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
+
+ +
+
Binds the annotated argument as a named parameter, and as a positional parameter.
+
+ +
+
Binds the properties of a JavaBean to a SQL statement.
+
+ +
+
Binds each property for each value in the annotated Iterable or array/varargs argument, + and defines a named attribute as a comma-separated list of each bound parameter name.
+
+ +
+
Binds the properties and public fields of an object to a SQL statement.
+
+ +
+
Represents the arguments bound to a particular statement.
+
+ +
+
Bind a class based on the subset of JPA annotations we understand.
+
+ +
+
Binds each value in the annotated Iterable or array/varargs argument, and defines a named attribute as a + comma-separated list of each bound parameter name.
+
+ +
+
describes what needs to be done if the passed argument is null or empty
+
+ +
+
Binds the entries of a Map<String, Object> to a SQL statement.
+
+ +
 
+ +
+
Binds each method for each value in the annotated Iterable or array/varargs argument, + and defines a named attribute as a comma-separated list of each bound method name.
+
+ +
+
Standard implementation of ParameterCustomizerFactory that delegates to + BindFactory.createForParameter(Annotation, Class, Method, Parameter, int, Type) passing null for Annotation parameter.
+
+ +
+
Binds the properties of an object to a SQL statement.
+
+ +
Deprecated. +
will be replaced by a plugin
+
+ +
Deprecated. +
will be replaced by plugin
+
+ +
Deprecated. +
will be replaced by an opt-out plugin to give the core no hardwired behavior
+
+ +
 
+ +
+
Cache implementation using the caffeine cache library.
+
+ +
+
Cache builder using the caffeine caching library.
+
+ +
+
Installing this plugin restores the up-to 3.36.0 behavior of using the Caffeine cache library for SQL statements and the colon prefix parser.
+
+ +
+
Cache implementation using the caffeine cache library.
+
+ +
+
Used for invoking stored procedures.
+
+ +
+
Map an OUT parameter in a callable statement to a result type.
+
+ +
+
Matches column names with identical java names, ignoring case.
+
+ +
+
Strategies for comparing case sensitive strings.
+
+ +
+
Bind a Reader as a character stream parameter.
+
+ +
+
An ArgumentFactory for arguments that implement CharSequence.
+
+ +
+
Locates SQL in .sql files on the classpath.
+
+ +
+
Cleans up some JDBC resource e.g.
+
+ +
+
Thrown when an exception occurs while attempting to close a database resource.
+
+ +
+
Handler designed to behave properly in a J2EE CMT environment.
+
+ +
+
A Codec provides a convenient way for a bidirectional mapping of an attribute to a database column.
+
+ +
+
CodecFactory provides column mappers and arguments for bidirectional mapping types to database columns.
+
+ +
+
Fluent Builder for CodecFactory.
+
+ +
+
Factory for building Collectors to assemble containers of elements.
+
+ +
+
SQL parser which recognizes named parameter tokens of the form + :tokenName
+
+ +
+
Maps result set columns to objects.
+
+ +
+
Factory interface used to produce column mappers.
+
+ +
+
Configuration registry for ColumnMapperFactory instances.
+
+ +
+
Specify the mapping name for a property or parameter explicitly.
+
+ +
+
Strategy for matching SQL column names to Java property, field, or parameter names.
+
+ +
+
Customizes a given ConfigRegistry.
+
+ +
+
Factory interface to create collections of ConfigCustomizer instances.
+
+ +
+
A registry of JdbiConfig instances by type.
+
+ +
+
A type with access to access and modify arbitrary Jdbi configuration.
+
+ +
Deprecated. +
Use ExtensionConfigurer directly.
+
+ +
Deprecated. + +
+ +
 
+ +
 
+ +
+
Supplies Connection instances to a created Handle and allows + custom close handling.
+
+ +
+
A row mapper which maps the fields in a result set into a constructor.
+
+ +
+
Use this annotation on a sql object method to create a new sql object with the same underlying handle as the sql + object the method is invoked on.
+
+ +
+
Map a value from the database column directly onto an enum value.
+
+ +
+
Bind a DateTime as a Timestamp.
+
+ +
+
Map a Timestamp to a DateTime.
+
+ +
Deprecated. + +
+ +
+
A StatementBuilder which will always create a new PreparedStatement.
+
+ +
+
Defines a named attribute as the argument passed to the annotated parameter.
+
+ +
+
Template engine which replaces angle-bracketed tokens like + <name> with the string value of the named attribute.
+
+ +
+
Defines a named attribute as a comma-separated String from the + elements of the annotated array or List argument.
+
+ +
+
Defines all bound arguments that don't already have a definition.
+
+ +
+
Annotate a SqlObject type, method, or field as @Definition in order to + define an attribute for all SqlObject methods in the same type.
+
+ +
 
+ +
+
Simple delegating subclass that just invokes its delegate.
+
+ +
 
+ +
+
Postgres version of argument factory for Duration.
+
+ +
+
A column mapper which maps Postgres's PGInterval type to Java's Duration.
+
+ +
+
Thrown when Jdbi tries to build a Collector, but cannot determine the element + type intended for it.
+
+ +
+
describes what should be done if the value passed to SqlStatement.bindList(java.lang.String, java.lang.Object...) is null or empty
+
+ +
+
Annotating a spring configuration class with this annotation enables the scanning/detection of jdbi repositories.
+
+ +
+
Type qualifying annotation for pre-encoded json data.
+
+ +
+
Thrown when a JPA getter or setter fails.
+
+ +
+
Specifies that an Enum value should be bound or mapped as its Enum.name().
+
+ + + +
+
Specifies that an Enum value should be bound or mapped as its Enum.ordinal().
+
+ + + +
+
Column mapper for Java enum types.
+
+ +
+
Configuration for behavior related to Enums.
+
+ +
 
+ + + +
+
Configures ConfigRegistry instances.
+
+ + + +
+
Accepted by a handle when executing extension code.
+
+ +
+
Factory interface used to produce Jdbi extension objects.
+
+ +
+
Flags that the factory can return to control aspects of the extension framework.
+
+ +
+
Provides functionality for a single method on an extension object.
+
+ +
+
Determines the order in which extension method decorators are invoked.
+
+ +
+
Supports customization of an extension handler.
+
+ +
+
A factory to create ExtensionHandler instances.
+
+ +
+
Metadata that was detected when analyzing an extension class before attaching.
+
+ +
+
Builder class for the ExtensionMetadata object.
+
+ +
+
Holder for a Class and a Method that together + define which extension method was invoked.
+
+ +
+
Configuration class for defining Jdbi extensions via ExtensionFactory + instances.
+
+ +
+
Specify batch size to fetch resulting rows in.
+
+ +
+
A row mapper which maps the columns in a statement into an object, using reflection + to set fields on the object.
+
+ +
 
+ +
+
Rewrites a Freemarker template, using the attributes on the StatementContext as template parameters.
+
+ +
+
Locates SQL in .sql.ftl Freemarker files on the classpath.
+
+ +
+
Decorate a SqlObject type to instruct the jdbi3-generator annotation processor + to create a compiled implementation.
+
+ +
 
+ +
+
Factory for a RowMapper that can map resultset rows to column name/generic value Maps.
+
+ +
 
+ +
+
Utilities for working with generic types.
+
+ +
 
+ +
+
Factory that uses ResultSet.getObject(int, Class) to fetch values.
+
+ +
+
Configuration class for Gson 2 integration.
+
+ +
+
Gson 2 integration plugin.
+
+ +
+
Provide ArgumentFactory instances that understand Guava types.
+
+ +
+
Provides Collectors for Guava collection types.
+
+ +
+
Plugin to enable all Guava functionality.
+
+ +
+
Allows specific customizations of the Jdbi instance during creation.
+
+ +
+
Configure vendor supported types for the H2 Java database implementation
+
+ +
+
This represents a connection to the database system.
+
+ +
+
Callback that accepts a Handle that remains open for the duration + of the callback invocation.
+
+ + + +
+
Callback that accepts a Handle and returns no result.
+
+ +
+
Allows listening to events on the Handle lifecycle.
+
+ +
Deprecated. +
Use ExtensionHandler directly.
+
+ +
Deprecated. + +
+ +
Deprecated. + +
+ +
Deprecated. +
Use ExtensionHandlerFactory instances directly.
+
+ +
Deprecated. + +
+ +
+
Configuration class for handles.
+
+ +
+
Jdbi manages Handles to allow transaction nesting and extension + objects to share the same handle as long as they are within a specific scope.
+
+ +
+
A handle supplier for extension implementors.
+
+ +
+
SQL parser which recognizes named parameter tokens of the form + #tokenName.
+
+ +
+
Type qualifying annotation for HSTORE data type.
+
+ +
+
An argument factory which binds Java's Map to Postgres' hstore type.
+
+ +
+
A column mapper which maps Postgres' hstore type to Java's Map.
+
+ +
+
Postgres version of argument factory for InetAddress.
+
+ +
+
Bind an input stream as either an ASCII (discouraged) or binary stream.
+
+ + + + + +
+
Configuration class for Jackson 2 integration.
+
+ +
+
Jackson 2 integration plugin.
+
+ + + +
+
Provide mappers corresponding to java time types.
+
+ +
 
+ +
+
Main entry point; configurable wrapper around a JDBC DataSource.
+
+ +
+
Describes all operations to bind Jdbi elements in Guice.
+
+ +
+
A generic cache implementation for JDBI internal use.
+
+ +
+
Builder class for JdbiCache implementations.
+
+ +
+
Creates a new value for a JdbiCache.
+
+ +
+
Simple statistics about a JdbiCache instance.
+
+ +
+
Registry of collector factories.
+
+ +
+
Interface for classes that hold configuration.
+
+ +
+
Indicate to ConstructorMapper and other reflective mappers + how to construct an instance.
+
+ +
+
Utilities for JdbiConstructor annotation.
+
+ +
+
Base unchecked exception for exceptions thrown from jdbi.
+
+ +
 
+ +
+
Common functionality for all JUnit 5 extensions.
+
+ +
+
Initialize the data source before running a test.
+
+ +
 
+ +
+
Utility class which constructs an Jdbi instance which can conveniently + participate in Spring's transaction management system.
+
+ +
+
Use Flyway to create a database schema and/or preload a database instance.
+
+ +
+
Configures support for an FreeBuilder generated Builder) value type.
+
+ +
+
Very simple implementation of a JUnit 5 JdbiExtension which can handle any JDBC connection.
+
+ +
+
Jdbi H2 JUnit 5 rule.
+
+ +
+
Configures support for an Immutables generated Immutable or Modifiable value type.
+
+ +
+
An instance of an interception chain.
+
+ +
+
An interception chain holder to manage transformation operations.
+
+ +
+
Generic interface to allow transformation operation interception.
+
+ +
+
Jdbi PostgreSQL JUnit 5 rule using the otj-pg-embedded component.
+
+ +
+
A plugin is given an opportunity to customize instances of various Jdbi + types before they are returned from their factories.
+
+ +
+
Abstract base class for single-install JdbiPlugins.
+
+ +
+
Jdbi PostgreSQL JUnit 5 rule using the pg-embedded component.
+
+ +
+
Configure reflective bean and pojo property attributes.
+
+ +
+
When EnableJdbiRepositories is used, + detected interfaces with this annotation will be regarded as a jdbi (sql-object) repository + and are elligible for autowiring.
+
+ +
 
+ +
+
This bean registers the bean definitions of all repositories.
+
+ +
+
JUnit @Rule to manage a Jdbi instance pointed to a managed database.
+
+ +
+
Jdbi SQLite JUnit 5 rule.
+
+ +
+
Support Testcontainer JDBC containers as database for Jdbi tests.
+
+ +
+
Utility for working with Jdbi and Spring transaction bound resources
+
+ +
+
Register date and time providers to integrate with joda-time.
+
+ +
+
Holder for a single joined row.
+
+ +
+
A RowMapper implementation to easily compose existing + RowMappers.
+
+ +
+
Row mapper for a JPA-annotated type as a result.
+
+ +
+
Create JpaMappers for Entity annotated classes.
+
+ +
+
Enable minimal JPA compatibility layer.
+
+ +
+
Type qualifying annotation for converting Java types to json data type.
+
+ +
 
+ +
+
Deserializes JSON to Java objects, and serializes Java objects to JSON.
+
+ +
 
+ +
 
+ +
+
Configures the column to use for map keys, for SQL methods that return Map, or Guava's Multimap.
+
+ +
 
+ +
+
A row reducer that uses LinkedHashMap (which preserves insertion order) as a + result container, and returns map.values().stream() as the final result.
+
+ +
+
This TransactionHandler uses local JDBC transactions + demarcated explicitly on the handle and passed through to be handled + directly on the JDBC Connection instance.
+
+ +
+
Type qualifying annotation for MACADDR data type.
+
+ +
Deprecated. + +
+ +
 
+ +
 
+ +
+
Maps rows to Map.Entry<K, V>, provided there are mappers registered for types K and V.
+
+ +
+
Configuration class for MapEntryMapper.
+
+ +
+
Yo dawg, I heard you like maps, so I made you a mapper that maps rows into Map<String,Object>.
+
+ +
 
+ +
+
Configuration class for obtaining row or column mappers.
+
+ +
+
Thrown when a mapper fails to map the row to a result type.
+
+ +
+
Used to specify a polymorphic return type as a parameter on a query method.
+
+ +
+
Used to specify the maximum number of rows to return on a result set.
+
+ +
Deprecated. +
MessageFormat formats integers with decimal separators, e.g.
+
+ +
+
Access to Database Metadata.
+
+ +
 
+ +
 
+ +
+
Represents a Flyway migration Jdbi should run.
+
+ +
+
Configuration class for Moshi integration.
+
+ +
+
Moshi integration plugin.
+
+ +
+
Returns an Argument based on a name.
+
+ +
+
Signals that the annotated element is a nested mapped type.
+
+ +
+
A no operation cache implementation.
+
+ +
+
Cache builder for the no op cache.
+
+ +
+
Installing this plugin uses the no op (no caching) cache.
+
+ +
+
Thrown when no results were found in a context that requires at least one.
+
+ +
+
Thrown when Jdbi tries to produce a result Collector + but doesn't have a factory to produce it with.
+
+ +
+
Thrown when no ExtensionFactory accepts a given extension type.
+
+ +
+
Thrown when you attempt to map a type that Jdbi doesn't have a + registered mapper factory for.
+
+ +
+
A TemplateEngine that does not do any templating but returns SQL verbatim.
+
+ +
+
A typed SQL null argument.
+
+ +
+
Argument qualifier annotation, indicating that the annotated String element should be bound as an + NVARCHAR instead of a VARCHAR.
+
+ +
+
An Argument which uses setObject to support + vendor specific types.
+
+ +
+
Argument factory that matches a specified type and binds + it as an ObjectArgument.
+
+ +
Deprecated. +
this functionality will remain supported, but this class should not be API
+
+ +
Deprecated. +
this functionality will remain supported, but this class should not be API
+
+ +
+
Factory methods for collectors of optional types.
+
+ +
+
Declare a named out parameter on an @SqlCall annotated method.
+
+ +
 
+ +
+
Holds all output parameters from a stored procedure call using Call.
+
+ +
 
+ +
+
The parsed parameters from an SQL statement.
+
+ +
+
The SQL and parameters parsed from an SQL statement.
+
+ +
+
Fluent builder for ParsedSql instances.
+
+ +
+
Postgres version of argument factory for Period.
+
+ +
+
A column mapper which maps Postgres's PGInterval type to Java's Period.
+
+ +
 
+ +
+
Postgis plugin.
+
+ +
+
Postgres plugin.
+
+ +
+
Handler for PostgreSQL custom types.
+
+ +
+
Represents a prepared batch statement.
+
+ +
+
Signals that the annotated property signals the presence of the mapped type: + reflective mappers should map a null bean if this property is null, rather than a + present bean with a null property value.
+
+ +
+
Inspect a value with optional static qualified type information and produce an Argument + that binds the value to a prepared statement.
+
+ +
+
QualifiedArgumentFactory extension interface that allows preparing arguments for efficient batch binding.
+
+ +
+
Factory interface used to produce column mappers.
+
+ +
+
A Type qualified by a set of qualifier annotations.
+
+ +
+
Annotation used to identify type qualifying annotations.
+
+ +
+
Utility class for type qualifiers supported by Jdbi core.
+
+ +
+
Statement providing convenience result handling for SQL queries.
+
+ +
+
Specify the query timeout in seconds.
+
+ +
+
Configuration class for reflective mappers.
+
+ +
+
Utilities for reflective mappers.
+
+ +
 
+ +
+
Used to register an argument factory with either a sql object type or for a specific method.
+
+ +
+
Registers a BeanMapper for a specific bean class
+
+ +
 
+ +
+
Registers specifically one collector for a sql object type
+
+ +
+
Used to register a collector factory on the current + SqlStatement either for a sql object type + or for a method.
+
+ +
+
Registers a column mapper in the scope of a SQL Object type or method.
+
+ +
 
+ +
+
Registers a column mapper factory in the scope of a SQL Object type or method.
+
+ +
 
+ +
+
Registers a constructor mapper factory for the given type(s).
+
+ +
 
+ +
+
Register types to reflectively assign fields with FieldMapper.
+
+ +
 
+ +
+
Used to register a JoinRowMapper factory.
+
+ +
 
+ +
+
Registers an argument factory for a type compatible with + PreparedStatement.setObject(int, Object).
+
+ +
+
Register a row mapper in the context of a SQL Object type or method.
+
+ +
 
+ +
+
Registers a row mapper factory in the scope of a SQL Object type or method.
+
+ +
 
+ +
+
Provides access to the contents of a ResultSet by mapping to Java types.
+
+ +
+
An Iterable of values, usually mapped from a ResultSet.
+
+ +
+
An implementation of ResultIterator that delegates calls + to the iterator provided in the constructor.
+
+ +
+
Represents a forward-only iterator over a result set, which will lazily iterate + the results.
+
+ +
+
Produces a result from an executed PreparedStatement.
+
+ +
+
Commonly used ResultProducer implementations.
+
+ +
+
Returns a ResultSet from a Statement.
+
+ +
+
A ResultSetAccumulator repeatedly combines rows + from the given ResultSet to produce a single + result.
+
+ +
+
Wraps exceptions thrown while traversing the JDBC result set.
+
+ +
+
Scan over rows of result sets, mapping and collecting the rows to a result type.
+
+ + + +
+
Maps result set rows to objects.
+
+ +
+
Factory interface used to produce row mappers.
+
+ +
+
Configuration registry for RowMapperFactory instances.
+
+ +
+
Reduces row data from a ResultSet into a stream of result + elements.
+
+ +
+
A RowView is an accessor for ResultSet that uses + RowMapper or ColumnMapper to extract values.
+
+ +
+
Higher level cousin of RowMapper that operates over RowViews rather than + the bare ResultSet.
+
+ +
+
Represents a number of SQL statements delimited by semicolon which will be executed in order in a batch statement.
+
+ +
+
A TransactionHandler that automatically retries transactions that fail due to + serialization failures, which can generally be resolved by automatically + retrying the transaction.
+
+ +
+
Configuration for serializable transaction runner.
+
+ +
+
Factory that uses PreparedStatement.setObject(int, Object, int) to bind values.
+
+ +
+
Configurer base class that applies the same configuration changes independent whether an annotation + is placed on the type or a method.
+
+ +
+
Adapts a ColumnMapper into a RowMapper by mapping a single column.
+
+ +
+
Indicate to SqlObject that a type that looks like a container + should be treated as a single element.
+
+ +
+
Simple SqlLogger that emits some diagnostic information about + Jdbi usage.
+
+ +
+
Matches snake case column names to java camel case names, ignoring case.
+
+ +
 
+ +
+
+ An immutable sql statement string created from multiple tokens + in order to write inline sql statements in an easy-to-read fashion + spread out over multiple lines of code.
+
+ +
+
Bind a Java array or Collection to a SQL array using the + SqlArrayTypeFactory for the given type information.
+
+ +
+
Strategies used to bind SQL array arguments to a PreparedStatement.
+
+ +
+
Maps SQL array columns into Java arrays or other Java container types.
+
+ +
+
Strategy for converting elements of array-like arguments into SQL array elements.
+
+ +
+
Factory interface to produce SqlArrayType instances.
+
+ +
+
Configuration class for SQL array binding and mapping.
+
+ +
+
Annotate a method to indicate that it will create and execute a SQL batch.
+
+ +
+
Support for stored proc invocation.
+
+ +
+
Jdbi plugin for SQLite.
+
+ +
+
Locates SQL for jdbi SQL Object methods.
+
+ +
+
SqlLoggers receive query data before and after a query is executed, and after an exception is thrown by a bad query.
+
+ +
Deprecated. +
Use UseExtensionHandlerCustomizer instead + and implement ExtensionHandlerCustomizer for the value.
+
+ +
+
SqlObject base interface.
+
+ +
+
Locates SQL in .sql files on the classpath for use with SqlQuery.
+
+ +
+
Creates implementations for SqlObject interfaces.
+
+ +
+
Plugin that installs the SqlObject extension.
+
+ +
+
Configuration class for SQL objects.
+
+ +
Deprecated. + +
+ +
+
Parses the named parameters out of an SQL statement, and returns the + ParsedSql containing the JDBC-ready SQL statement, along with the + type of parameters used (named or positional), the number, and the parameter + name for each position (if applicable).
+
+ +
+
Used to indicate that a method should execute a query.
+
+ +
+
Annotate a method to indicate that it will execute one or more SQL statements.
+
+ +
+
Holder for repeating SqlScripts.
+
+ +
+
This class provides the common functions between Query and + Update.
+
+ +
+
Used with SqlStatementCustomizerFactory to + customize sql statements via annotations.
+
+ +
+
Interface used in conjunction with SqlStatementCustomizingAnnotation to generate + SqlStatementCustomizer instances.
+
+ +
+
Annotation used to build customizing annotations.
+
+ +
+
Customize a SqlStatement according to the value of an annotated parameter.
+
+ +
+
Configuration holder for SqlStatements.
+
+ +
+
Used to indicate that a method should execute a non-query sql statement.
+
+ +
+
Used to convert translated SQL into a prepared statement.
+
+ +
+
Used to specify how prepared statements are built.
+
+ +
+
The statement context provides access to statement-local configuration.
+
+ +
+
Listener interface for the StatementContext.
+
+ +
+
Allows tweaking of statement behaviour.
+
+ +
+
Some simple StatementCustomizers you might find handy.
+
+ +
+
Superclass for exceptions thrown while trying to execute a statement.
+
+ +
+
Configuration for StatementException and subclasses behavior.
+
+ +
+
Control exception message generation.
+
+ + + + + +
+
Register an instance of this class (SqlStatements.setTemplateEngine(org.jdbi.v3.core.statement.TemplateEngine)) to use an Apache Commons Text StringSubstitutor as a TemplateEngine.
+
+ +
+
Rewrites a StringTemplate template, using the attributes on the StatementContext as template parameters.
+
+ +
+
Configuration options for StringTemplateEngine.
+
+ +
+
Locates SQL in .sql.stg StringTemplate group files on the classpath.
+
+ +
+
Renders an SQL statement from a template.
+
+ +
 
+ +
+
Describes the parameters needed to create a new test-specific database or schema to isolate a test.
+
+ +
+
Binds the named parameter :now or a custom named parameter with + the current DateTime as an OffsetDateTime.
+
+ +
+
Configuration for Timestamped.
+
+ +
Deprecated. +
Use SqlLogger instead.
+
+ +
+
Causes the annotated method to be run in a transaction.
+
+ +
+
A mixin interface to expose transaction methods on the sql object.
+
+ +
+
Callback that expects an open transaction and produces a result.
+
+ +
+
Callback that expects an open transaction and returns no results.
+
+ +
+
Thrown when there's a problem manipulating the transaction isolation level.
+
+ +
+
Interface which defines callbacks to be used when transaction methods are called on a handle.
+
+ +
+
Supported transaction isolation levels.
+
+ +
+
Mappers similar to MapEntryMappers but map entries in vavr are in fact + of type Tuple2.
+
+ +
+
Default jdbi behavior is to bind Enum subclasses as + a string, which Postgres won't implicitly convert to an enum type.
+
+ +
+
An extended CodecFactory which can resolve Codecs for subtypes.
+
+ +
+
Marks that a specific extension could not be created.
+
+ +
+
Thrown when constructing a SqlObject fails.
+
+ +
+
Thrown when Jdbi couldn't create a statement.
+
+ +
+
Thrown when statement execution fails.
+
+ +
+
Thrown when Jdbi isn't able to change the transaction isolation level.
+
+ +
+
Wraps exceptions thrown while producing Java result types.
+
+ +
+
Thrown after a transaction finishes if we can't reset its isolation level.
+
+ +
+
Thrown when Jdbi couldn't retrieve metadata from the connection.
+
+ +
+
Used for INSERT, UPDATE, and DELETE statements
+
+ +
+
Configures SQL Object to use AnnotationSqlLocator (the default SqlLocator).
+
+ +
+
Configures SQL Object to locate SQL using the ClasspathSqlLocator.findSqlOnClasspath(Class, String) method.
+
+ +
+
Use the specified EnumStrategy for binding and mapping enum + values.
+
+ +
+
Meta-Annotation used to identify annotations that modify configuration in the context of an extension object or method.
+
+ +
+
Meta-Annotation used to map a method to an extension handler.
+
+ +
+
Meta-Annotation used to identify extension method decorating annotations.
+
+ +
+
Configures a SQL object class or method to rewrite SQL statements using Freemarker.
+
+ +
+
Configures SQL Object to locate SQL using the FreemarkerSqlLocator class.
+
+ +
+
Used to specify specific row mapper on a query method.
+
+ +
+
Used to specify a row reducer on a result-bearing method.
+
+ +
+
Use the specified SqlParser class to parse SQL for the annotated SQL object class or method.
+
+ +
 
+ +
+
Configures a SQL object class or method to rewrite SQL statements using StringTemplate.
+
+ +
+
Configures SQL Object to locate SQL using the StringTemplateSqlLocator.findStringTemplate(Class, String) + method.
+
+ +
+
Use the specified TemplateEngine class to render SQL for the + annotated SQL object class or method.
+
+ +
+
Bind UUID arguments as an Object.
+
+ +
+
Configures the column to use for map values, for SQL methods that return Map, or Guava's Multimap.
+
+ +
 
+ +
+
JDBI-Plugin for vavr.io library + + supports single-value arguments (Option, ...) + supports vavr collections via ResultBearing.collectInto(java.lang.reflect.Type) call + supports key-value mappings of a tuple result (implicitly used by map collectors) + supports tuple projection + supports column mapping for Option +
+
+
+
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/allpackages-index.html b/releases/3.45.2/apidocs/allpackages-index.html new file mode 100644 index 00000000000..64c5b66e296 --- /dev/null +++ b/releases/3.45.2/apidocs/allpackages-index.html @@ -0,0 +1,305 @@ + + + + +All Packages (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
Package Summary
+
+
Package
+
Description
+ +
+
Cache implementation using the Caffeine cache library.
+
+ +
+
A non-caching cache implementation.
+
+ +
 
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
 
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
 
+ +
+
Pluggable cache interface for Jdbi internal caches.
+
+ +
 
+ +
+
+ The collector package reduces the mapped rows of the result set + into a Stream Collector to produce the final aggregated result.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
 
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
 
+ +
+
+ The generic package holds utility methods and helper + types for reflectively working with Java generic types.
+
+ +
+
+ The h2 package adds vendor support for the H2 embeddable pure Java database implementation.
+
+ +
 
+ +
+
+ locator instances inspect text given to Jdbi and + provide lookup of the actual SQL to execute.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
 
+ +
 
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+ +
 
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The spi package includes entrypoints to extending Jdbi + instances with your own custom functionality.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+ +
+
+ freemarker provides advanced string template processing.
+
+ +
 
+ +
 
+ +
+
+ guava provides extra types that are commonly needed beyond built + in JDK types.
+
+ +
 
+ +
+
Google Guice integration.
+
+ +
 
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ Classes here provide integration hooks for working with the Spring framework.
+
+ +
+
+ The sqlite plugin provides improved support for + java.net.URL.
+
+ +
+
SQL Objects
+
+ +
+
+ The sqlobject.config package defines configuration annotations + that modify the Jdbi configuration used as the context for executing + SqlObject methods, such as registering handled types.
+
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+ +
+
+ sqlobject.locator inspects the declared SqlObject and determines + the statement text to pass off to core.locator for final + resolution of the statement text.
+
+ +
+
+ The sqlobject.statement annotations declare the type of statement + that a SqlObject method should create, such as a @SqlQuery to return rows or a + @SqlUpdate to modify rows and return the modification count.
+
+ +
+
+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method.
+
+ +
+
+ stringtemplate4 provides advanced string template processing + that Jdbi can drive with the statement's bound parameters + and context to drive statement generation that may need to bind + variable number of parameters or other advanced use cases.
+
+ +
+
JUnit 4 testing support.
+
+ +
+
JUnit 5 testing support.
+
+ +
+ +
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/constant-values.html b/releases/3.45.2/apidocs/constant-values.html new file mode 100644 index 00000000000..50fd9e0cf4b --- /dev/null +++ b/releases/3.45.2/apidocs/constant-values.html @@ -0,0 +1,140 @@ + + + + +Constant Field Values (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Constant Field Values

+
+
+

Contents

+ +
+
+

org.jdbi.*

+ + + +
    +
  • +
    org.jdbi.v3.sqlobject.customizer.Bind
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final String
    + +
    ""
    +
    +
  • +
  • +
    org.jdbi.v3.sqlobject.customizer.Definition
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final String
    + +
    "__definition_undefined__"
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/deprecated-list.html b/releases/3.45.2/apidocs/deprecated-list.html new file mode 100644 index 00000000000..a1c403022cc --- /dev/null +++ b/releases/3.45.2/apidocs/deprecated-list.html @@ -0,0 +1,394 @@ + + + + +Deprecated List (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Deprecated API

+
+

Contents

+ + + + + + + + + +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/element-list b/releases/3.45.2/apidocs/element-list new file mode 100644 index 00000000000..98182725ee9 --- /dev/null +++ b/releases/3.45.2/apidocs/element-list @@ -0,0 +1,55 @@ +org.jdbi.v3.cache.caffeine +org.jdbi.v3.cache.noop +org.jdbi.v3.commonstext +org.jdbi.v3.core +org.jdbi.v3.core.annotation +org.jdbi.v3.core.argument +org.jdbi.v3.core.array +org.jdbi.v3.core.async +org.jdbi.v3.core.cache +org.jdbi.v3.core.codec +org.jdbi.v3.core.collector +org.jdbi.v3.core.config +org.jdbi.v3.core.enums +org.jdbi.v3.core.extension +org.jdbi.v3.core.extension.annotation +org.jdbi.v3.core.generic +org.jdbi.v3.core.h2 +org.jdbi.v3.core.interceptor +org.jdbi.v3.core.locator +org.jdbi.v3.core.mapper +org.jdbi.v3.core.mapper.freebuilder +org.jdbi.v3.core.mapper.immutables +org.jdbi.v3.core.mapper.reflect +org.jdbi.v3.core.qualifier +org.jdbi.v3.core.result +org.jdbi.v3.core.spi +org.jdbi.v3.core.statement +org.jdbi.v3.core.transaction +org.jdbi.v3.freemarker +org.jdbi.v3.generator +org.jdbi.v3.gson2 +org.jdbi.v3.guava +org.jdbi.v3.guava.codec +org.jdbi.v3.guice +org.jdbi.v3.jackson2 +org.jdbi.v3.jodatime2 +org.jdbi.v3.jpa +org.jdbi.v3.json +org.jdbi.v3.meta +org.jdbi.v3.moshi +org.jdbi.v3.postgis +org.jdbi.v3.postgres +org.jdbi.v3.spring5 +org.jdbi.v3.sqlite3 +org.jdbi.v3.sqlobject +org.jdbi.v3.sqlobject.config +org.jdbi.v3.sqlobject.customizer +org.jdbi.v3.sqlobject.locator +org.jdbi.v3.sqlobject.statement +org.jdbi.v3.sqlobject.transaction +org.jdbi.v3.stringtemplate4 +org.jdbi.v3.testing +org.jdbi.v3.testing.junit5 +org.jdbi.v3.testing.junit5.tc +org.jdbi.v3.vavr diff --git a/releases/3.45.2/apidocs/index-all.html b/releases/3.45.2/apidocs/index-all.html new file mode 100644 index 00000000000..b3362731ea4 --- /dev/null +++ b/releases/3.45.2/apidocs/index-all.html @@ -0,0 +1,8321 @@ + + + + +Index (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

A

+
+
AbstractArgumentFactory<T> - Class in org.jdbi.v3.core.argument
+
+
An ArgumentFactory base class for arguments of type T.
+
+
AbstractJdbiConfigurationModule - Class in org.jdbi.v3.guice
+
+
Base module class for element configuration modules.
+
+
AbstractJdbiConfigurationModule() - Constructor for class org.jdbi.v3.guice.AbstractJdbiConfigurationModule
+
+
Creates an element configuration module.
+
+
AbstractJdbiConfigurationModule(Class<? extends Annotation>) - Constructor for class org.jdbi.v3.guice.AbstractJdbiConfigurationModule
+
+
Creates an element configuration module with a custom annotation.
+
+
AbstractJdbiDefinitionModule - Class in org.jdbi.v3.guice
+
+
Base module class to define Jdbi instances.
+
+
AbstractJdbiDefinitionModule(Annotation) - Constructor for class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Create a Jdbi definition module.
+
+
AbstractJdbiDefinitionModule(Annotation, Class<? extends Annotation>) - Constructor for class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Create a Jdbi definition module with a custom annotation for element configuration.
+
+
AbstractJdbiDefinitionModule(Class<? extends Annotation>) - Constructor for class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Create a Jdbi definition module.
+
+
AbstractJdbiDefinitionModule(Class<? extends Annotation>, Class<? extends Annotation>) - Constructor for class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Create a Jdbi definition module with a custom annotation for element configuration.
+
+
AbstractJdbiExecutor - Class in org.jdbi.v3.core.async
+
 
+
AbstractJdbiExecutor() - Constructor for class org.jdbi.v3.core.async.AbstractJdbiExecutor
+
 
+
AbstractSeparatorCharColumnNameMatcher - Class in org.jdbi.v3.core.mapper.reflect
+
 
+
accepts(Class<?>) - Method in interface org.jdbi.v3.core.extension.ExtensionFactory
+
+
Returns true if the factory can process the given extension type.
+
+
accepts(Class<?>) - Method in class org.jdbi.v3.sqlobject.SqlObjectFactory
+
 
+
accepts(Class<?>, Method) - Method in interface org.jdbi.v3.core.extension.ExtensionHandlerFactory
+
+
Determines whether the factory can create an ExtensionHandler for combination of extension type and method.
+
+
accepts(Class<?>, Method) - Method in interface org.jdbi.v3.sqlobject.HandlerFactory
+
+
Deprecated.
+
accepts(Type) - Method in class org.jdbi.v3.core.collector.BuiltInCollectorFactory
+
+
Deprecated.
+
accepts(Type) - Method in interface org.jdbi.v3.core.collector.CollectorFactory
+
+
Accept a Type as a collector.
+
+
AccessibleObjectStrategy - Enum in org.jdbi.v3.core.mapper.reflect
+
 
+
accumulate(C, RowView) - Method in interface org.jdbi.v3.core.result.RowReducer
+
+
Accumulate data from the current row into the result container.
+
+
adapt(ConfigRegistry, ArgumentFactory) - Static method in interface org.jdbi.v3.core.argument.QualifiedArgumentFactory
+
+
Adapts an ArgumentFactory into a QualifiedArgumentFactory.
+
+
adapt(ConfigRegistry, ArgumentFactory.Preparable) - Static method in interface org.jdbi.v3.core.argument.QualifiedArgumentFactory
+
+
Adapts an ArgumentFactory.Preparable into a QualifiedArgumentFactory.Preparable.
+
+
adapt(ConfigRegistry, ArgumentFactory.Preparable) - Static method in interface org.jdbi.v3.core.argument.QualifiedArgumentFactory.Preparable
+
+
Adapts an ArgumentFactory.Preparable into a QualifiedArgumentFactory.Preparable + The returned factory only matches qualified types with zero qualifiers.
+
+
adapt(ColumnMapperFactory) - Static method in interface org.jdbi.v3.core.mapper.QualifiedColumnMapperFactory
+
+
Adapts a ColumnMapperFactory into a QualifiedColumnMapperFactory.
+
+
add() - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
+
Add the current binding as a saved batch and clear the binding.
+
+
add(Object...) - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
+
Bind arguments positionally, add the binding as a saved batch, and + then clear the current binding.
+
+
add(String) - Method in class org.jdbi.v3.core.statement.Batch
+
+
Add a statement to the batch
+
+
add(Map<String, ?>) - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
+
Bind arguments from a Map, add the binding as a saved batch, + then clear the current binding.
+
+
addCleanable(Cleanable) - Method in class org.jdbi.v3.core.Handle
+
+
Registers a Cleanable to be invoked when the handle is closed.
+
+
addCleanable(Cleanable) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Registers a Cleanable to be invoked when the statement context is closed.
+
+
addCodec(Type, Codec<?>) - Method in class org.jdbi.v3.core.codec.CodecFactory.Builder
+
+
Add a codec for a Type.
+
+
addCodec(GenericType<?>, Codec<?>) - Method in class org.jdbi.v3.core.codec.CodecFactory.Builder
+
+
Add a codec for a GenericType.
+
+
addCodec(QualifiedType<?>, Codec<?>) - Method in class org.jdbi.v3.core.codec.CodecFactory.Builder
+
+
Add a codec for a QualifiedType.
+
+
addConfigCustomizerFactory(ConfigCustomizerFactory) - Method in class org.jdbi.v3.core.extension.ExtensionMetadata.Builder
+
+
Adds an ConfigCustomizerFactory that will be used to find configuration customizers when the ExtensionMetadata.Builder.build()} method is called.
+
+
addContextListener(StatementContextListener) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
 
+
addCustomizer(StatementCustomizer) - Method in interface org.jdbi.v3.core.config.Configurable
+
 
+
addCustomizer(StatementCustomizer) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Provides a means for custom statement modification.
+
+
addExtensionHandlerCustomizer(ExtensionHandlerCustomizer) - Method in class org.jdbi.v3.core.extension.ExtensionMetadata.Builder
+
+
Adds an ExtensionHandlerCustomizer that will be used to customize extension handlers when the ExtensionMetadata.Builder.build()} method is called.
+
+
addExtensionHandlerFactory(ExtensionHandlerFactory) - Method in class org.jdbi.v3.core.extension.ExtensionMetadata.Builder
+
+
Adds an ExtensionHandlerFactory that will be used to find extension handlers when the ExtensionMetadata.Builder.build()} method is called.
+
+
addFirst(JdbiInterceptor<S, T>) - Method in class org.jdbi.v3.core.interceptor.JdbiInterceptionChainHolder
+
+
Registers a new interceptor at the beginning of the chain.
+
+
addHandleListener(HandleListener) - Method in class org.jdbi.v3.core.Handle
+
+
Add a specific HandleListener which is called for specific events for this Handle.
+
+
addInstanceConfigCustomizer(ConfigCustomizer) - Method in class org.jdbi.v3.core.extension.ExtensionMetadata.Builder
+
+
Add an instance specific configuration customizer.
+
+
addLast(JdbiInterceptor<S, T>) - Method in class org.jdbi.v3.core.interceptor.JdbiInterceptionChainHolder
+
+
Registers a new interceptor at the end of the chain.
+
+
addListener(HandleListener) - Method in class org.jdbi.v3.core.Handles
+
+
Add a HandleListener which is called for specific events.
+
+
addMethodConfigCustomizer(Method, ConfigCustomizer) - Method in class org.jdbi.v3.core.extension.ExtensionMetadata.Builder
+
+
Add a method specific configuration customizer.
+
+
addMethodHandler(Method, ExtensionHandler) - Method in class org.jdbi.v3.core.extension.ExtensionMetadata.Builder
+
+
Adds a new extension handler for a method.
+
+
addNamed(String, Object) - Method in class org.jdbi.v3.core.statement.Binding
+
+
Bind a named parameter for the given name.
+
+
addNamed(String, Object, QualifiedType<?>) - Method in class org.jdbi.v3.core.statement.Binding
+
+
Bind a named parameter for the given name.
+
+
addNamed(String, Argument) - Method in class org.jdbi.v3.core.statement.Binding
+
+
Bind a named parameter for the given name.
+
+
addNamedArgumentFinder(NamedArgumentFinder) - Method in class org.jdbi.v3.core.statement.Binding
+
+
Bind a named argument finder.
+
+
addPositional(int, Object) - Method in class org.jdbi.v3.core.statement.Binding
+
+
Bind a positional parameter at the given index (0-based).
+
+
addPositional(int, Object, QualifiedType<?>) - Method in class org.jdbi.v3.core.statement.Binding
+
+
Bind a positional parameter at the given index (0-based).
+
+
addPositional(int, Argument) - Method in class org.jdbi.v3.core.statement.Binding
+
+
Bind a positional parameter at the given index (0-based).
+
+
addPropertyNamePrefix(String, String) - Static method in class org.jdbi.v3.core.mapper.reflect.ReflectionMapperUtil
+
+
Add a prefix separated with '.' to a java bean property name.
+
+
after() - Method in class org.jdbi.v3.testing.JdbiRule
+
 
+
afterAll(ExtensionContext) - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
 
+
afterAll(ExtensionContext) - Method in class org.jdbi.v3.testing.junit5.JdbiPostgresExtension
+
 
+
afterCommit(Runnable) - Method in class org.jdbi.v3.core.Handle
+
+
Execute an action the next time this Handle commits, unless it is rolled back first.
+
+
afterEach(ExtensionContext) - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
 
+
afterEach(ExtensionContext) - Method in class org.jdbi.v3.testing.junit5.JdbiPostgresExtension
+
 
+
afterExecution(PreparedStatement, StatementContext) - Method in interface org.jdbi.v3.core.statement.StatementCustomizer
+
+
This will be invoked after execution of the prepared statement, but before any results + are accessed.
+
+
afterPropertiesSet() - Method in class org.jdbi.v3.spring5.JdbiFactoryBean
+
+
Verifies that a dataSource has been set
+
+
afterPropertiesSet() - Method in class org.jdbi.v3.spring5.JdbiRepositoryFactoryBean
+
+
Verifies that the object type has been set
+
+
afterRollback(Runnable) - Method in class org.jdbi.v3.core.Handle
+
+
Execute an action the next time this Handle rolls back, unless it is committed first.
+
+
allowNoResults(boolean) - Method in class org.jdbi.v3.core.result.ResultProducers
+
+
Normally a query that doesn't return a result set throws an exception.
+
+
AllowUnusedBindings - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Suppresses error when bindings are created but never used in the query.
+
+
Alpha - Annotation Type in org.jdbi.v3.meta
+
+
Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
+
+
AnnotationSqlLocator - Class in org.jdbi.v3.sqlobject.locator
+
+
Locates SQL on the SQL method annotations like @SqlQuery("foo").
+
+
AnnotationSqlLocator() - Constructor for class org.jdbi.v3.sqlobject.locator.AnnotationSqlLocator
+
 
+
anyColumnsStartWithPrefix(Collection<String>, String, List<ColumnNameMatcher>) - Static method in class org.jdbi.v3.core.mapper.reflect.ReflectionMapperUtil
+
+
Returns whether any of the given column names begin with the given prefix, according to the list of column name + matchers.
+
+
append(String) - Method in class org.jdbi.v3.core.statement.ParsedSql.Builder
+
+
Appends the given SQL fragment to the SQL string.
+
+
appendNamedParameter(String) - Method in class org.jdbi.v3.core.statement.ParsedSql.Builder
+
+
Records a named parameter with the given name, and appends a + ? to the SQL string.
+
+
appendPositionalParameter() - Method in class org.jdbi.v3.core.statement.ParsedSql.Builder
+
+
Records a positional parameters, and appends a ? to the + SQL string.
+
+
apply(int, PreparedStatement, StatementContext) - Method in interface org.jdbi.v3.core.argument.Argument
+
+
Apply the argument to the given prepared statement.
+
+
apply(int, PreparedStatement, StatementContext) - Method in class org.jdbi.v3.core.argument.CharacterStreamArgument
+
 
+
apply(int, PreparedStatement, StatementContext) - Method in class org.jdbi.v3.core.argument.InputStreamArgument
+
 
+
apply(int, PreparedStatement, StatementContext) - Method in class org.jdbi.v3.core.argument.NullArgument
+
 
+
apply(int, PreparedStatement, StatementContext) - Method in class org.jdbi.v3.core.argument.ObjectArgument
+
 
+
apply(SqlStatement<?>) - Method in interface org.jdbi.v3.sqlobject.customizer.SqlStatementCustomizer
+
+
Invoked to customize the sql statement
+
+
apply(SqlStatement<?>, Object) - Method in interface org.jdbi.v3.sqlobject.customizer.SqlStatementParameterCustomizer
+
+
Applies the customization to the SQL statement using the argument passed to the method.
+
+
apply(StatementException) - Method in enum org.jdbi.v3.core.statement.StatementExceptions.MessageRendering
+
 
+
apply(T, ResultSet, StatementContext) - Method in interface org.jdbi.v3.core.result.ResultSetAccumulator
+
+
Extract a single row from the result set, and combine it with the + accumulator to produce a result.
+
+
applyDecorators(Handler, Class<?>, Method) - Method in class org.jdbi.v3.sqlobject.HandlerDecorators
+
+
Deprecated.
+
Applies all registered decorators to the given handler
+
+
Argument - Interface in org.jdbi.v3.core.argument
+
+
Represents an argument to a prepared statement.
+
+
ArgumentFactory - Interface in org.jdbi.v3.core.argument
+
+
Inspect a value with optional static type information and produce + an Argument that binds the value to a prepared statement.
+
+
ArgumentFactory.Preparable - Interface in org.jdbi.v3.core.argument
+
+
ArgumentFactory extension interface that allows preparing arguments for efficient batch binding.
+
+
Arguments - Class in org.jdbi.v3.core.argument
+
+
A registry for ArgumentFactory instances.
+
+
Arguments(ConfigRegistry) - Constructor for class org.jdbi.v3.core.argument.Arguments
+
 
+
arrayType(Type) - Static method in class org.jdbi.v3.core.generic.GenericTypes
+
+
Returns the element type for an Array Type.
+
+
asCallback() - Method in interface org.jdbi.v3.core.HandleConsumer
+
 
+
asCallback() - Method in interface org.jdbi.v3.sqlobject.transaction.TransactionalConsumer
+
 
+
attach(Class<E>, HandleSupplier) - Method in interface org.jdbi.v3.core.extension.ExtensionFactory
+
+
Attaches an extension type.
+
+
attach(Class<T>) - Method in class org.jdbi.v3.core.Handle
+
+
Create a Jdbi extension object of the specified type bound to this handle.
+
+
attach(Class<T>) - Method in class org.jdbi.v3.testing.JdbiRule
+
+
Attach an extension (such as a SqlObject) to the managed handle.
+
+
attach(Class<T>) - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Convenience method to attach an extension (such as a SqlObject) to the shared handle.
+
+
attachToHandleForCleanup() - Method in class org.jdbi.v3.core.statement.Batch
+
+
Registers with the handle for cleaning when the handle is closed.
+
+
attachToHandleForCleanup() - Method in class org.jdbi.v3.core.statement.Call
+
+
Registers with the handle for cleaning when the handle is closed.
+
+
attachToHandleForCleanup() - Method in class org.jdbi.v3.core.statement.MetaData
+
+
Registers with the handle for cleaning when the handle is closed.
+
+
attachToHandleForCleanup() - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
+
Registers with the handle for cleaning when the handle is closed.
+
+
attachToHandleForCleanup() - Method in class org.jdbi.v3.core.statement.Query
+
+
Registers with the handle for cleaning when the handle is closed.
+
+
attachToHandleForCleanup() - Method in class org.jdbi.v3.core.statement.Script
+
+
Registers with the handle for cleaning when the handle is closed.
+
+
attachToHandleForCleanup() - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Registers with the handle for cleaning when the handle is closed.
+
+
attachToHandleForCleanup() - Method in class org.jdbi.v3.core.statement.Update
+
+
Registers with the handle for cleaning when the handle is closed.
+
+
+

B

+
+
basePackageClasses() - Element in annotation type org.jdbi.v3.spring5.EnableJdbiRepositories
+
+
The packages of these classes are used as base packages for repository + scanning in addition to the EnableJdbiRepositories.value() and EnableJdbiRepositories.basePackages() + properties.
+
+
basePackages() - Element in annotation type org.jdbi.v3.spring5.EnableJdbiRepositories
+
+
The names of the base packages used for repository scanning in addition + to the EnableJdbiRepositories.value() and EnableJdbiRepositories.basePackageClasses() properties.
+
+
Batch - Class in org.jdbi.v3.core.statement
+
+
Represents a group of non-prepared statements to be sent to the RDMBS in one "request".
+
+
Batch(Handle) - Constructor for class org.jdbi.v3.core.statement.Batch
+
 
+
BatchChunkSize - Annotation Type in org.jdbi.v3.sqlobject.statement
+
+
Used to control the batch chunk size for sql batch operations.
+
+
BatchResultBearing - Class in org.jdbi.v3.core.result
+
+
Extends the ResultBearing class to provide access to the per-batch row modification counts.
+
+
BatchResultBearing(ResultBearing, Supplier<int[]>) - Constructor for class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
BatchResultIterable<T> - Interface in org.jdbi.v3.core.result
+
+
Extend the ResultIterable for batch operations.
+
+
BeanMapper<T> - Class in org.jdbi.v3.core.mapper.reflect
+
+
A row mapper which maps the columns in a statement into a JavaBean.
+
+
BeanPropertyArguments - Class in org.jdbi.v3.core.argument
+
+
Deprecated. +
this should never have been public API
+
+
+
BeanPropertyArguments(String, Object) - Constructor for class org.jdbi.v3.core.argument.BeanPropertyArguments
+
+
Deprecated.
+
BeanPropertyArguments(String, Object, ConfigRegistry) - Constructor for class org.jdbi.v3.core.argument.BeanPropertyArguments
+
+
Deprecated.
+
before() - Method in class org.jdbi.v3.testing.JdbiRule
+
 
+
before() - Static method in class org.jdbi.v3.testing.Migration
+
+
Create new Migration.
+
+
beforeAll(ExtensionContext) - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
 
+
beforeAll(ExtensionContext) - Method in class org.jdbi.v3.testing.junit5.JdbiPostgresExtension
+
 
+
beforeBinding(PreparedStatement, StatementContext) - Method in interface org.jdbi.v3.core.statement.StatementCustomizer
+
+
Invoked prior to applying bound parameters to the PreparedStatement.
+
+
beforeEach(ExtensionContext) - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
 
+
beforeEach(ExtensionContext) - Method in class org.jdbi.v3.testing.junit5.JdbiPostgresExtension
+
 
+
beforeExecution(PreparedStatement, StatementContext) - Method in interface org.jdbi.v3.core.statement.StatementCustomizer
+
+
Make the changes you need to inside this method.
+
+
beforeTemplating(PreparedStatement, StatementContext) - Method in interface org.jdbi.v3.core.statement.StatementCustomizer
+
+
Invoked prior to using the TemplateEngine to render sql from definitions.
+
+
begin() - Method in class org.jdbi.v3.core.Handle
+
+
Start a transaction.
+
+
begin() - Method in interface org.jdbi.v3.sqlobject.transaction.Transactional
+
+
Begins a transaction.
+
+
begin(Handle) - Method in class org.jdbi.v3.core.transaction.CMTTransactionHandler
+
+
Called when a transaction is started
+
+
begin(Handle) - Method in class org.jdbi.v3.core.transaction.DelegatingTransactionHandler
+
 
+
begin(Handle) - Method in class org.jdbi.v3.core.transaction.LocalTransactionHandler
+
 
+
begin(Handle) - Method in interface org.jdbi.v3.core.transaction.TransactionHandler
+
+
Begin a transaction.
+
+
Beta - Annotation Type in org.jdbi.v3.meta
+
+
Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
+
+
between(char, char) - Static method in class org.jdbi.v3.commonstext.StringSubstitutorTemplateEngine
+
 
+
between(char, char, char) - Static method in class org.jdbi.v3.commonstext.StringSubstitutorTemplateEngine
+
 
+
between(String, String) - Static method in class org.jdbi.v3.commonstext.StringSubstitutorTemplateEngine
+
 
+
between(String, String, char) - Static method in class org.jdbi.v3.commonstext.StringSubstitutorTemplateEngine
+
 
+
bind() - Element in annotation type org.jdbi.v3.core.annotation.JdbiProperty
+
+
Returns true if the property is bound as an argument.
+
+
bind(int, boolean) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, byte) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, byte[]) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, char) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, double) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, float) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, int) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, long) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, short) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Reader, int) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Boolean) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Byte) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Character) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Double) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Float) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Integer) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Long) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Object) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Short) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, String) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, BigDecimal) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, URI) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, URL) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Blob) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Clob) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Date) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Time) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Timestamp) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Date) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, UUID) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bind(int, Argument) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Used if you need to have some exotic parameter bound.
+
+
bind(String, boolean) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, byte) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, byte[]) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, char) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, double) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, float) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, int) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, long) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, short) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Reader, int) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Boolean) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Byte) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Character) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Double) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Float) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Integer) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Long) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Object) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Short) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, String) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, BigDecimal) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, URI) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, URL) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Blob) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Clob) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Date) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Time) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Timestamp) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Date) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, UUID) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bind(String, Argument) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Used if you need to have some exotic parameter bound.
+
+
Bind - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Binds the annotated argument as a named parameter, and as a positional parameter.
+
+
bindArray(int, Type, Iterable<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an Iterable as a SQL array.
+
+
bindArray(int, Type, Object...) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind a Java array as a SQL array, casting each element to a new type.
+
+
bindArray(int, Type, Iterator<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an Iterator as a SQL array.
+
+
bindArray(int, T...) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind a Java array as a SQL array.
+
+
bindArray(String, Type, Iterable<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an Iterable as a SQL array.
+
+
bindArray(String, Type, Object...) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind a Java array as a SQL array, casting each element to a new type.
+
+
bindArray(String, Type, Iterator<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an Iterator as a SQL array.
+
+
bindArray(String, T...) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind a Java array as a SQL array.
+
+
bindArrayType(Class<?>) - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Creates a new binding for a SQL array type.
+
+
bindASCIIStream(int, InputStream, int) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bindASCIIStream(String, InputStream, int) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bindBean(Object) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds named parameters from JavaBean properties on the argument.
+
+
bindBean(String, Object) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds named parameters from JavaBean properties on the bean argument, with the given prefix.
+
+
BindBean - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Binds the properties of a JavaBean to a SQL statement.
+
+
bindBeanList(String, List<?>, List<String>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind a parameter for each value in the given list * number of property names, + and defines an attribute as the comma-separated list of parameter references (using colon prefix).
+
+
BindBeanList - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Binds each property for each value in the annotated Iterable or array/varargs argument, + and defines a named attribute as a comma-separated list of each bound parameter name.
+
+
bindBinaryStream(int, InputStream, int) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument positionally
+
+
bindBinaryStream(String, InputStream, int) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument by name
+
+
bindBySqlType(int, Object, int) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind a value using a specific type from java.sql.Types via + PreparedStatement#setObject(int, Object, int)
+
+
bindBySqlType(String, Object, int) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind a value using a specific type from java.sql.Types via + PreparedStatement#setObject(int, Object, int)
+
+
bindByType(int, Object, Type) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument dynamically by the type passed in.
+
+
bindByType(int, Object, GenericType<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument dynamically by the generic type passed in.
+
+
bindByType(int, Object, QualifiedType<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument dynamically by the qualified type passed in.
+
+
bindByType(String, Object, Type) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument dynamically by the type passed in.
+
+
bindByType(String, Object, GenericType<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument dynamically by the generic type passed in.
+
+
bindByType(String, Object, QualifiedType<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind an argument dynamically by the type passed in.
+
+
bindCodec(Type) - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Creates a new binding for a Codec using a Type.
+
+
bindCodec(GenericType<?>) - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Creates a new binding for a Codec using a GenericType.
+
+
bindCodec(QualifiedType<?>) - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Creates a new binding for a Codec using a QualifiedType.
+
+
bindColumnMapper() - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Creates a new binding for a ColumnMapper.
+
+
bindColumnMapper(Type) - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Creates a new binding for a ColumnMapper using a Type.
+
+
bindColumnMapper(GenericType<?>) - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Creates a new binding for a ColumnMapper using a GenericType.
+
+
bindColumnMapper(QualifiedType<?>) - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Creates a new binding for a ColumnMapper using a QualifiedType.
+
+
bindCustomizer() - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Creates a new binding for a GuiceJdbiCustomizer.
+
+
bindFields(Object) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds public fields of the specified object as arguments for the query.
+
+
bindFields(String, Object) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds public fields of the specified object as arguments for the query.
+
+
BindFields - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Binds the properties and public fields of an object to a SQL statement.
+
+
binding() - Static method in class org.jdbi.v3.core.transaction.LocalTransactionHandler
+
 
+
Binding - Class in org.jdbi.v3.core.statement
+
+
Represents the arguments bound to a particular statement.
+
+
BindJpa - Annotation Type in org.jdbi.v3.jpa
+
+
Bind a class based on the subset of JPA annotations we understand.
+
+
bindList(String, Iterable<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+ +
+
bindList(String, Object...) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+ +
+
bindList(String, Iterator<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+ +
+
bindList(BiConsumer<SqlStatement, String>, String, Iterable<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+ +
+
bindList(BiConsumer<SqlStatement, String>, String, Object...) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+ +
+
bindList(BiConsumer<SqlStatement, String>, String, Iterator<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+ +
+
bindList(BiConsumer<SqlStatement, String>, String, List<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind a parameter for each value in the given list, and defines an attribute as the comma-separated list of + parameter references (using colon prefix).
+
+
BindList - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Binds each value in the annotated Iterable or array/varargs argument, and defines a named attribute as a + comma-separated list of each bound parameter name.
+
+
BindList.EmptyHandling - Enum in org.jdbi.v3.sqlobject.customizer
+
+
describes what needs to be done if the passed argument is null or empty
+
+
bindMap(Map<String, ?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds named parameters from a map of String to Object instances
+
+
BindMap - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Binds the entries of a Map<String, Object> to a SQL statement.
+
+
bindMethods(Object) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds methods with no parameters on the argument.
+
+
bindMethods(String, Object) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds methods with no parameters on the argument, with the given prefix.
+
+
BindMethods - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
 
+
bindMethodsList(String, Iterable<?>, List<String>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
For each value given, create a tuple by invoking each given method in order, and bind the tuple into + a VALUES (...) format insert clause.
+
+
BindMethodsList - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Binds each method for each value in the annotated Iterable or array/varargs argument, + and defines a named attribute as a comma-separated list of each bound method name.
+
+
bindNamedArgumentFinder(NamedArgumentFinder) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds a new NamedArgumentFinder.
+
+
bindNull(int, int) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind NULL to be set for a given argument.
+
+
bindNull(String, int) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind NULL to be set for a given argument.
+
+
bindNVarchar(int, String) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind a String argument positionally, as NVARCHAR type.
+
+
bindNVarchar(String, String) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Bind a String argument by name, as NVARCHAR type.
+
+
BindParameterCustomizerFactory - Class in org.jdbi.v3.sqlobject.statement
+
+
Standard implementation of ParameterCustomizerFactory that delegates to + BindFactory.createForParameter(Annotation, Class, Method, Parameter, int, Type) passing null for Annotation parameter.
+
+
BindParameterCustomizerFactory() - Constructor for class org.jdbi.v3.sqlobject.statement.BindParameterCustomizerFactory
+
 
+
bindPlugin() - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Creates a new binding for a JdbiPlugin.
+
+
bindPojo(Object) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds named parameters from object properties on the argument.
+
+
bindPojo(Object, Type) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds named parameters from object properties on the argument.
+
+
bindPojo(Object, GenericType<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds named parameters from object properties on the argument.
+
+
bindPojo(String, Object) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds named parameters from object properties on the bean argument, with the given prefix.
+
+
bindPojo(String, Object, Type) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds named parameters from object properties on the bean argument, with the given prefix.
+
+
bindPojo(String, Object, GenericType<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Binds named parameters from object properties on the bean argument, with the given prefix.
+
+
BindPojo - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Binds the properties of an object to a SQL statement.
+
+
bindRowMapper() - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Creates a new binding for a RowMapper.
+
+
bindRowMapper(Type) - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Creates a new binding for a RowMapper using a Type.
+
+
bindRowMapper(GenericType<?>) - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Creates a new binding for a RowMapper using a GenericType.
+
+
BLANK - Enum constant in enum org.jdbi.v3.core.statement.EmptyHandling
+
+
Render nothing in the query.
+
+
box(Type) - Static method in class org.jdbi.v3.core.generic.GenericTypes
+
+
Perform boxing conversion on a Type, if it is a primitive type.
+
+
build() - Method in class org.jdbi.v3.cache.caffeine.CaffeineCacheBuilder
+
 
+
build() - Method in class org.jdbi.v3.cache.noop.NoopCacheBuilder
+
 
+
build() - Method in interface org.jdbi.v3.core.cache.JdbiCacheBuilder
+
+
Creates an cache instance from the values in the builder.
+
+
build() - Method in class org.jdbi.v3.core.codec.CodecFactory.Builder
+
 
+
build() - Method in class org.jdbi.v3.core.extension.ExtensionMetadata.Builder
+
+
Creates a new ExtensionMetadata object.
+
+
build() - Method in class org.jdbi.v3.core.statement.ParsedSql.Builder
+
+
Returns the finalized ParsedSql object.
+
+
build(Type) - Method in class org.jdbi.v3.core.collector.BuiltInCollectorFactory
+
+
Deprecated.
+
build(Type) - Method in interface org.jdbi.v3.core.collector.CollectorFactory
+
+
Creates a collector for a given container type.
+
+
build(Type, Object, ConfigRegistry) - Method in class org.jdbi.v3.core.argument.AbstractArgumentFactory
+
 
+
build(Type, Object, ConfigRegistry) - Method in interface org.jdbi.v3.core.argument.ArgumentFactory
+
+
Returns an Argument for the given value if the factory supports it; empty otherwise.
+
+
build(Type, Object, ConfigRegistry) - Method in interface org.jdbi.v3.core.argument.ArgumentFactory.Preparable
+
 
+
build(Type, Object, ConfigRegistry) - Method in class org.jdbi.v3.core.argument.BuiltInArgumentFactory
+
+
Deprecated.
+
build(Type, Object, ConfigRegistry) - Method in class org.jdbi.v3.core.argument.DirectArgumentFactory
+
 
+
build(Type, Object, ConfigRegistry) - Method in class org.jdbi.v3.core.argument.ObjectArgumentFactory
+
 
+
build(Type, ConfigRegistry) - Method in class org.jdbi.v3.core.array.SqlArrayMapperFactory
+
 
+
build(Type, ConfigRegistry) - Method in interface org.jdbi.v3.core.array.SqlArrayTypeFactory
+
+
Returns an SqlArrayType for the given elementType if this factory supports it; empty otherwise.
+
+
build(Type, ConfigRegistry) - Method in class org.jdbi.v3.core.mapper.BuiltInMapperFactory
+
+
Deprecated.
+
build(Type, ConfigRegistry) - Method in interface org.jdbi.v3.core.mapper.ColumnMapperFactory
+
+
Supplies a column mapper which will map columns to type if the factory supports it; empty otherwise.
+
+
build(Type, ConfigRegistry) - Method in class org.jdbi.v3.core.mapper.EnumByNameMapperFactory
+
+
Deprecated.
+
build(Type, ConfigRegistry) - Method in class org.jdbi.v3.core.mapper.EnumByOrdinalMapperFactory
+
+
Deprecated.
+
build(Type, ConfigRegistry) - Method in class org.jdbi.v3.core.mapper.GenericMapMapperFactory
+
 
+
build(Type, ConfigRegistry) - Method in class org.jdbi.v3.core.mapper.GetObjectColumnMapperFactory
+
 
+
build(Type, ConfigRegistry) - Method in interface org.jdbi.v3.core.mapper.RowMapperFactory
+
+
Supplies a row mapper which will map result set rows to type if the factory supports it; empty otherwise.
+
+
build(Type, ConfigRegistry) - Method in class org.jdbi.v3.jpa.JpaMapperFactory
+
 
+
build(Type, ConfigRegistry) - Method in class org.jdbi.v3.postgres.DurationColumnMapperFactory
+
 
+
build(Type, ConfigRegistry) - Method in class org.jdbi.v3.postgres.PeriodColumnMapperFactory
+
 
+
build(Duration, ConfigRegistry) - Method in class org.jdbi.v3.postgres.DurationArgumentFactory
+
 
+
build(Period, ConfigRegistry) - Method in class org.jdbi.v3.postgres.PeriodArgumentFactory
+
 
+
build(QualifiedType<?>, Object, ConfigRegistry) - Method in interface org.jdbi.v3.core.argument.QualifiedArgumentFactory
+
+
Returns an Argument for the given value if the factory supports it; empty otherwise.
+
+
build(QualifiedType<?>, Object, ConfigRegistry) - Method in class org.jdbi.v3.core.codec.CodecFactory
+
 
+
build(QualifiedType<?>, ConfigRegistry) - Method in class org.jdbi.v3.core.codec.CodecFactory
+
 
+
build(QualifiedType<?>, ConfigRegistry) - Method in interface org.jdbi.v3.core.mapper.QualifiedColumnMapperFactory
+
+
Supplies a column mapper which will map columns to type if the factory supports it; empty + otherwise.
+
+
builder() - Static method in class org.jdbi.v3.cache.noop.NoopCache
+
+
Returns a new JdbiCacheBuilder which can be used to construct the internal caches.
+
+
builder() - Static method in class org.jdbi.v3.core.codec.CodecFactory
+
+
Returns a builder for fluent API.
+
+
builder() - Static method in class org.jdbi.v3.core.statement.ParsedSql
+
+
Creates a new ParsedSql builder.
+
+
builder() - Static method in class org.jdbi.v3.guava.codec.TypeResolvingCodecFactory
+
+
Returns a builder for fluent API.
+
+
builder(Class<?>) - Static method in class org.jdbi.v3.core.extension.ExtensionMetadata
+
+
Returns a new ExtensionMetadata.Builder instance.
+
+
Builder(Function<Map<QualifiedType<?>, Codec<?>>, CodecFactory>) - Constructor for class org.jdbi.v3.core.codec.CodecFactory.Builder
+
 
+
buildExtensionMetadata(ExtensionMetadata.Builder) - Method in interface org.jdbi.v3.core.extension.ExtensionFactory
+
+
Receives the ExtensionMetadata.Builder when the ExtensionMetadata object for this extension + is created.
+
+
buildExtensionMetadata(ExtensionMetadata.Builder) - Method in class org.jdbi.v3.sqlobject.SqlObjectFactory
+
 
+
buildHandler(Class<?>, Method) - Method in interface org.jdbi.v3.sqlobject.HandlerFactory
+
+
Deprecated.
+
Returns a Handler instance for executing the given SQL Object method.
+
+
buildWithLoader(JdbiCacheLoader<K, V>) - Method in class org.jdbi.v3.cache.caffeine.CaffeineCacheBuilder
+
 
+
buildWithLoader(JdbiCacheLoader<K, V>) - Method in class org.jdbi.v3.cache.noop.NoopCacheBuilder
+
 
+
buildWithLoader(JdbiCacheLoader<K, V>) - Method in interface org.jdbi.v3.core.cache.JdbiCacheBuilder
+
+
Creates an cache instance from the values in the builder and a supplied cache loader.
+
+
BuiltInArgumentFactory - Class in org.jdbi.v3.core.argument
+
+
Deprecated. +
will be replaced by a plugin
+
+
+
BuiltInArgumentFactory() - Constructor for class org.jdbi.v3.core.argument.BuiltInArgumentFactory
+
+
Deprecated.
+
BuiltInCollectorFactory - Class in org.jdbi.v3.core.collector
+
+
Deprecated. +
will be replaced by plugin
+
+
+
BuiltInCollectorFactory() - Constructor for class org.jdbi.v3.core.collector.BuiltInCollectorFactory
+
+
Deprecated.
+
BuiltInMapperFactory - Class in org.jdbi.v3.core.mapper
+
+
Deprecated. +
will be replaced by an opt-out plugin to give the core no hardwired behavior
+
+
+
BuiltInMapperFactory() - Constructor for class org.jdbi.v3.core.mapper.BuiltInMapperFactory
+
+
Deprecated.
+
BY_NAME - Enum constant in enum org.jdbi.v3.core.enums.EnumStrategy
+
 
+
BY_ORDINAL - Enum constant in enum org.jdbi.v3.core.enums.EnumStrategy
+
 
+
byName(Class<E>) - Static method in class org.jdbi.v3.core.mapper.EnumMapper
+
+
Map database string values to enum names.
+
+
byOrdinal(Class<E>) - Static method in class org.jdbi.v3.core.mapper.EnumMapper
+
+
Map database integer values to enum ordinal values.
+
+
+

C

+
+
cacheSize() - Method in interface org.jdbi.v3.core.cache.JdbiCacheStats
+
+
Returns the current size of the cache.
+
+
cacheStats() - Method in class org.jdbi.v3.core.statement.CachingSqlParser
+
+
Returns cache statistics for the internal sql parser cache.
+
+
cacheStats() - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Returns cache statistics for the internal template cache.
+
+
CachingSqlParser - Class in org.jdbi.v3.core.statement
+
 
+
CaffeineCache<K,V> - Class in org.jdbi.v3.cache.caffeine
+
+
Cache implementation using the caffeine cache library.
+
+
CaffeineCacheBuilder - Class in org.jdbi.v3.cache.caffeine
+
+
Cache builder using the caffeine caching library.
+
+
CaffeineCacheBuilder(Caffeine<Object, Object>) - Constructor for class org.jdbi.v3.cache.caffeine.CaffeineCacheBuilder
+
+
Wraps an existing Caffeine object for Jdbi internal use.
+
+
CaffeineCachePlugin - Class in org.jdbi.v3.cache.caffeine
+
+
Installing this plugin restores the up-to 3.36.0 behavior of using the Caffeine cache library for SQL statements and the colon prefix parser.
+
+
CaffeineCachePlugin() - Constructor for class org.jdbi.v3.cache.caffeine.CaffeineCachePlugin
+
 
+
CaffeineLoadingCache<K,V> - Class in org.jdbi.v3.cache.caffeine
+
+
Cache implementation using the caffeine cache library.
+
+
call(Runnable) - Method in class org.jdbi.v3.core.extension.ExtensionMetadata.ExtensionHandlerInvoker
+
+
Invoke a runnable in the extension context.
+
+
call(Callable<?>) - Method in class org.jdbi.v3.core.extension.ExtensionMetadata.ExtensionHandlerInvoker
+
+
Invoke a callable in the extension context.
+
+
Call - Class in org.jdbi.v3.core.statement
+
+
Used for invoking stored procedures.
+
+
Call(Handle, CharSequence) - Constructor for class org.jdbi.v3.core.statement.Call
+
 
+
Call(Handle, String) - Constructor for class org.jdbi.v3.core.statement.Call
+
+
Backwards compatible constructor that takes an explicit string argument.
+
+
CallableStatementMapper - Interface in org.jdbi.v3.core.statement
+
+
Map an OUT parameter in a callable statement to a result type.
+
+
CaseInsensitiveColumnNameMatcher - Class in org.jdbi.v3.core.mapper.reflect
+
+
Matches column names with identical java names, ignoring case.
+
+
CaseInsensitiveColumnNameMatcher() - Constructor for class org.jdbi.v3.core.mapper.reflect.CaseInsensitiveColumnNameMatcher
+
 
+
CaseStrategy - Enum in org.jdbi.v3.core.mapper
+
+
Strategies for comparing case sensitive strings.
+
+
CharacterStreamArgument - Class in org.jdbi.v3.core.argument
+
+
Bind a Reader as a character stream parameter.
+
+
CharacterStreamArgument(Reader, int) - Constructor for class org.jdbi.v3.core.argument.CharacterStreamArgument
+
 
+
charAt(int) - Method in class org.jdbi.v3.core.Sql
+
 
+
CharSequenceArgumentFactory - Class in org.jdbi.v3.core.argument
+
+
An ArgumentFactory for arguments that implement CharSequence.
+
+
CharSequenceArgumentFactory() - Constructor for class org.jdbi.v3.core.argument.CharSequenceArgumentFactory
+
 
+
checkPropagateNullAnnotation(Field) - Static method in class org.jdbi.v3.core.mapper.reflect.FieldMapper
+
 
+
ClasspathSqlLocator - Class in org.jdbi.v3.core.locator
+
+
Locates SQL in .sql files on the classpath.
+
+
clean() - Method in class org.jdbi.v3.core.Handle
+
+
Release any database resource that may be held by the handle.
+
+
Cleanable - Interface in org.jdbi.v3.core.statement
+
+
Cleans up some JDBC resource e.g.
+
+
cleanableAdded(StatementContext, Cleanable) - Method in interface org.jdbi.v3.core.statement.StatementContextListener
+
+
A Cleanable object was added to this context for cleanup when the context is cleaned.
+
+
cleanableRemoved(StatementContext, Cleanable) - Method in interface org.jdbi.v3.core.statement.StatementContextListener
+
+
A Cleanable object was removed from the context.
+
+
cleanAfter() - Method in class org.jdbi.v3.testing.junit5.JdbiFlywayMigration
+
+
Deprecated. +
The default changed to true so this call actually does nothing.
+
+
+
cleanAfter() - Method in class org.jdbi.v3.testing.Migration
+
+
Will drop all objects in the configured schemas after tests using Flyway.
+
+
cleanAfter(boolean) - Method in class org.jdbi.v3.testing.junit5.JdbiFlywayMigration
+
+
Drop all objects in the configured schemas using Flyway after the test finishes.
+
+
cleanAfter(boolean) - Method in class org.jdbi.v3.testing.Migration
+
+
Controls whether to drop all objects in the configured schemas after running the tests using Flyway.
+
+
cleanup(DataSource, Handle) - Method in interface org.jdbi.v3.testing.junit5.JdbiExtensionInitializer
+
+
Run cleanup code after a test.
+
+
cleanup(DataSource, Handle) - Method in class org.jdbi.v3.testing.junit5.JdbiFlywayMigration
+
 
+
cleanupHandleCommit() - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Transfer ownership of the handle to the statement: when the statement is closed, + commit the handle's transaction (if one exists) and close the handle.
+
+
cleanupHandleRollback() - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
When the statement is closed, roll it back then close the owning Handle.
+
+
clear() - Method in interface org.jdbi.v3.core.HandleScope
+
+
Remove a current association.
+
+
clear() - Method in class org.jdbi.v3.core.statement.Binding
+
+
Remove all bindings from this Binding.
+
+
close() - Method in interface org.jdbi.v3.core.extension.HandleSupplier
+
 
+
close() - Method in class org.jdbi.v3.core.Handle
+
+
Closes the handle, its connection, and any other database resources it is holding.
+
+
close() - Method in class org.jdbi.v3.core.result.ResultIterable.ResultIteratorDelegate
+
 
+
close() - Method in interface org.jdbi.v3.core.result.ResultIterator
+
+
Close the underlying result set.
+
+
close() - Method in class org.jdbi.v3.core.statement.Batch
+
 
+
close() - Method in class org.jdbi.v3.core.statement.Call
+
 
+
close() - Method in class org.jdbi.v3.core.statement.MetaData
+
 
+
close() - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
 
+
close() - Method in class org.jdbi.v3.core.statement.Query
+
 
+
close() - Method in class org.jdbi.v3.core.statement.Script
+
 
+
close() - Method in class org.jdbi.v3.core.statement.SqlStatement
+
 
+
close() - Method in class org.jdbi.v3.core.statement.Update
+
 
+
close() - Method in interface org.jdbi.v3.core.statement.Cleanable
+
 
+
close() - Method in class org.jdbi.v3.core.statement.StatementContext
+
 
+
close(Connection) - Method in interface org.jdbi.v3.core.statement.StatementBuilder
+
+
Is called when the Handle, to which this StatementBuilder is attached to, is closed.
+
+
close(Connection, String, Statement) - Method in class org.jdbi.v3.core.statement.DefaultStatementBuilder
+
+
Called to close an individual prepared statement created from this builder.
+
+
close(Connection, String, Statement) - Method in interface org.jdbi.v3.core.statement.StatementBuilder
+
+
Called to close an individual statement created from this builder.
+
+
closeAndSuppress(Throwable) - Method in interface org.jdbi.v3.core.statement.Cleanable
+
+
Cleans the underlying resource and appends possible exceptions to the given Throwable.
+
+
closeConnection(Connection) - Method in interface org.jdbi.v3.core.ConnectionFactory
+
+
Closes a connection.
+
+
closeConnection(Connection) - Method in class org.jdbi.v3.spring5.SpringConnectionFactory
+
 
+
CloseException - Exception Class in org.jdbi.v3.core
+
+
Thrown when an exception occurs while attempting to close a database resource.
+
+
CloseException(String, Throwable) - Constructor for exception class org.jdbi.v3.core.CloseException
+
 
+
closeIfNeeded(Handle) - Static method in class org.jdbi.v3.spring5.JdbiUtil
+
+
Close a handle if it is not transactionally bound, otherwise no-op
+
+
CMTTransactionHandler - Class in org.jdbi.v3.core.transaction
+
+
Handler designed to behave properly in a J2EE CMT environment.
+
+
CMTTransactionHandler() - Constructor for class org.jdbi.v3.core.transaction.CMTTransactionHandler
+
 
+
Codec<T> - Interface in org.jdbi.v3.core.codec
+
+
A Codec provides a convenient way for a bidirectional mapping of an attribute to a database column.
+
+
CodecFactory - Class in org.jdbi.v3.core.codec
+
+
CodecFactory provides column mappers and arguments for bidirectional mapping types to database columns.
+
+
CodecFactory(Map<QualifiedType<?>, Codec<?>>) - Constructor for class org.jdbi.v3.core.codec.CodecFactory
+
+
Create a new CodecFactory.
+
+
CodecFactory.Builder - Class in org.jdbi.v3.core.codec
+
+
Fluent Builder for CodecFactory.
+
+
collect(long, StatementContext) - Method in interface org.jdbi.v3.core.statement.TimingCollector
+
+ +
+
collect(Collector<? super T, ?, R>) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Collect the results into a container specified by a collector.
+
+
collectInto(Class<R>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
collectInto(Class<R>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Collect the results into a container of the given type.
+
+
collectInto(Type) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
collectInto(Type) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Collect the results into a container of the given type.
+
+
collectInto(Type) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Collect the results into a container type.
+
+
collectInto(GenericType<R>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
collectInto(GenericType<R>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Collect the results into a container of the given generic type.
+
+
collectInto(GenericType<R>) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Collect the results into a collection type.
+
+
collectIntoList() - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Returns results in a List.
+
+
collectIntoSet() - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Returns results in a Set.
+
+
collectorFactory(Type, Collector<?, ?, ?>) - Static method in interface org.jdbi.v3.core.collector.CollectorFactory
+
+
Creates a CollectorFactory from a container type and a collector.
+
+
collectorFactory(GenericType<?>, Collector<?, ?, ?>) - Static method in interface org.jdbi.v3.core.collector.CollectorFactory
+
+
Creates a CollectorFactory from a parameterized container type and a collector.
+
+
CollectorFactory - Interface in org.jdbi.v3.core.collector
+
+
Factory for building Collectors to assemble containers of elements.
+
+
collectRows(Collector<RowView, A, R>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
collectRows(Collector<RowView, A, R>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Collect the results using the given collector.
+
+
collectToMap(Function<? super T, ? extends K>, Function<? super T, ? extends V>) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Collect the results into a Map, using the given functions to compute keys and values.
+
+
ColonPrefixSqlParser - Class in org.jdbi.v3.core.statement
+
+
SQL parser which recognizes named parameter tokens of the form + :tokenName
+
+
ColonPrefixSqlParser() - Constructor for class org.jdbi.v3.core.statement.ColonPrefixSqlParser
+
 
+
ColonPrefixSqlParser(JdbiCacheBuilder) - Constructor for class org.jdbi.v3.core.statement.ColonPrefixSqlParser
+
 
+
ColumnMapper<T> - Interface in org.jdbi.v3.core.mapper
+
+
Maps result set columns to objects.
+
+
ColumnMapperFactory - Interface in org.jdbi.v3.core.mapper
+
+
Factory interface used to produce column mappers.
+
+
ColumnMappers - Class in org.jdbi.v3.core.mapper
+
+
Configuration registry for ColumnMapperFactory instances.
+
+
ColumnMappers() - Constructor for class org.jdbi.v3.core.mapper.ColumnMappers
+
 
+
ColumnName - Annotation Type in org.jdbi.v3.core.mapper.reflect
+
+
Specify the mapping name for a property or parameter explicitly.
+
+
ColumnNameMatcher - Interface in org.jdbi.v3.core.mapper.reflect
+
+
Strategy for matching SQL column names to Java property, field, or parameter names.
+
+
columnNameMatches(String, String) - Method in class org.jdbi.v3.core.mapper.reflect.AbstractSeparatorCharColumnNameMatcher
+
 
+
columnNameMatches(String, String) - Method in class org.jdbi.v3.core.mapper.reflect.CaseInsensitiveColumnNameMatcher
+
 
+
columnNameMatches(String, String) - Method in interface org.jdbi.v3.core.mapper.reflect.ColumnNameMatcher
+
+
Returns whether the column name fits the given Java identifier name.
+
+
columnNameStartsWith(String, String) - Method in class org.jdbi.v3.core.mapper.reflect.AbstractSeparatorCharColumnNameMatcher
+
 
+
columnNameStartsWith(String, String) - Method in class org.jdbi.v3.core.mapper.reflect.CaseInsensitiveColumnNameMatcher
+
 
+
columnNameStartsWith(String, String) - Method in interface org.jdbi.v3.core.mapper.reflect.ColumnNameMatcher
+
+
Return whether the column name starts with the given prefix, according to the matching strategy of this + ColumnNameMatcher.
+
+
commit() - Method in class org.jdbi.v3.core.Handle
+
+
Commit a transaction.
+
+
commit() - Method in interface org.jdbi.v3.sqlobject.transaction.Transactional
+
+
Commits the open transaction.
+
+
commit(Handle) - Method in class org.jdbi.v3.core.transaction.CMTTransactionHandler
+
+
Called when a transaction is committed
+
+
commit(Handle) - Method in class org.jdbi.v3.core.transaction.DelegatingTransactionHandler
+
 
+
commit(Handle) - Method in class org.jdbi.v3.core.transaction.LocalTransactionHandler
+
 
+
commit(Handle) - Method in class org.jdbi.v3.core.transaction.RollbackOnlyTransactionHandler
+
 
+
commit(Handle) - Method in interface org.jdbi.v3.core.transaction.TransactionHandler
+
+
Commit the transaction.
+
+
concurrentUpdatable() - Method in class org.jdbi.v3.core.statement.Call
+
+
Specify that the result set should be concurrent updatable.
+
+
concurrentUpdatable() - Method in class org.jdbi.v3.core.statement.Query
+
+
Specify that the result set should be concurrent updatable.
+
+
ConfigCustomizer - Interface in org.jdbi.v3.core.config
+
+
Customizes a given ConfigRegistry.
+
+
ConfigCustomizerFactory - Interface in org.jdbi.v3.core.extension
+
+
Factory interface to create collections of ConfigCustomizer instances.
+
+
ConfigRegistry - Class in org.jdbi.v3.core.config
+
+
A registry of JdbiConfig instances by type.
+
+
ConfigRegistry() - Constructor for class org.jdbi.v3.core.config.ConfigRegistry
+
+
Creates a new config registry.
+
+
Configurable<This> - Interface in org.jdbi.v3.core.config
+
+
A type with access to access and modify arbitrary Jdbi configuration.
+
+
Configuration() - Constructor for class org.jdbi.v3.core.transaction.SerializableTransactionRunner.Configuration
+
 
+
configure(Class<C>, Consumer<C>) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Passes the configuration object of the given type to the configurer, then returns this object.
+
+
configure(ConfigRegistry, Annotation, Class<?>) - Method in class org.jdbi.v3.core.extension.SimpleExtensionConfigurer
+
+
Updates configuration for the given annotation on an extension type.
+
+
configureForMethod(ConfigRegistry, Annotation, Class<?>, Method) - Method in interface org.jdbi.v3.core.extension.ExtensionConfigurer
+
+
Configures the config for the given annotation on a extension type method.
+
+
configureForMethod(ConfigRegistry, Annotation, Class<?>, Method) - Method in class org.jdbi.v3.core.extension.SimpleExtensionConfigurer
+
 
+
configureForType(ConfigRegistry, Annotation, Class<?>) - Method in interface org.jdbi.v3.core.extension.ExtensionConfigurer
+
+
Updates configuration for the given annotation on an extension type.
+
+
configureForType(ConfigRegistry, Annotation, Class<?>) - Method in class org.jdbi.v3.core.extension.SimpleExtensionConfigurer
+
 
+
configureJdbi() - Method in class org.jdbi.v3.guice.AbstractJdbiConfigurationModule
+
+
Override this method to create bindings that will be used in Jdbi definition modules.
+
+
configureJdbi() - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Override this method to configure all aspects of a Jdbi instance.
+
+
Configurer - Interface in org.jdbi.v3.sqlobject.config
+
+
Deprecated. +
Use ExtensionConfigurer directly.
+
+
+
ConfiguringAnnotation - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Deprecated. + +
+
+
ConfiguringPlugin<C> - Class in org.jdbi.v3.core.config
+
 
+
ConnectionException - Exception Class in org.jdbi.v3.core
+
 
+
ConnectionException(Throwable) - Constructor for exception class org.jdbi.v3.core.ConnectionException
+
 
+
ConnectionFactory - Interface in org.jdbi.v3.core
+
+
Supplies Connection instances to a created Handle and allows + custom close handling.
+
+
ConstructorMapper<T> - Class in org.jdbi.v3.core.mapper.reflect
+
+
A row mapper which maps the fields in a result set into a constructor.
+
+
container() - Method in interface org.jdbi.v3.core.result.LinkedHashMapRowReducer
+
 
+
container() - Method in interface org.jdbi.v3.core.result.RowReducer
+
+
Returns a new, empty result container.
+
+
contextCleaned(StatementContext) - Method in interface org.jdbi.v3.core.statement.StatementContextListener
+
+
A StatementContext object was cleaned.
+
+
contextCreated(StatementContext) - Method in interface org.jdbi.v3.core.statement.StatementContextListener
+
+
A new StatementContext is created.
+
+
convertArrayElement(T) - Method in interface org.jdbi.v3.core.array.SqlArrayType
+
+
Returns an equivalent value in a type supported by the JDBC vendor.
+
+
convertKeys() - Element in annotation type org.jdbi.v3.sqlobject.customizer.BindMap
+
+
Whether to automatically convert map keys to strings.
+
+
create() - Static method in class org.jdbi.v3.core.locator.ClasspathSqlLocator
+
+
Return a new ClasspathSqlLocator that returns SQL without modifying it.
+
+
create(Class<?>) - Static method in class org.jdbi.v3.core.argument.ObjectArgumentFactory
+
+
Match the given type and bind as an object without SQL type information.
+
+
create(Class<?>, Integer) - Static method in class org.jdbi.v3.core.argument.ObjectArgumentFactory
+
+
Match the given type and bind as an object with the given SQL type information
+
+
create(String) - Static method in class org.jdbi.v3.core.Jdbi
+
+
Creates a new Jdbi instance from a database URL.
+
+
create(String, String, String) - Static method in class org.jdbi.v3.core.Jdbi
+
+
Creates a new Jdbi instance from a database URL.
+
+
create(String, Properties) - Static method in class org.jdbi.v3.core.Jdbi
+
+
Creates a new Jdbi instance from a database URL.
+
+
create(Connection) - Static method in class org.jdbi.v3.core.Jdbi
+
+
Creates a new Jdbi object from a Connection.
+
+
create(Connection, String, StatementContext) - Method in class org.jdbi.v3.core.statement.DefaultStatementBuilder
+
+
Create a new DefaultStatementBuilder which will always create a new PreparedStatement from + the Connection
+
+
create(Connection, String, StatementContext) - Method in interface org.jdbi.v3.core.statement.StatementBuilder
+
+
Called each time a prepared statement needs to be created.
+
+
create(Connection, StatementContext) - Method in class org.jdbi.v3.core.statement.DefaultStatementBuilder
+
 
+
create(Connection, StatementContext) - Method in interface org.jdbi.v3.core.statement.StatementBuilder
+
+
Called each time a statement needs to be created.
+
+
create(DataSource) - Static method in class org.jdbi.v3.core.Jdbi
+
+
Creates a new Jdbi object from a DataSource.
+
+
create(K) - Method in interface org.jdbi.v3.core.cache.JdbiCacheLoader
+
+
Create a new value for caching from a cache key.
+
+
create(ConnectionFactory) - Static method in class org.jdbi.v3.core.Jdbi
+
+
Factory used to allow for obtaining a Connection in a customized manner.
+
+
create(Jdbi, Executor) - Static method in interface org.jdbi.v3.core.async.JdbiExecutor
+
+
Create a JdbiExecutor.
+
+
createBatch() - Method in class org.jdbi.v3.core.Handle
+
+
Create a non-prepared (no bound parameters, but different SQL) batch statement.
+
+
createCall(CharSequence) - Method in class org.jdbi.v3.core.Handle
+
+
Create a call to a stored procedure.
+
+
createCall(String) - Method in class org.jdbi.v3.core.Handle
+
+
Create a call to a stored procedure.
+
+
createCall(Connection, String, StatementContext) - Method in class org.jdbi.v3.core.statement.DefaultStatementBuilder
+
+
Called each time a Callable statement needs to be created
+
+
createCall(Connection, String, StatementContext) - Method in interface org.jdbi.v3.core.statement.StatementBuilder
+
+
Called each time a Callable statement needs to be created.
+
+
createCopy() - Method in class org.jdbi.v3.core.argument.Arguments
+
 
+
createCopy() - Method in class org.jdbi.v3.core.array.SqlArrayTypes
+
 
+
createCopy() - Method in class org.jdbi.v3.core.collector.JdbiCollectors
+
 
+
createCopy() - Method in class org.jdbi.v3.core.config.ConfigRegistry
+
+
Returns a copy of this config registry.
+
+
createCopy() - Method in interface org.jdbi.v3.core.config.JdbiConfig
+
+
Returns a copy of this configuration object.
+
+
createCopy() - Method in class org.jdbi.v3.core.enums.Enums
+
 
+
createCopy() - Method in class org.jdbi.v3.core.extension.Extensions
+
 
+
createCopy() - Method in class org.jdbi.v3.core.Handles
+
 
+
createCopy() - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
 
+
createCopy() - Method in class org.jdbi.v3.core.mapper.freebuilder.JdbiFreeBuilders
+
 
+
createCopy() - Method in class org.jdbi.v3.core.mapper.immutables.JdbiImmutables
+
 
+
createCopy() - Method in class org.jdbi.v3.core.mapper.MapEntryMappers
+
 
+
createCopy() - Method in class org.jdbi.v3.core.mapper.MapMappers
+
 
+
createCopy() - Method in class org.jdbi.v3.core.mapper.Mappers
+
 
+
createCopy() - Method in class org.jdbi.v3.core.mapper.reflect.ReflectionMappers
+
 
+
createCopy() - Method in class org.jdbi.v3.core.mapper.RowMappers
+
 
+
createCopy() - Method in class org.jdbi.v3.core.qualifier.Qualifiers
+
 
+
createCopy() - Method in class org.jdbi.v3.core.result.ResultProducers
+
 
+
createCopy() - Method in class org.jdbi.v3.core.statement.SqlStatements
+
 
+
createCopy() - Method in class org.jdbi.v3.core.statement.StatementExceptions
+
 
+
createCopy() - Method in class org.jdbi.v3.core.transaction.SerializableTransactionRunner.Configuration
+
 
+
createCopy() - Method in class org.jdbi.v3.freemarker.FreemarkerConfig
+
 
+
createCopy() - Method in class org.jdbi.v3.gson2.Gson2Config
+
 
+
createCopy() - Method in class org.jdbi.v3.jackson2.Jackson2Config
+
 
+
createCopy() - Method in class org.jdbi.v3.json.JsonConfig
+
 
+
createCopy() - Method in class org.jdbi.v3.moshi.MoshiConfig
+
 
+
createCopy() - Method in class org.jdbi.v3.postgres.PostgresTypes
+
 
+
createCopy() - Method in class org.jdbi.v3.sqlobject.customizer.TimestampedConfig
+
 
+
createCopy() - Method in class org.jdbi.v3.sqlobject.HandlerDecorators
+
+
Deprecated.
+
createCopy() - Method in class org.jdbi.v3.sqlobject.Handlers
+
+
Deprecated.
+
createCopy() - Method in class org.jdbi.v3.sqlobject.SqlObjects
+
 
+
createCopy() - Method in class org.jdbi.v3.stringtemplate4.StringTemplates
+
 
+
createCopy() - Method in class org.jdbi.v3.vavr.TupleMappers
+
 
+
createExtensionHandler(Class<?>, Method) - Method in interface org.jdbi.v3.core.extension.ExtensionHandlerFactory
+
+
Returns an ExtensionHandler instance for a extension type and method combination.
+
+
createExtensionHandler(Class<?>, Method) - Method in interface org.jdbi.v3.sqlobject.HandlerFactory
+
+
Deprecated.
+
createExtensionHandlerInvoker(E, Method, HandleSupplier, ConfigRegistry) - Method in class org.jdbi.v3.core.extension.ExtensionMetadata
+
+
Creates an ExtensionMetadata.ExtensionHandlerInvoker instance for a specific method.
+
+
createForMethod(Annotation, Class<?>, Method) - Method in interface org.jdbi.v3.sqlobject.customizer.SqlStatementCustomizerFactory
+
+
Used to create customizers for annotations on methods.
+
+
createForMethod(Method) - Static method in interface org.jdbi.v3.core.extension.ExtensionHandler
+
+
Create an extension handler and bind it to a method that will be called on the + target object when invoked.
+
+
createForMethodHandle(MethodHandle) - Static method in interface org.jdbi.v3.core.extension.ExtensionHandler
+
+
Create an extension handler and bind it to a MethodHandle instance.
+
+
createForParameter(Annotation, Class<?>, Method, Parameter, int, Type) - Method in interface org.jdbi.v3.sqlobject.customizer.SqlStatementCustomizerFactory
+
+
Used to create customizers for annotations on parameters
+
+
createForParameter(Class<?>, Method, Parameter, int, Type) - Method in class org.jdbi.v3.sqlobject.statement.BindParameterCustomizerFactory
+
 
+
createForParameter(Class<?>, Method, Parameter, int, Type) - Method in interface org.jdbi.v3.sqlobject.statement.ParameterCustomizerFactory
+
+
Creates parameter customizer used to bind sql statement parameters + when parameter is not explicitly annotated
+
+
createForSpecialMethod(Method) - Static method in interface org.jdbi.v3.core.extension.ExtensionHandler
+
+
Create an extension handler and bind it to a special method that will be called on the + target object when invoked.
+
+
createForType(Annotation, Class<?>) - Method in interface org.jdbi.v3.sqlobject.customizer.SqlStatementCustomizerFactory
+
+
Used to create customizers for annotations on sql object interfaces
+
+
createInstanceConfiguration(ConfigRegistry) - Method in class org.jdbi.v3.core.extension.ExtensionMetadata
+
+
Create an instance specific configuration based on all instance customizers.
+
+
createKey(TypeLiteral<T>) - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Creates a Key object for a TypeLiteral that uses the annotation or annotation class used to construct this module.
+
+
createKey(Class<T>) - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Creates a Key object for a class that uses the annotation or annotation class used to construct this module.
+
+
createLob() - Method in interface org.jdbi.v3.postgres.PgLobApi
+
 
+
createLocator() - Method in class org.jdbi.v3.freemarker.FreemarkerConfig
+
 
+
createMethodConfiguration(Method, ConfigRegistry) - Method in class org.jdbi.v3.core.extension.ExtensionMetadata
+
+
Create an method specific configuration based on all method customizers.
+
+
createQuery(CharSequence) - Method in class org.jdbi.v3.core.Handle
+
+
Return a Query instance that executes a statement + with bound parameters and maps the result set into Java types.
+
+
createQuery(String) - Method in class org.jdbi.v3.core.Handle
+
+
Return a Query instance that executes a statement + with bound parameters and maps the result set into Java types.
+
+
createResultBearing(Supplier<PreparedStatement>, ResultProducers.ResultSetCreator, StatementContext) - Static method in class org.jdbi.v3.core.result.ResultProducers
+
+
Create a ResultBearing instance backed by a ResultSet.
+
+
createResultSet(Statement) - Method in interface org.jdbi.v3.core.result.ResultProducers.ResultSetCreator
+
+
Use the supplied statement to create a ResultSet.
+
+
createScript(CharSequence) - Method in class org.jdbi.v3.core.Handle
+
+
Creates a Script from the given SQL script.
+
+
createScript(String) - Method in class org.jdbi.v3.core.Handle
+
+
Create an Insert or Update statement which returns the number of rows modified.
+
+
CreateSqlObject - Annotation Type in org.jdbi.v3.sqlobject
+
+
Use this annotation on a sql object method to create a new sql object with the same underlying handle as the sql + object the method is invoked on.
+
+
createStatementBuilder(Connection) - Method in interface org.jdbi.v3.core.statement.StatementBuilderFactory
+
+
Creates a new StatementBuilder from a Connection object.
+
+
createUpdate(CharSequence) - Method in class org.jdbi.v3.core.Handle
+
+
Create an Insert or Update statement which returns the number of rows modified.
+
+
createUpdate(String) - Method in class org.jdbi.v3.core.Handle
+
+
Create an Insert or Update statement which returns the number of rows modified.
+
+
customize(Consumer<EmbeddedPostgres.Builder>) - Method in class org.jdbi.v3.testing.junit5.JdbiOtjPostgresExtension
+
 
+
customize(ConfigRegistry) - Method in interface org.jdbi.v3.core.config.ConfigCustomizer
+
+
Manipulates the ConfigRegistry object.
+
+
customize(ExtensionHandler, Class<?>, Method) - Method in interface org.jdbi.v3.core.extension.ExtensionHandlerCustomizer
+
+
Customize an extension handler.
+
+
customize(ExtensionHandler, Class<?>, Method) - Method in interface org.jdbi.v3.sqlobject.HandlerDecorator
+
+
Deprecated.
+
customize(Jdbi) - Method in interface org.jdbi.v3.guice.GuiceJdbiCustomizer
+
+
Customize the Jdbi instance passed in.
+
+
customizeConnection(Connection) - Method in interface org.jdbi.v3.core.spi.JdbiPlugin
+
+
Configure customizations for a newly acquired Connection.
+
+
customizeHandle(Handle) - Method in interface org.jdbi.v3.core.spi.JdbiPlugin
+
+
Configure customizations for a new Handle instance.
+
+
customizeHandle(Handle) - Method in class org.jdbi.v3.postgres.PostgresPlugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.cache.caffeine.CaffeineCachePlugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.cache.noop.NoopCachePlugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.core.config.ConfiguringPlugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.core.h2.H2DatabasePlugin
+
 
+
customizeJdbi(Jdbi) - Method in interface org.jdbi.v3.core.spi.JdbiPlugin
+
+
Configure customizations global to any object managed by this Jdbi.
+
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.gson2.Gson2Plugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.guava.GuavaPlugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.jackson2.Jackson2Plugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.jodatime2.JodaTimePlugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.jpa.JpaPlugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.json.JsonPlugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.moshi.MoshiPlugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.postgis.PostgisPlugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.postgres.PostgresPlugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.sqlite3.SQLitePlugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.sqlobject.SqlObjectPlugin
+
 
+
customizeJdbi(Jdbi) - Method in class org.jdbi.v3.vavr.VavrPlugin
+
 
+
+

D

+
+
DatabaseValue - Annotation Type in org.jdbi.v3.core.enums
+
+
Map a value from the database column directly onto an enum value.
+
+
DateTimeArgumentFactory - Class in org.jdbi.v3.jodatime2
+
+
Bind a DateTime as a Timestamp.
+
+
DateTimeArgumentFactory() - Constructor for class org.jdbi.v3.jodatime2.DateTimeArgumentFactory
+
 
+
DateTimeMapper - Class in org.jdbi.v3.jodatime2
+
+
Map a Timestamp to a DateTime.
+
+
DateTimeMapper() - Constructor for class org.jdbi.v3.jodatime2.DateTimeMapper
+
 
+
decorate(HandleCallback<R, X>) - Method in interface org.jdbi.v3.core.HandleCallbackDecorator
+
+
Decorate the given HandleCallback instance.
+
+
decorateHandler(Handler, Class<?>, Method) - Method in interface org.jdbi.v3.sqlobject.HandlerDecorator
+
+
Deprecated.
+
Decorates the Handler to add or substitute behavior on the given SQL Object method.
+
+
DecoratorOrder - Annotation Type in org.jdbi.v3.sqlobject
+
+
Deprecated. + +
+
+
Default Methods - Search tag in package org.jdbi.v3.sqlobject
+
Section
+
DefaultStatementBuilder - Class in org.jdbi.v3.core.statement
+
+
A StatementBuilder which will always create a new PreparedStatement.
+
+
DefaultStatementBuilder() - Constructor for class org.jdbi.v3.core.statement.DefaultStatementBuilder
+
 
+
define(String, Object) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(SqlStatements.class).define(key, value)
+
+
define(String, Object) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Define an attribute for StatementContext for statements executed by Jdbi.
+
+
define(String, Object) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Define an attribute for in this context.
+
+
define(SqlStatement, String) - Method in enum org.jdbi.v3.sqlobject.customizer.BindList.EmptyHandling
+
+
Deprecated. +
legacy internal API
+
+
+
Define - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Defines a named attribute as the argument passed to the annotated parameter.
+
+
DEFINE_NULL - Enum constant in enum org.jdbi.v3.core.statement.EmptyHandling
+
+
Define a null value, leaving the result up to the TemplateEngine to decide.
+
+
DefinedAttributeTemplateEngine - Class in org.jdbi.v3.core.statement
+
+
Template engine which replaces angle-bracketed tokens like + <name> with the string value of the named attribute.
+
+
DefinedAttributeTemplateEngine() - Constructor for class org.jdbi.v3.core.statement.DefinedAttributeTemplateEngine
+
 
+
defineList(String, Object...) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Define an attribute as the comma-separated String from the elements of the values argument.
+
+
defineList(String, List<?>) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Define an attribute as the comma-separated String from the elements of the values argument.
+
+
DefineList - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Defines a named attribute as a comma-separated String from the + elements of the annotated array or List argument.
+
+
defineMap(Map<String, ?>) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Defines attributes for each key/value pair in the Map.
+
+
defineNamedBindings() - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Define all bound arguments that don't already have a definition with a boolean indicating their presence.
+
+
DefineNamedBindings - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Defines all bound arguments that don't already have a definition.
+
+
Definition - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Annotate a SqlObject type, method, or field as @Definition in order to + define an attribute for all SqlObject methods in the same type.
+
+
Definitions - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
 
+
DelegatingTransactionHandler - Class in org.jdbi.v3.core.transaction
+
+
Simple delegating subclass that just invokes its delegate.
+
+
DelegatingTransactionHandler(TransactionHandler) - Constructor for class org.jdbi.v3.core.transaction.DelegatingTransactionHandler
+
 
+
deleteLob(long) - Method in interface org.jdbi.v3.postgres.PgLobApi
+
 
+
DETAIL - Enum constant in enum org.jdbi.v3.core.statement.StatementExceptions.MessageRendering
+
+
Include all detail.
+
+
DirectArgumentFactory - Class in org.jdbi.v3.core.argument
+
 
+
DirectArgumentFactory() - Constructor for class org.jdbi.v3.core.argument.DirectArgumentFactory
+
 
+
disableAccessibleObjectStrategy() - Method in class org.jdbi.v3.core.mapper.reflect.ReflectionMappers
+
+
Set the strategy Jdbi uses for Java accessibility rules to a no-op.
+
+
DO_NOT_MAKE_ACCESSIBLE - Enum constant in enum org.jdbi.v3.core.mapper.reflect.AccessibleObjectStrategy
+
+
Do not make non-public methods and constructors accessible.
+
+
DONT_USE_PROXY - Enum constant in enum org.jdbi.v3.core.extension.ExtensionFactory.FactoryFlag
+
+
Do not wrap the backing object methods into ExtensionHandler instances and return a + Proxy instance but return it as is.
+
+
DurationArgumentFactory - Class in org.jdbi.v3.postgres
+
+
Postgres version of argument factory for Duration.
+
+
DurationArgumentFactory() - Constructor for class org.jdbi.v3.postgres.DurationArgumentFactory
+
 
+
DurationColumnMapperFactory - Class in org.jdbi.v3.postgres
+
+
A column mapper which maps Postgres's PGInterval type to Java's Duration.
+
+
DurationColumnMapperFactory() - Constructor for class org.jdbi.v3.postgres.DurationColumnMapperFactory
+
 
+
+

E

+
+
elementType(Type) - Method in class org.jdbi.v3.core.collector.BuiltInCollectorFactory
+
+
Deprecated.
+
elementType(Type) - Method in interface org.jdbi.v3.core.collector.CollectorFactory
+
+
Returns the element type for a given container type.
+
+
ElementTypeNotFoundException - Exception Class in org.jdbi.v3.core.collector
+
+
Thrown when Jdbi tries to build a Collector, but cannot determine the element + type intended for it.
+
+
ElementTypeNotFoundException(String) - Constructor for exception class org.jdbi.v3.core.collector.ElementTypeNotFoundException
+
 
+
ElementTypeNotFoundException(String, Throwable) - Constructor for exception class org.jdbi.v3.core.collector.ElementTypeNotFoundException
+
 
+
ElementTypeNotFoundException(Throwable) - Constructor for exception class org.jdbi.v3.core.collector.ElementTypeNotFoundException
+
 
+
embeddedPostgres() - Static method in class org.jdbi.v3.testing.JdbiRule
+
+
Create a JdbiRule with an embedded PostgreSQL instance.
+
+
embeddedPostgres(Consumer<EmbeddedPostgres.Builder>) - Static method in class org.jdbi.v3.testing.JdbiRule
+
+
Create a JdbiRule with an embedded PostgreSQL instance.
+
+
EmptyHandling - Enum in org.jdbi.v3.core.statement
+
+
describes what should be done if the value passed to SqlStatement.bindList(java.lang.String, java.lang.Object...) is null or empty
+
+
EnableJdbiRepositories - Annotation Type in org.jdbi.v3.spring5
+
+
Annotating a spring configuration class with this annotation enables the scanning/detection of jdbi repositories.
+
+
enableLeakChecker(boolean) - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Enable tracking of cleanable resources and handles when running tests.
+
+
EncodedJson - Annotation Type in org.jdbi.v3.json
+
+
Type qualifying annotation for pre-encoded json data.
+
+
EntityMemberAccessException - Exception Class in org.jdbi.v3.jpa
+
+
Thrown when a JPA getter or setter fails.
+
+
EntityMemberAccessException(String) - Constructor for exception class org.jdbi.v3.jpa.EntityMemberAccessException
+
 
+
EntityMemberAccessException(String, Throwable) - Constructor for exception class org.jdbi.v3.jpa.EntityMemberAccessException
+
 
+
EntityMemberAccessException(Throwable) - Constructor for exception class org.jdbi.v3.jpa.EntityMemberAccessException
+
 
+
EnumByName - Annotation Type in org.jdbi.v3.core.enums
+
+
Specifies that an Enum value should be bound or mapped as its Enum.name().
+
+
EnumByNameMapperFactory - Class in org.jdbi.v3.core.mapper
+
+ +
+
EnumByNameMapperFactory() - Constructor for class org.jdbi.v3.core.mapper.EnumByNameMapperFactory
+
+
Deprecated.
+
EnumByOrdinal - Annotation Type in org.jdbi.v3.core.enums
+
+
Specifies that an Enum value should be bound or mapped as its Enum.ordinal().
+
+
EnumByOrdinalMapperFactory - Class in org.jdbi.v3.core.mapper
+
+ +
+
EnumByOrdinalMapperFactory() - Constructor for class org.jdbi.v3.core.mapper.EnumByOrdinalMapperFactory
+
+
Deprecated.
+
EnumMapper<E> - Class in org.jdbi.v3.core.mapper
+
+
Column mapper for Java enum types.
+
+
Enums - Class in org.jdbi.v3.core.enums
+
+
Configuration for behavior related to Enums.
+
+
Enums() - Constructor for class org.jdbi.v3.core.enums.Enums
+
 
+
EnumStrategy - Enum in org.jdbi.v3.core.enums
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.Handle
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.qualifier.QualifiedType
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.spi.JdbiPlugin.Singleton
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.Sql
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.statement.Batch
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.statement.Call
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.statement.MetaData
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.statement.Query
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.statement.Script
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.statement.Update
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.statement.ParsedParameters
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.statement.ParsedSql
+
 
+
equals(Object) - Method in class org.jdbi.v3.core.statement.StatementContext
+
 
+
EQUALS_HANDLER - Static variable in interface org.jdbi.v3.core.extension.ExtensionHandler
+
+
Implementation for the Object.equals(Object) method.
+
+
escape() - Element in annotation type org.jdbi.v3.commonstext.UseStringSubstitutorTemplateEngine
+
 
+
execute() - Method in class org.jdbi.v3.core.statement.Batch
+
+
Execute the batch and return the number of rows affected for each batch part.
+
+
execute() - Method in class org.jdbi.v3.core.statement.MetaData
+
 
+
execute() - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
+
Execute the batch and return the number of rows affected for each batch part.
+
+
execute() - Method in class org.jdbi.v3.core.statement.Script
+
+
Execute this script in a batch statement
+
+
execute() - Method in class org.jdbi.v3.core.statement.Update
+
+
Executes the statement, returning the update count.
+
+
execute(CharSequence, Object...) - Method in class org.jdbi.v3.core.Handle
+
+
Execute a SQL statement, and return the number of rows affected by the statement.
+
+
execute(String, Object...) - Method in class org.jdbi.v3.core.Handle
+
+
Execute a SQL statement, and return the number of rows affected by the statement.
+
+
execute(ResultProducer<R>) - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
+
Executes the batch, returning the result obtained from the given ResultProducer.
+
+
execute(ResultProducer<R>) - Method in class org.jdbi.v3.core.statement.Query
+
+
Executes the query, returning the result obtained from the given ResultProducer.
+
+
execute(ResultProducer<R>) - Method in class org.jdbi.v3.core.statement.Update
+
+
Executes the update, returning the result obtained from the given ResultProducer.
+
+
executeAndGetModCount() - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
+
Execute the batch and return the mod counts as in execute, but as a + Jdbi result iterator instead of an array.
+
+
executeAndReturnGeneratedKeys(String...) - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
+
Deprecated. +
Use PreparedBatch.executePreparedBatch(String...) which has the same functionality but also returns the per-batch modified row counts.
+
+
+
executeAndReturnGeneratedKeys(String...) - Method in class org.jdbi.v3.core.statement.Update
+
+
Execute the statement and returns any auto-generated keys.
+
+
executeAsSeparateStatements() - Method in class org.jdbi.v3.core.statement.Script
+
+
Execute this script as a set of separate statements
+
+
executePreparedBatch(String...) - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
+
Execute the batch and give access to any generated keys returned by the operation.
+
+
exposeBinding(TypeLiteral<T>) - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Exposes a binding that is in module scope (without annotations) and binds it using either the annotation or annotation class and then exposes it outside + the module.
+
+
exposeBinding(Class<T>) - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Exposes a binding that is in module scope (without annotations) and binds it using either the annotation or annotation class and then exposes it outside + the module.
+
+
EXTENSION_ID - Static variable in class org.jdbi.v3.sqlobject.SqlObjectFactory
+
 
+
ExtensionCallback<R,E,X> - Interface in org.jdbi.v3.core.extension
+
+ +
+
ExtensionConfigurer - Interface in org.jdbi.v3.core.extension
+
+
Configures ConfigRegistry instances.
+
+
ExtensionConsumer<E,X> - Interface in org.jdbi.v3.core.extension
+
+ +
+
ExtensionContext - Class in org.jdbi.v3.core.extension
+
+
Accepted by a handle when executing extension code.
+
+
ExtensionContext(ConfigRegistry, ExtensionMethod) - Constructor for class org.jdbi.v3.core.extension.ExtensionContext
+
 
+
ExtensionFactory - Interface in org.jdbi.v3.core.extension
+
+
Factory interface used to produce Jdbi extension objects.
+
+
ExtensionFactory.FactoryFlag - Enum in org.jdbi.v3.core.extension
+
+
Flags that the factory can return to control aspects of the extension framework.
+
+
ExtensionHandler - Interface in org.jdbi.v3.core.extension
+
+
Provides functionality for a single method on an extension object.
+
+
ExtensionHandlerCustomizationOrder - Annotation Type in org.jdbi.v3.core.extension.annotation
+
+
Determines the order in which extension method decorators are invoked.
+
+
ExtensionHandlerCustomizer - Interface in org.jdbi.v3.core.extension
+
+
Supports customization of an extension handler.
+
+
ExtensionHandlerFactory - Interface in org.jdbi.v3.core.extension
+
+
A factory to create ExtensionHandler instances.
+
+
ExtensionMetadata - Class in org.jdbi.v3.core.extension
+
+
Metadata that was detected when analyzing an extension class before attaching.
+
+
ExtensionMetadata.Builder - Class in org.jdbi.v3.core.extension
+
+
Builder class for the ExtensionMetadata object.
+
+
ExtensionMetadata.ExtensionHandlerInvoker - Class in org.jdbi.v3.core.extension
+
+
Wraps all config customizers and the handler for a specific method execution.
+
+
ExtensionMethod - Class in org.jdbi.v3.core.extension
+
+
Holder for a Class and a Method that together + define which extension method was invoked.
+
+
ExtensionMethod(Class<?>, Method) - Constructor for class org.jdbi.v3.core.extension.ExtensionMethod
+
+
Creates a new extension method.
+
+
Extensions - Class in org.jdbi.v3.core.extension
+
+
Configuration class for defining Jdbi extensions via ExtensionFactory + instances.
+
+
Extensions() - Constructor for class org.jdbi.v3.core.extension.Extensions
+
+
Creates a new instance.
+
+
extensionType() - Method in class org.jdbi.v3.core.extension.ExtensionMetadata
+
 
+
externalPostgres(String, Integer, String, String, String) - Static method in class org.jdbi.v3.testing.JdbiRule
+
+
Create a JdbiRule using an external PostgreSQL instance.
+
+
externalPostgres(String, Integer, String, String, String) - Static method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Creates an extension that uses an external (outside the scope of an unit test class) postgres database.
+
+
+

F

+
+
factory() - Static method in class org.jdbi.v3.guava.GuavaArguments
+
+
Returns an ArgumentFactory which understands Guava types.
+
+
factory() - Static method in class org.jdbi.v3.guava.GuavaCollectors
+
+
Returns a CollectorFactory which knows how to create all supported Guava types.
+
+
factory(Class<?>) - Static method in class org.jdbi.v3.core.mapper.reflect.BeanMapper
+
+
Returns a mapper factory that maps to the given bean class
+
+
factory(Class<?>) - Static method in class org.jdbi.v3.core.mapper.reflect.ConstructorMapper
+
+
Use the only declared constructor to map a class.
+
+
factory(Class<?>) - Static method in class org.jdbi.v3.core.mapper.reflect.FieldMapper
+
+
Returns a mapper factory that maps to the given bean class
+
+
factory(Class<?>, String) - Static method in class org.jdbi.v3.core.mapper.reflect.BeanMapper
+
+
Returns a mapper factory that maps to the given bean class
+
+
factory(Class<?>, String) - Static method in class org.jdbi.v3.core.mapper.reflect.ConstructorMapper
+
+
Use the only declared constructor to map a class.
+
+
factory(Class<?>, String) - Static method in class org.jdbi.v3.core.mapper.reflect.FieldMapper
+
+
Returns a mapper factory that maps to the given bean class
+
+
factory(Constructor<?>) - Static method in class org.jdbi.v3.core.mapper.reflect.ConstructorMapper
+
+
Use a Constructor<T> to map its declaring type.
+
+
factory(Constructor<?>, String) - Static method in class org.jdbi.v3.core.mapper.reflect.ConstructorMapper
+
+
Use a Constructor<T> to map its declaring type.
+
+
FACTORY - Static variable in class org.jdbi.v3.core.statement.DefaultStatementBuilder
+
 
+
failFast() - Method in class org.jdbi.v3.core.extension.Extensions
+
+
Fail fast if any method in an Extension object is misconfigured and can not be warmed.
+
+
fetchSize(int) - Static method in class org.jdbi.v3.core.statement.StatementCustomizers
+
+
Set the number of rows to fetch from the database in a single batch.
+
+
FetchSize - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Specify batch size to fetch resulting rows in.
+
+
FieldMapper<T> - Class in org.jdbi.v3.core.mapper.reflect
+
+
A row mapper which maps the columns in a statement into an object, using reflection + to set fields on the object.
+
+
filter(Predicate<? super T>) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Convenience method to filter the ResultIterable by applying the specified Predicate.
+ This method has the look and feel of Stream.filter(Predicate) without making use of streams.
+
+
find(String, StatementContext) - Method in class org.jdbi.v3.core.argument.MapArguments
+
+
Deprecated.
+
find(String, StatementContext) - Method in interface org.jdbi.v3.core.argument.NamedArgumentFinder
+
 
+
findArgumentFor(Type, Object) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain an argument for given value in this context
+
+
findArgumentFor(QualifiedType<?>, Object) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain an argument for given value in this context
+
+
findCollectorFor(Type) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain a collector for the given type.
+
+
findColumnIndex(String, List<String>, List<ColumnNameMatcher>, Supplier<String>) - Static method in class org.jdbi.v3.core.mapper.reflect.ReflectionMapperUtil
+
+
Attempts to find the index of a specified column's mapped parameter in a list of column names
+
+
findColumnMapperFor(Class<T>) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain a column mapper for the given type in this context.
+
+
findColumnMapperFor(Type) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain a column mapper for the given type in this context.
+
+
findColumnMapperFor(GenericType<T>) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain a column mapper for the given type in this context.
+
+
findColumnMapperFor(QualifiedType<T>) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain a column mapper for the given qualified type in this context.
+
+
findConstructorFor(Class<T>) - Static method in class org.jdbi.v3.core.mapper.reflect.JdbiConstructors
+
+
Find an invokable constructor.
+
+
findElementTypeFor(Type) - Method in class org.jdbi.v3.core.collector.JdbiCollectors
+
+
Returns the element type for the given container type.
+
+
findElementTypeFor(Type) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Returns the element type for the given container type.
+
+
findFactory(Class<? extends ExtensionFactory>) - Method in class org.jdbi.v3.core.extension.Extensions
+
+
Find the registered factory of the given type.
+
+
findFirst() - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Returns the first row in the result set, if present.
+
+
findFor(Class<?>, Method) - Method in class org.jdbi.v3.sqlobject.Handlers
+
+
Deprecated.
+
findFor(Class<E>, HandleSupplier) - Method in class org.jdbi.v3.core.extension.Extensions
+
+
Create an extension instance if a factory accepts the extension type.
+
+
findFor(Class<T>) - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
+
Obtain a column mapper for the given type.
+
+
findFor(Class<T>) - Method in class org.jdbi.v3.core.mapper.Mappers
+
+
Obtain a mapper for the given type.
+
+
findFor(Class<T>) - Method in class org.jdbi.v3.core.mapper.RowMappers
+
+
Obtain a row mapper for the given type in the given context.
+
+
findFor(AnnotatedElement...) - Method in class org.jdbi.v3.core.qualifier.Qualifiers
+
+
Returns the set of qualifying annotations on the given elements.
+
+
findFor(Type) - Method in class org.jdbi.v3.core.array.SqlArrayTypes
+
+
Obtain an SqlArrayType for the given array element type in the given context
+
+
findFor(Type) - Method in class org.jdbi.v3.core.collector.JdbiCollectors
+
+
Obtain a collector for the given type.
+
+
findFor(Type) - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
+
Obtain a column mapper for the given type.
+
+
findFor(Type) - Method in class org.jdbi.v3.core.mapper.Mappers
+
+
Obtain a mapper for the given type.
+
+
findFor(Type) - Method in class org.jdbi.v3.core.mapper.RowMappers
+
+
Obtain a row mapper for the given type in the given context.
+
+
findFor(Type, Object) - Method in class org.jdbi.v3.core.argument.Arguments
+
+
Obtain an argument for given value in the given context
+
+
findFor(GenericType<T>) - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
+
Obtain a column mapper for the given type.
+
+
findFor(GenericType<T>) - Method in class org.jdbi.v3.core.mapper.Mappers
+
+
Obtain a mapper for the given type.
+
+
findFor(GenericType<T>) - Method in class org.jdbi.v3.core.mapper.RowMappers
+
+
Obtain a row mapper for the given type in the given context.
+
+
findFor(QualifiedType<?>, Object) - Method in class org.jdbi.v3.core.argument.Arguments
+
+
Obtain an argument for given value in the given context.
+
+
findFor(QualifiedType<T>) - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
+
Obtain a column mapper for the given qualified type.
+
+
findFor(QualifiedType<T>) - Method in class org.jdbi.v3.core.mapper.Mappers
+
+
Obtain a mapper for the given qualified type.
+
+
findForName(String, StatementContext) - Method in class org.jdbi.v3.core.statement.Binding
+
+
Deprecated. +
don't inspect a Binding: keep your own state!
+
+
+
findForPosition(int) - Method in class org.jdbi.v3.core.statement.Binding
+
+
Deprecated. +
don't inspect a Binding: keep your own state!
+
+
+
findGenericParameter(Type, Class<?>) - Static method in class org.jdbi.v3.core.generic.GenericTypes
+
+ +
+
findGenericParameter(Type, Class<?>, int) - Static method in class org.jdbi.v3.core.generic.GenericTypes
+
+
For the given type which extends parameterizedSupertype, returns the + nth generic parameter for the parameterized supertype, if concretely + expressed.
+
+
findMapperFor(Class<T>) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain a mapper for the given type in this context.
+
+
findMapperFor(Type) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain a mapper for the given type in this context.
+
+
findMapperFor(GenericType<T>) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain a mapper for the given type in this context.
+
+
findMapperFor(QualifiedType<T>) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain a mapper for the given qualified type in this context.
+
+
findMetadata(Class<?>, ExtensionFactory) - Method in class org.jdbi.v3.core.extension.Extensions
+
+
Retrieves all extension metadata for a specific extension type.
+
+
findOne() - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Returns the only row in the result set, if any.
+
+
findOnly() - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Deprecated. + +
+
+
findRowMapperFor(Class<T>) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain a row mapper for the given type in this context.
+
+
findRowMapperFor(Type) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain a row mapper for the given type in this context.
+
+
findRowMapperFor(GenericType<T>) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain a row mapper for the given type in this context.
+
+
findSqlArrayTypeFor(Type) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain an SqlArrayType for the given array element type in this context
+
+
findSqlOnClasspath(Class<?>, String) - Static method in class org.jdbi.v3.core.locator.ClasspathSqlLocator
+
+
Deprecated. +
ClasspathSqlLocator.create() an instance instead of using static methods
+
+
+
findSqlOnClasspath(String) - Static method in class org.jdbi.v3.core.locator.ClasspathSqlLocator
+
+
Deprecated. +
ClasspathSqlLocator.create() an instance instead of using static methods
+
+
+
findStringTemplate(Class<?>, String) - Static method in class org.jdbi.v3.stringtemplate4.StringTemplateSqlLocator
+
+
Locates SQL for the given type and name.
+
+
findStringTemplate(ClassLoader, String, String) - Static method in class org.jdbi.v3.stringtemplate4.StringTemplateSqlLocator
+
+
Locates SQL for the given type and name.
+
+
findStringTemplate(String, String) - Static method in class org.jdbi.v3.stringtemplate4.StringTemplateSqlLocator
+
+
Locates SQL for the given type and name.
+
+
findStringTemplateGroup(Class<?>) - Static method in class org.jdbi.v3.stringtemplate4.StringTemplateSqlLocator
+
+
Loads the StringTemplateGroup for the given type.
+
+
findStringTemplateGroup(ClassLoader, String) - Static method in class org.jdbi.v3.stringtemplate4.StringTemplateSqlLocator
+
+
Loads the StringTemplateGroup from the given path on the classpath.
+
+
findStringTemplateGroup(String) - Static method in class org.jdbi.v3.stringtemplate4.StringTemplateSqlLocator
+
+
Loads the StringTemplateGroup from the given path on the classpath.
+
+
findTemplate(Configuration, Class<?>, String) - Static method in class org.jdbi.v3.freemarker.FreemarkerSqlLocator
+
 
+
findTemplate(Class<?>, String) - Static method in class org.jdbi.v3.freemarker.FreemarkerSqlLocator
+
+
Deprecated. +
this static method does not respect configuration, use FreemarkerConfig.createLocator()
+
+
+
first() - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Returns the first row in the result set.
+
+
flatMapType(Function<Type, Optional<Type>>) - Method in class org.jdbi.v3.core.qualifier.QualifiedType
+
+
Apply the provided mapping function to the type, and if non-empty is returned, + return an Optional<QualifiedType<?>> with the returned type, and the same + qualifiers as this instance.
+
+
flywayMigration() - Static method in class org.jdbi.v3.testing.junit5.JdbiFlywayMigration
+
+
Returns an instance of JdbiFlywayMigration which can be configured and used as a JdbiExtensionInitializer.
+
+
FORCE_MAKE_ACCESSIBLE - Enum constant in enum org.jdbi.v3.core.mapper.reflect.AccessibleObjectStrategy
+
+
Force non-public methods and constructors to be accessible.
+
+
forClasses(Class<?>...) - Static method in class org.jdbi.v3.core.mapper.GetObjectColumnMapperFactory
+
+
Creates a ColumnMapperFactory that accepts multiple types and maps them by calling ResultSet.getObject(int, Class).
+
+
forClasses(Map<Class<?>, Integer>) - Static method in class org.jdbi.v3.core.argument.SetObjectArgumentFactory
+
+
Creates a new ArgumentFactory that maps objects to Types values.
+
+
forClasses(Set<Class<?>>) - Static method in class org.jdbi.v3.core.mapper.GetObjectColumnMapperFactory
+
+
Creates a ColumnMapperFactory that accepts multiple types and maps them by calling ResultSet.getObject(int, Class).
+
+
forConfig(ConfigRegistry) - Static method in class org.jdbi.v3.core.extension.ExtensionContext
+
+
Create an extension context for a configuration only.
+
+
forEach(Consumer<? super T>) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
 
+
forEachRemaining(Consumer<? super T>) - Method in interface org.jdbi.v3.core.result.ResultIterator
+
 
+
forEachWithCount(Consumer<? super T>) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Performs the specified action on each remaining element and returns the iteration i.e.
+
+
forExtensionMethod(Class<?>, Method) - Method in interface org.jdbi.v3.core.extension.ConfigCustomizerFactory
+
+
Creates a collection of ConfigCustomizer instances for an extension type method.
+
+
forExtensionMethod(ConfigRegistry, Class<?>, Method) - Static method in class org.jdbi.v3.core.extension.ExtensionContext
+
 
+
forExtensionType(Class<?>) - Method in interface org.jdbi.v3.core.extension.ConfigCustomizerFactory
+
+
Creates a collection of ConfigCustomizer instances for an extension type.
+
+
forSingleCodec(QualifiedType<?>, Codec<?>) - Static method in class org.jdbi.v3.core.codec.CodecFactory
+
 
+
forSingleCodec(QualifiedType<?>, Codec<?>) - Static method in class org.jdbi.v3.guava.codec.TypeResolvingCodecFactory
+
 
+
forTestcontainerClass(Class<? extends JdbcDatabaseContainer>) - Static method in class org.jdbi.v3.testing.junit5.tc.TestcontainersDatabaseInformation
+
+
Returns a TestcontainersDatabaseInformation instance for a given container instance class.
+
+
forType(Type, ConfigRegistry) - Method in interface org.jdbi.v3.json.JsonMapper
+
 
+
forTypes(Type...) - Static method in class org.jdbi.v3.core.mapper.JoinRowMapper
+
+
Create a JoinRowMapper that maps each of the given types and returns a + JoinRow with the resulting values.
+
+
FreemarkerConfig - Class in org.jdbi.v3.freemarker
+
 
+
FreemarkerConfig() - Constructor for class org.jdbi.v3.freemarker.FreemarkerConfig
+
 
+
FreemarkerEngine - Class in org.jdbi.v3.freemarker
+
+
Rewrites a Freemarker template, using the attributes on the StatementContext as template parameters.
+
+
FreemarkerEngine() - Constructor for class org.jdbi.v3.freemarker.FreemarkerEngine
+
+
Deprecated. +
use FreemarkerEngine.instance() for a shared engine instead
+
+
+
FreemarkerSqlLocator - Class in org.jdbi.v3.freemarker
+
+
Locates SQL in .sql.ftl Freemarker files on the classpath.
+
+
fromJson(Type, String, ConfigRegistry) - Method in interface org.jdbi.v3.json.JsonMapper
+
+
Deprecated.
+
+
fromJson(String, ConfigRegistry) - Method in interface org.jdbi.v3.json.JsonMapper.TypedJsonMapper
+
 
+
+

G

+
+
GENERATE_SQL_OBJECT_ANNOTATION_NAME - Static variable in class org.jdbi.v3.generator.GenerateSqlObjectProcessor
+
 
+
GenerateSqlObject - Annotation Type in org.jdbi.v3.sqlobject
+
+
Decorate a SqlObject type to instruct the jdbi3-generator annotation processor + to create a compiled implementation.
+
+
GenerateSqlObjectProcessor - Class in org.jdbi.v3.generator
+
 
+
GenerateSqlObjectProcessor() - Constructor for class org.jdbi.v3.generator.GenerateSqlObjectProcessor
+
 
+
GenericMapMapperFactory - Class in org.jdbi.v3.core.mapper
+
+
Factory for a RowMapper that can map resultset rows to column name/generic value Maps.
+
+
GenericMapMapperFactory() - Constructor for class org.jdbi.v3.core.mapper.GenericMapMapperFactory
+
 
+
GenericType<T> - Class in org.jdbi.v3.core.generic
+
 
+
GenericTypes - Class in org.jdbi.v3.core.generic
+
+
Utilities for working with generic types.
+
+
get() - Method in interface org.jdbi.v3.core.HandleScope
+
+
Returns a HandleSupplier that provides a Handle in the given context.
+
+
get(Class<C>) - Method in class org.jdbi.v3.core.config.ConfigRegistry
+
+
Returns this registry's instance of the given config class.
+
+
get(Class<T>) - Method in class org.jdbi.v3.core.mapper.JoinRow
+
+
Return the value mapped for a given class.
+
+
get(Type) - Method in class org.jdbi.v3.core.mapper.JoinRow
+
+
Return the value mapped for a given type.
+
+
get(K) - Method in class org.jdbi.v3.cache.caffeine.CaffeineCache
+
 
+
get(K) - Method in class org.jdbi.v3.cache.caffeine.CaffeineLoadingCache
+
 
+
get(K) - Method in class org.jdbi.v3.cache.noop.NoopCache
+
 
+
get(K) - Method in interface org.jdbi.v3.core.cache.JdbiCache
+
+
Returns the cached value for a key.
+
+
getArgumentFunction() - Method in interface org.jdbi.v3.core.codec.Codec
+
+
Returns a Function that creates an Argument to map an attribute value onto the database column.
+
+
getArgumentFunction(ConfigRegistry) - Method in interface org.jdbi.v3.core.codec.Codec
+
+
Returns a Function that creates an Argument to map an attribute value onto the database column.
+
+
getArgumentStrategy() - Method in class org.jdbi.v3.core.array.SqlArrayTypes
+
+
Returns the strategy used to bind array-type arguments to SQL statements.
+
+
getArrayElementClass() - Method in interface org.jdbi.v3.core.array.SqlArrayType
+
+
Returns the element class that is used to create the backing array.
+
+
getAttribute(String) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Obtain the value of an attribute
+
+
getAttribute(String) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain the value of an attribute
+
+
getAttributes() - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Returns the attributes which will be applied to SQL statements created by Jdbi.
+
+
getAttributes() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Returns the attributes applied in this context.
+
+
getBinding() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Returns the statement binding.
+
+
getBytes(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a byte array.
+
+
getBytes(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a byte array.
+
+
getCaseChange() - Method in class org.jdbi.v3.core.mapper.MapMappers
+
+
Case change strategy for the database column names.
+
+
getCaseChange() - Method in class org.jdbi.v3.core.mapper.reflect.ReflectionMappers
+
+
Case change strategy for the database column names.
+
+
getCleanableFor(Connection) - Method in interface org.jdbi.v3.core.ConnectionFactory
+
+
Returns a Cleanable that will close the connection and release all necessary resources.
+
+
getCoalesceNullPrimitivesToDefaults() - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
+
Returns true if database NULL values should be transformed to the default value for primitives.
+
+
getColumn(int) - Method in class org.jdbi.v3.vavr.TupleMappers
+
+
Returns the name for a column.
+
+
getColumn(int, Class<T>) - Method in class org.jdbi.v3.core.result.RowView
+
+
Use a column mapper to extract a type from the current ResultSet row.
+
+
getColumn(int, Type) - Method in class org.jdbi.v3.core.result.RowView
+
+
Use a column mapper to extract a type from the current ResultSet row.
+
+
getColumn(int, GenericType<T>) - Method in class org.jdbi.v3.core.result.RowView
+
+
Use a column mapper to extract a type from the current ResultSet row.
+
+
getColumn(int, QualifiedType<T>) - Method in class org.jdbi.v3.core.result.RowView
+
+
Use a qualified column mapper to extract a type from the current ResultSet row.
+
+
getColumn(String, Class<T>) - Method in class org.jdbi.v3.core.result.RowView
+
+
Use a column mapper to extract a type from the current ResultSet row.
+
+
getColumn(String, Type) - Method in class org.jdbi.v3.core.result.RowView
+
+
Use a column mapper to extract a type from the current ResultSet row.
+
+
getColumn(String, GenericType<T>) - Method in class org.jdbi.v3.core.result.RowView
+
+
Use a column mapper to extract a type from the current ResultSet row.
+
+
getColumn(String, QualifiedType<T>) - Method in class org.jdbi.v3.core.result.RowView
+
+
Use a qualified column mapper to extract a type from the current ResultSet row.
+
+
getColumnMapper() - Method in interface org.jdbi.v3.core.codec.Codec
+
+
Returns a ColumnMapper that creates an attribute value from a database column.
+
+
getColumnMapper(ConfigRegistry) - Method in interface org.jdbi.v3.core.codec.Codec
+
+
Returns a ColumnMapper that creates an attribute value from a database column.
+
+
getColumnNameMatchers() - Method in class org.jdbi.v3.core.mapper.reflect.ReflectionMappers
+
+
Returns the registered column name mappers.
+
+
getColumnNames(ResultSet) - Static method in class org.jdbi.v3.core.mapper.reflect.ReflectionMapperUtil
+
+
Deprecated. + +
+
+
getColumnNames(ResultSet, UnaryOperator<String>) - Static method in class org.jdbi.v3.core.mapper.reflect.ReflectionMapperUtil
+
+
Returns the name of all the columns present in the specified ResultSet.
+
+
getCompletionMoment() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
If query execution was successful, returns the query execution end as an Instant.
+
+
getConfig() - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Returns the configuration registry associated with this object.
+
+
getConfig() - Method in class org.jdbi.v3.core.extension.ExtensionContext
+
 
+
getConfig() - Method in interface org.jdbi.v3.core.extension.HandleSupplier
+
+
Returns the current Jdbi config.
+
+
getConfig() - Method in class org.jdbi.v3.core.Handle
+
+
The current configuration object associated with this handle.
+
+
getConfig() - Method in class org.jdbi.v3.core.Jdbi
+
 
+
getConfig() - Method in class org.jdbi.v3.core.statement.Batch
+
 
+
getConfig() - Method in class org.jdbi.v3.core.statement.Call
+
 
+
getConfig() - Method in class org.jdbi.v3.core.statement.MetaData
+
 
+
getConfig() - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
 
+
getConfig() - Method in class org.jdbi.v3.core.statement.Query
+
 
+
getConfig() - Method in class org.jdbi.v3.core.statement.Script
+
 
+
getConfig() - Method in class org.jdbi.v3.core.statement.SqlStatement
+
 
+
getConfig() - Method in class org.jdbi.v3.core.statement.Update
+
 
+
getConfig() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Returns the ConfigRegistry.
+
+
getConfig(Class<C>) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Gets the configuration object of the given type, associated with this object.
+
+
getConfig(Class<C>) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Gets the configuration object of the given type, associated with this context.
+
+
getConfigCustomizerFactories(ConfigRegistry) - Method in interface org.jdbi.v3.core.extension.ExtensionFactory
+
+
Returns a collection of ConfigCustomizerFactory objects.
+
+
getConfigCustomizerFactories(ConfigRegistry) - Method in class org.jdbi.v3.sqlobject.SqlObjectFactory
+
 
+
getConnection() - Method in class org.jdbi.v3.core.Handle
+
+
Get the JDBC Connection this Handle uses.
+
+
getConnection() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain the JDBC connection being used for this statement
+
+
getContext() - Method in class org.jdbi.v3.core.result.ResultIterable.ResultIteratorDelegate
+
 
+
getContext() - Method in interface org.jdbi.v3.core.result.ResultIterator
+
+
Returns the current StatementContext.
+
+
getContext() - Method in class org.jdbi.v3.core.statement.Batch
+
+
Returns the statement context associated with this statement.
+
+
getContext() - Method in class org.jdbi.v3.core.statement.Call
+
+
Returns the statement context associated with this statement.
+
+
getContext() - Method in class org.jdbi.v3.core.statement.MetaData
+
+
Returns the statement context associated with this statement.
+
+
getContext() - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
+
Returns the statement context associated with this statement.
+
+
getContext() - Method in class org.jdbi.v3.core.statement.Query
+
+
Returns the statement context associated with this statement.
+
+
getContext() - Method in class org.jdbi.v3.core.statement.Script
+
+
Returns the statement context associated with this statement.
+
+
getContext() - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Returns the statement context associated with this statement.
+
+
getContext() - Method in class org.jdbi.v3.core.statement.Update
+
+
Returns the statement context associated with this statement.
+
+
getCoreImpl() - Method in enum org.jdbi.v3.sqlobject.customizer.BindList.EmptyHandling
+
 
+
getDate(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Date object.
+
+
getDate(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Date object.
+
+
getDefaultColumnMapper() - Static method in interface org.jdbi.v3.core.mapper.ColumnMapper
+
 
+
getDefaultParameterCustomizerFactory() - Method in class org.jdbi.v3.sqlobject.SqlObjects
+
+
Returns the configured ParameterCustomizerFactory used to bind sql statement parameters + when parameter is not explicitly annotated.
+
+
getDefaultStrategy() - Method in class org.jdbi.v3.core.enums.Enums
+
+
Returns the default strategy to use for mapping and binding enums, in the absence of a + EnumByName or EnumByOrdinal qualifying annotation.
+
+
getDeserializationView() - Method in class org.jdbi.v3.jackson2.Jackson2Config
+
+
Returns the current @JsonView used for deserialization.
+
+
getDouble(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Double object.
+
+
getDouble(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Double object.
+
+
getDoubleValue(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a double value.
+
+
getDoubleValue(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a double value.
+
+
getElapsedTime(ChronoUnit) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Convenience method to measure elapsed time between start of query execution and completion or exception as appropriate.
+
+
getErasedType(Type) - Static method in class org.jdbi.v3.core.generic.GenericTypes
+
+
Returns the erased class for the given type.
+
+
getExceptionMoment() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
If query execution failed, returns the query execution end as an Instant.
+
+
getExecutionMoment() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Returns the query execution start as an Instant.
+
+
getExtensionHandlerCustomizers(ConfigRegistry) - Method in interface org.jdbi.v3.core.extension.ExtensionFactory
+
+
Returns a collection of ExtensionHandlerCustomizer objects.
+
+
getExtensionHandlerCustomizers(ConfigRegistry) - Method in class org.jdbi.v3.sqlobject.SqlObjectFactory
+
 
+
getExtensionHandlerFactories(ConfigRegistry) - Method in interface org.jdbi.v3.core.extension.ExtensionFactory
+
+
Returns a collection of ExtensionHandlerFactory objects.
+
+
getExtensionHandlerFactories(ConfigRegistry) - Method in class org.jdbi.v3.sqlobject.SqlObjectFactory
+
 
+
getExtensionMethod() - Method in class org.jdbi.v3.core.extension.ExtensionContext
+
 
+
getExtensionMethod() - Method in class org.jdbi.v3.core.Handle
+
+
Returns the extension method currently bound to the handle's context.
+
+
getExtensionMethod() - Method in class org.jdbi.v3.core.statement.StatementContext
+
 
+
getExtensionMethods() - Method in class org.jdbi.v3.core.extension.ExtensionMetadata
+
+
Returns a set of all Methods that have ExtensionHandler objects associated with them.
+
+
getExtensionType() - Method in class org.jdbi.v3.core.extension.ExtensionMetadata.Builder
+
+
Returns the extension type from the builder.
+
+
getFactories() - Method in class org.jdbi.v3.core.argument.Arguments
+
 
+
getFactoryFlags() - Method in interface org.jdbi.v3.core.extension.ExtensionFactory
+
+
Returns a set of ExtensionFactory.FactoryFlags that describe the extension factory.
+
+
getFloat(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Float object.
+
+
getFloat(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Float object.
+
+
getFloatValue(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a float value.
+
+
getFloatValue(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a float value.
+
+
getFreemarkerConfiguration() - Method in class org.jdbi.v3.freemarker.FreemarkerConfig
+
 
+
GetGeneratedKeys - Annotation Type in org.jdbi.v3.sqlobject.statement
+
 
+
getGeneratedKeysColumnNames() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Returns the generated key column names or empty if none were generated.
+
+
getGson() - Method in class org.jdbi.v3.gson2.Gson2Config
+
+
Returns the Gson object used for json conversion.
+
+
getHandle() - Method in interface org.jdbi.v3.core.extension.HandleSupplier
+
+
Returns a handle, possibly creating it lazily.
+
+
getHandle() - Method in class org.jdbi.v3.core.statement.Batch
+
 
+
getHandle() - Method in class org.jdbi.v3.core.statement.Call
+
 
+
getHandle() - Method in class org.jdbi.v3.core.statement.MetaData
+
 
+
getHandle() - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
 
+
getHandle() - Method in class org.jdbi.v3.core.statement.Query
+
 
+
getHandle() - Method in class org.jdbi.v3.core.statement.Script
+
 
+
getHandle() - Method in class org.jdbi.v3.core.statement.SqlStatement
+
 
+
getHandle() - Method in class org.jdbi.v3.core.statement.Update
+
 
+
getHandle() - Method in interface org.jdbi.v3.sqlobject.SqlObject
+
+
Returns the handle used in the current sql object context.
+
+
getHandle() - Method in class org.jdbi.v3.testing.JdbiRule
+
+
Get the single Handle instance opened for the duration of this test case.
+
+
getHandle(Jdbi) - Static method in class org.jdbi.v3.spring5.JdbiUtil
+
+
Obtain a Handle instance, either the transactionally bound one if we are in a transaction, + or a new one otherwise.
+
+
getHandleCallbackDecorator() - Method in class org.jdbi.v3.core.Jdbi
+
+ +
+
getHandleScope() - Method in class org.jdbi.v3.core.Jdbi
+
+
Returns the internal HandleScope object.
+
+
getInferenceInterceptors() - Method in class org.jdbi.v3.core.array.SqlArrayTypes
+
+
Returns the JdbiInterceptionChainHolder for the SqlArrayType inference.
+
+
getInferenceInterceptors() - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
+
Returns the JdbiInterceptionChainHolder for the ColumnMapper inference.
+
+
getInferenceInterceptors() - Method in class org.jdbi.v3.core.mapper.RowMappers
+
+
Returns the JdbiInterceptionChainHolder for the RowMapper inference.
+
+
getInt(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Integer object.
+
+
getInt(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Integer object.
+
+
getIntValue(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a int value.
+
+
getIntValue(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a int value.
+
+
getJdbi() - Method in interface org.jdbi.v3.core.extension.HandleSupplier
+
+
Returns the owning Jdbi instance.
+
+
getJdbi() - Method in class org.jdbi.v3.core.Handle
+
+
Returns the Jdbi object used to create this handle.
+
+
getJdbi() - Method in class org.jdbi.v3.testing.JdbiRule
+
+
Get Jdbi, in case you want to open additional handles to the same data source.
+
+
getJdbi() - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Returns a Jdbi instance linked to the data source used by this extension.
+
+
getJsonMapper() - Method in class org.jdbi.v3.json.JsonConfig
+
 
+
getKeyColumn() - Method in interface org.jdbi.v3.core.mapper.MapEntryConfig
+
 
+
getKeyColumn() - Method in class org.jdbi.v3.core.mapper.MapEntryMappers
+
 
+
getKeyColumn() - Method in class org.jdbi.v3.vavr.TupleMappers
+
 
+
getLengthLimit() - Method in class org.jdbi.v3.core.statement.StatementExceptions
+
+
Returns the limit hint to use to shorten strings.
+
+
getListeners() - Method in class org.jdbi.v3.core.Handles
+
+
Returns the collection of HandleListener objects.
+
+
getLobApi() - Method in class org.jdbi.v3.postgres.PostgresTypes
+
+
Provide access to Large Object streaming via Postgres specific API.
+
+
getLong(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Long object.
+
+
getLong(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Long object.
+
+
getLongValue(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a long value.
+
+
getLongValue(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a long value.
+
+
getMapper() - Method in class org.jdbi.v3.jackson2.Jackson2Config
+
+
Returns the object mapper to use for json conversion.
+
+
getMapperForValueType(Class<T>, ConfigRegistry) - Static method in class org.jdbi.v3.core.mapper.GenericMapMapperFactory
+
+
Returns a RowMapper for a map with the given value type.
+
+
getMapperForValueType(GenericType<T>, ConfigRegistry) - Static method in class org.jdbi.v3.core.mapper.GenericMapMapperFactory
+
+
Returns a RowMapper for a map with the given value type.
+
+
getMessage() - Method in exception class org.jdbi.v3.core.statement.StatementException
+
 
+
getMessageRendering() - Method in class org.jdbi.v3.core.statement.StatementExceptions
+
+
Returns the statement exception message rendering strategy.
+
+
getMethod() - Method in class org.jdbi.v3.core.extension.ExtensionMethod
+
+
Returns the method invoked.
+
+
getMoshi() - Method in class org.jdbi.v3.moshi.MoshiConfig
+
+
Returns the Moshi to use for json conversion.
+
+
getNames() - Method in class org.jdbi.v3.core.argument.MapArguments
+
+
Deprecated.
+
getNames() - Method in interface org.jdbi.v3.core.argument.NamedArgumentFinder
+
+
Returns the names this named argument finder can find.
+
+
getNames() - Method in class org.jdbi.v3.core.statement.Binding
+
+
Deprecated. +
this is expensive to compute, and it's bad practice to inspect a Binding: keep track of your own state!
+
+
+
getObject() - Method in class org.jdbi.v3.spring5.JdbiRepositoryFactoryBean
+
 
+
getObject(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as an object.
+
+
getObject(int, Class<T>) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter and casts it to a specific type.
+
+
getObject(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as an object.
+
+
getObject(String, Class<T>) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter and casts it to a specific type.
+
+
GetObjectColumnMapperFactory - Class in org.jdbi.v3.core.mapper
+
+
Factory that uses ResultSet.getObject(int, Class) to fetch values.
+
+
getObjectType() - Method in class org.jdbi.v3.spring5.JdbiFactoryBean
+
+
See FactoryBean.getObjectType()
+
+
getObjectType() - Method in class org.jdbi.v3.spring5.JdbiRepositoryFactoryBean
+
 
+
getParameterCount() - Method in class org.jdbi.v3.core.statement.ParsedParameters
+
+
The number of parameters from the SQL statement.
+
+
getParameterNames() - Method in class org.jdbi.v3.core.statement.ParsedParameters
+
+
The parameter names from the SQL statement.
+
+
getParameters() - Method in class org.jdbi.v3.core.statement.ParsedSql
+
+
The set of parameters parsed from the input SQL string.
+
+
getParsedSql() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain the parsed SQL statement
+
+
getQualifiers() - Method in class org.jdbi.v3.core.qualifier.QualifiedType
+
+
Returns a set of qualifying annotations.
+
+
getQueryTimeout() - Method in class org.jdbi.v3.core.statement.SqlStatements
+
 
+
getRawSql() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain the initial sql for the statement used to create the statement
+
+
getRenderedSql() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain the rendered SQL statement
+
+
getResource(ClassLoader, String) - Method in class org.jdbi.v3.core.locator.ClasspathSqlLocator
+
+
Returns resource's contents as a string at the specified path by the specified classloader.
+
+
getResource(String) - Method in class org.jdbi.v3.core.locator.ClasspathSqlLocator
+
+
Returns resource's contents as a string at the specified path.
+
+
getResourceOnClasspath(ClassLoader, String) - Static method in class org.jdbi.v3.core.locator.ClasspathSqlLocator
+
+
Deprecated. +
ClasspathSqlLocator.create() an instance instead of using static methods
+
+
+
getResourceOnClasspath(String) - Static method in class org.jdbi.v3.core.locator.ClasspathSqlLocator
+
+
Deprecated. +
ClasspathSqlLocator.create() an instance instead of using static methods
+
+
+
getResultSet() - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Returns a ResultBearing backed by the main result set returned by the procedure.
+
+
getRow(Class<T>) - Method in class org.jdbi.v3.core.result.RowView
+
+
Use a row mapper to extract a type from the current ResultSet row.
+
+
getRow(Type) - Method in class org.jdbi.v3.core.result.RowView
+
+
Use a row mapper to extract a type from the current ResultSet row.
+
+
getRow(GenericType<T>) - Method in class org.jdbi.v3.core.result.RowView
+
+
Use a row mapper to extract a type from the current ResultSet row.
+
+
getRowSet(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves a ResultBearing for an out parameter.
+
+
getRowSet(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves a ResultBearing for an out parameter.
+
+
getSerializationView() - Method in class org.jdbi.v3.jackson2.Jackson2Config
+
+
Returns the current @JsonView used for serialization.
+
+
getSharedHandle() - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Returns a shared Handle used by the extension.
+
+
getShort(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Short object.
+
+
getShort(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Short object.
+
+
getShortMessage() - Method in exception class org.jdbi.v3.core.statement.StatementException
+
 
+
getShortValue(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a short value.
+
+
getShortValue(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a short value.
+
+
getShutdownWaitTimeInSeconds() - Method in class org.jdbi.v3.testing.junit5.tc.TestcontainersDatabaseInformation
+
+
Returns the time in seconds that a test will wait to shut down the Jdbi extension.
+
+
getSql() - Method in class org.jdbi.v3.core.statement.ParsedSql
+
+
Returns a SQL string suitable for use with a JDBC PreparedStatement.
+
+
getSqlArrayArgumentStrategy() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Returns the strategy used by this context to bind array-type arguments to SQL statements.
+
+
getSqlLocator() - Method in class org.jdbi.v3.sqlobject.SqlObjects
+
+
Returns the configured SqlLocator.
+
+
getSqlLogger() - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Returns the current logger.
+
+
getSqlParser() - Method in class org.jdbi.v3.core.statement.SqlStatements
+
 
+
getSqlType() - Method in class org.jdbi.v3.core.argument.NullArgument
+
+
Returns the Types value that is used.
+
+
getStatement() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Obtain the actual prepared statement being used.
+
+
getStatementBuilder() - Method in class org.jdbi.v3.core.Handle
+
+
Returns the current StatementBuilder which is used to create new JDBC Statement objects.
+
+
getStatementBuilderFactory() - Method in class org.jdbi.v3.core.Jdbi
+
+
Returns the current StatementBuilderFactory.
+
+
getStatementContext() - Method in exception class org.jdbi.v3.core.statement.StatementException
+
 
+
getStatements() - Method in class org.jdbi.v3.core.statement.Script
+
+
Locate the Script and split it into statements.
+
+
getStats() - Method in class org.jdbi.v3.cache.caffeine.CaffeineCache
+
 
+
getStats() - Method in class org.jdbi.v3.cache.caffeine.CaffeineLoadingCache
+
 
+
getStats() - Method in class org.jdbi.v3.cache.noop.NoopCache
+
 
+
getStats() - Method in interface org.jdbi.v3.core.cache.JdbiCache
+
+
Return implementation specific statistics for the cache object.
+
+
getString(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a string.
+
+
getString(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a string.
+
+
getSupportedSourceVersion() - Method in class org.jdbi.v3.generator.GenerateSqlObjectProcessor
+
 
+
getTemplateEngine() - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Returns the TemplateEngine which renders the SQL template.
+
+
getter(String, ConfigRegistry) - Method in class org.jdbi.v3.core.argument.ObjectFieldArguments
+
+
Deprecated.
+
getter(String, ConfigRegistry) - Method in class org.jdbi.v3.core.argument.ObjectMethodArguments
+
+
Deprecated.
+
getTimestamp(int) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Timestamp object.
+
+
getTimestamp(String) - Method in class org.jdbi.v3.core.statement.OutParameters
+
+
Retrieves an out parameter as a Timestamp object.
+
+
getTimezone() - Method in class org.jdbi.v3.sqlobject.customizer.TimestampedConfig
+
+
Returns the timezone used in the resulting OffsetDateTime.
+
+
getTimingCollector() - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Deprecated. + +
+
+
getTransactionHandler() - Method in class org.jdbi.v3.core.Jdbi
+
+
Returns the TransactionHandler.
+
+
getTransactionIsolationLevel() - Method in class org.jdbi.v3.core.Handle
+
+
Obtain the current transaction isolation level.
+
+
getType() - Method in class org.jdbi.v3.core.extension.ExtensionMethod
+
+
Returns the type the method was invoked on.
+
+
getType() - Method in class org.jdbi.v3.core.generic.GenericType
+
 
+
getType() - Method in class org.jdbi.v3.core.qualifier.QualifiedType
+
+
Returns the qualified type.
+
+
getTypeName() - Method in interface org.jdbi.v3.core.array.SqlArrayType
+
+
Returns the vendor-specific SQL type name String for the element type T.
+
+
getUntypedNullArgument() - Method in class org.jdbi.v3.core.argument.Arguments
+
+
Returns the untyped null argument.
+
+
getUrl() - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Returns a JDBC url representing the data source used by this extension.
+
+
getUrl() - Method in class org.jdbi.v3.testing.junit5.JdbiExternalPostgresExtension
+
 
+
getUrl() - Method in class org.jdbi.v3.testing.junit5.JdbiGenericExtension
+
 
+
getUrl() - Method in class org.jdbi.v3.testing.junit5.JdbiH2Extension
+
 
+
getUrl() - Method in class org.jdbi.v3.testing.junit5.JdbiOtjPostgresExtension
+
 
+
getUrl() - Method in class org.jdbi.v3.testing.junit5.JdbiPostgresExtension
+
 
+
getUrl() - Method in class org.jdbi.v3.testing.junit5.JdbiSqliteExtension
+
 
+
getUrl() - Method in class org.jdbi.v3.testing.junit5.tc.JdbiTestcontainersExtension
+
 
+
getValueColumn() - Method in interface org.jdbi.v3.core.mapper.MapEntryConfig
+
 
+
getValueColumn() - Method in class org.jdbi.v3.core.mapper.MapEntryMappers
+
 
+
getValueColumn() - Method in class org.jdbi.v3.vavr.TupleMappers
+
 
+
getWithLoader(K, JdbiCacheLoader<K, V>) - Method in class org.jdbi.v3.cache.caffeine.CaffeineCache
+
 
+
getWithLoader(K, JdbiCacheLoader<K, V>) - Method in class org.jdbi.v3.cache.caffeine.CaffeineLoadingCache
+
 
+
getWithLoader(K, JdbiCacheLoader<K, V>) - Method in class org.jdbi.v3.cache.noop.NoopCache
+
 
+
getWithLoader(K, JdbiCacheLoader<K, V>) - Method in interface org.jdbi.v3.core.cache.JdbiCache
+
+
Returns a cached value for a key.
+
+
Gson2Config - Class in org.jdbi.v3.gson2
+
+
Configuration class for Gson 2 integration.
+
+
Gson2Config() - Constructor for class org.jdbi.v3.gson2.Gson2Config
+
 
+
Gson2Plugin - Class in org.jdbi.v3.gson2
+
+
Gson 2 integration plugin.
+
+
Gson2Plugin() - Constructor for class org.jdbi.v3.gson2.Gson2Plugin
+
 
+
GuavaArguments - Class in org.jdbi.v3.guava
+
+
Provide ArgumentFactory instances that understand Guava types.
+
+
GuavaCollectors - Class in org.jdbi.v3.guava
+
+
Provides Collectors for Guava collection types.
+
+
GuavaPlugin - Class in org.jdbi.v3.guava
+
+
Plugin to enable all Guava functionality.
+
+
GuavaPlugin() - Constructor for class org.jdbi.v3.guava.GuavaPlugin
+
 
+
GuiceJdbiCustomizer - Interface in org.jdbi.v3.guice
+
+
Allows specific customizations of the Jdbi instance during creation.
+
+
+

H

+
+
h2() - Static method in class org.jdbi.v3.testing.JdbiRule
+
+
Create a JdbiRule with an in-memory H2 database instance.
+
+
h2() - Static method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Creates a new extension using the H2 database.
+
+
H2DatabasePlugin - Class in org.jdbi.v3.core.h2
+
+
Configure vendor supported types for the H2 Java database implementation
+
+
H2DatabasePlugin() - Constructor for class org.jdbi.v3.core.h2.H2DatabasePlugin
+
 
+
Handle - Class in org.jdbi.v3.core
+
+
This represents a connection to the database system.
+
+
HandleCallback<T,X> - Interface in org.jdbi.v3.core
+
+
Callback that accepts a Handle that remains open for the duration + of the callback invocation.
+
+
HandleCallbackDecorator - Interface in org.jdbi.v3.core
+
+ +
+
handleClosed(Handle) - Method in interface org.jdbi.v3.core.HandleListener
+
+
A handle was closed.
+
+
HandleConsumer<X> - Interface in org.jdbi.v3.core
+
+
Callback that accepts a Handle and returns no result.
+
+
handleCreated(Handle) - Method in interface org.jdbi.v3.core.HandleListener
+
+
A handle was created.
+
+
HandleListener - Interface in org.jdbi.v3.core
+
+
Allows listening to events on the Handle lifecycle.
+
+
Handler - Interface in org.jdbi.v3.sqlobject
+
+
Deprecated. +
Use ExtensionHandler directly.
+
+
+
HandlerDecorator - Interface in org.jdbi.v3.sqlobject
+
+
Deprecated. + +
+
+
HandlerDecorators - Class in org.jdbi.v3.sqlobject
+
+
Deprecated. + +
+
+
HandlerDecorators() - Constructor for class org.jdbi.v3.sqlobject.HandlerDecorators
+
+
Deprecated.
+
HandlerFactory - Interface in org.jdbi.v3.sqlobject
+
+
Deprecated. +
Use ExtensionHandlerFactory instances directly.
+
+
+
Handlers - Class in org.jdbi.v3.sqlobject
+
+
Deprecated. + +
+
+
Handlers() - Constructor for class org.jdbi.v3.sqlobject.Handlers
+
+
Deprecated.
+
Handles - Class in org.jdbi.v3.core
+
+
Configuration class for handles.
+
+
Handles() - Constructor for class org.jdbi.v3.core.Handles
+
 
+
HandleScope - Interface in org.jdbi.v3.core
+
+
Jdbi manages Handles to allow transaction nesting and extension + objects to share the same handle as long as they are within a specific scope.
+
+
HandleSupplier - Interface in org.jdbi.v3.core.extension
+
+
A handle supplier for extension implementors.
+
+
hasExtensionFor(Class<?>) - Method in class org.jdbi.v3.core.extension.Extensions
+
+
Returns true if an extension is registered for the given extension type.
+
+
hashCode() - Method in class org.jdbi.v3.core.Handle
+
 
+
hashCode() - Method in class org.jdbi.v3.core.qualifier.QualifiedType
+
 
+
hashCode() - Method in class org.jdbi.v3.core.spi.JdbiPlugin.Singleton
+
 
+
hashCode() - Method in class org.jdbi.v3.core.Sql
+
 
+
hashCode() - Method in class org.jdbi.v3.core.statement.Batch
+
 
+
hashCode() - Method in class org.jdbi.v3.core.statement.Call
+
 
+
hashCode() - Method in class org.jdbi.v3.core.statement.MetaData
+
 
+
hashCode() - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
 
+
hashCode() - Method in class org.jdbi.v3.core.statement.Query
+
 
+
hashCode() - Method in class org.jdbi.v3.core.statement.Script
+
 
+
hashCode() - Method in class org.jdbi.v3.core.statement.SqlStatement
+
 
+
hashCode() - Method in class org.jdbi.v3.core.statement.Update
+
 
+
hashCode() - Method in class org.jdbi.v3.core.statement.ParsedParameters
+
 
+
hashCode() - Method in class org.jdbi.v3.core.statement.ParsedSql
+
 
+
hashCode() - Method in class org.jdbi.v3.core.statement.StatementContext
+
 
+
HASHCODE_HANDLER - Static variable in interface org.jdbi.v3.core.extension.ExtensionHandler
+
+
Implementation for the Object.hashCode() method.
+
+
HashPrefixSqlParser - Class in org.jdbi.v3.core.statement
+
+
SQL parser which recognizes named parameter tokens of the form + #tokenName.
+
+
HashPrefixSqlParser() - Constructor for class org.jdbi.v3.core.statement.HashPrefixSqlParser
+
 
+
HashPrefixSqlParser(JdbiCacheBuilder) - Constructor for class org.jdbi.v3.core.statement.HashPrefixSqlParser
+
 
+
hasNext() - Method in class org.jdbi.v3.core.result.ResultIterable.ResultIteratorDelegate
+
 
+
hasQualifier(Class<? extends Annotation>) - Method in class org.jdbi.v3.core.qualifier.QualifiedType
+
+
Returns true if this type contains the given qualifier.
+
+
HStore - Annotation Type in org.jdbi.v3.postgres
+
+
Type qualifying annotation for HSTORE data type.
+
+
HStoreArgumentFactory - Class in org.jdbi.v3.postgres
+
+
An argument factory which binds Java's Map to Postgres' hstore type.
+
+
HStoreArgumentFactory() - Constructor for class org.jdbi.v3.postgres.HStoreArgumentFactory
+
 
+
HStoreColumnMapper - Class in org.jdbi.v3.postgres
+
+
A column mapper which maps Postgres' hstore type to Java's Map.
+
+
HStoreColumnMapper() - Constructor for class org.jdbi.v3.postgres.HStoreColumnMapper
+
 
+
+

I

+
+
id() - Element in annotation type org.jdbi.v3.core.extension.annotation.UseExtensionHandler
+
+
An extension must declare an id and tag all annotations with it.
+
+
importBinding(LinkedBindingBuilder<T>, TypeLiteral<T>) - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Pulls an existing outside binding into the module scope using the specified binder.
+
+
importBinding(LinkedBindingBuilder<T>, Class<T>) - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Pulls an existing outside binding into the module scope using the specified binder.
+
+
importBinding(TypeLiteral<T>) - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Pulls an existing outside binding into the module scope.
+
+
importBinding(Class<T>) - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Pulls an existing outside binding into the module scope.
+
+
importBindingLoosely(LinkedBindingBuilder<T>, TypeLiteral<T>) - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Pulls an outside binding into the module scope if it exists using the binder given.
+
+
importBindingLoosely(LinkedBindingBuilder<T>, Class<T>) - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Pulls an outside binding into the module scope if it exists using the binder given.
+
+
importBindingLoosely(TypeLiteral<T>) - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Pulls an outside binding into the module scope if it exists.
+
+
importBindingLoosely(Class<T>) - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Pulls an outside binding into the module scope if it exists.
+
+
InetArgumentFactory - Class in org.jdbi.v3.postgres
+
+
Postgres version of argument factory for InetAddress.
+
+
InetArgumentFactory() - Constructor for class org.jdbi.v3.postgres.InetArgumentFactory
+
 
+
init(ProcessingEnvironment) - Method in class org.jdbi.v3.generator.GenerateSqlObjectProcessor
+
 
+
init(ConfigRegistry) - Method in interface org.jdbi.v3.core.mapper.ColumnMapper
+
+
Allows for initialization of the column mapper instance within a ConfigRegistry scope.
+
+
init(ConfigRegistry) - Method in interface org.jdbi.v3.core.mapper.RowMapper
+
+
Allows for initialization of the row mapper instance within a ConfigRegistry scope.
+
+
initialize(DataSource, Handle) - Method in interface org.jdbi.v3.testing.junit5.JdbiExtensionInitializer
+
+
Run initialization code before a test.
+
+
initialize(DataSource, Handle) - Method in class org.jdbi.v3.testing.junit5.JdbiFlywayMigration
+
 
+
InputStreamArgument - Class in org.jdbi.v3.core.argument
+
+
Bind an input stream as either an ASCII (discouraged) or binary stream.
+
+
InputStreamArgument(InputStream, int, boolean) - Constructor for class org.jdbi.v3.core.argument.InputStreamArgument
+
 
+
installPlugin(JdbiPlugin) - Method in class org.jdbi.v3.core.Jdbi
+
+
Install a given JdbiPlugin instance that will configure any + provided Handle instances.
+
+
installPlugins() - Method in class org.jdbi.v3.core.Jdbi
+
+
Use the ServiceLoader API to detect and install plugins automagically.
+
+
installPlugins() - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
When creating the Jdbi instance, call the Jdbi.installPlugins() method, which loads all plugins discovered by the + ServiceLoader API.
+
+
instance() - Static method in class org.jdbi.v3.cache.caffeine.CaffeineCacheBuilder
+
+
Returns a new JdbiCacheBuilder which can be used to construct the internal caches.
+
+
instance() - Static method in class org.jdbi.v3.freemarker.FreemarkerEngine
+
 
+
instance(TestcontainersDatabaseInformation, JdbcDatabaseContainer<?>) - Static method in class org.jdbi.v3.testing.junit5.tc.JdbiTestcontainersExtension
+
+
Create a new JdbiExtension that uses the supplied JdbcDatabaseContainer as database.
+
+
instance(JdbcDatabaseContainer<?>) - Static method in class org.jdbi.v3.testing.junit5.tc.JdbiTestcontainersExtension
+
+
Create a new JdbiExtension that uses the supplied JdbcDatabaseContainer as database.
+
+
INSTANCE - Static variable in class org.jdbi.v3.core.argument.BuiltInArgumentFactory
+
+
Deprecated.
+
intercept(S, JdbiInterceptionChain<T>) - Method in interface org.jdbi.v3.core.interceptor.JdbiInterceptor
+
+
Process a given source object.
+
+
inTransaction(HandleCallback<R, X>) - Method in class org.jdbi.v3.core.async.AbstractJdbiExecutor
+
 
+
inTransaction(HandleCallback<R, X>) - Method in interface org.jdbi.v3.core.async.JdbiExecutor
+
+
A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients.
+
+
inTransaction(HandleCallback<R, X>) - Method in class org.jdbi.v3.core.Handle
+
+
Executes callback in a transaction, and returns the result of the callback.
+
+
inTransaction(HandleCallback<R, X>) - Method in class org.jdbi.v3.core.Jdbi
+
+
A convenience function which manages the lifecycle of a handle and yields it to a callback + for use by clients.
+
+
inTransaction(Handle, HandleCallback<R, X>) - Method in class org.jdbi.v3.core.transaction.CMTTransactionHandler
+
 
+
inTransaction(Handle, HandleCallback<R, X>) - Method in class org.jdbi.v3.core.transaction.DelegatingTransactionHandler
+
 
+
inTransaction(Handle, HandleCallback<R, X>) - Method in class org.jdbi.v3.core.transaction.LocalTransactionHandler
+
 
+
inTransaction(Handle, HandleCallback<R, X>) - Method in class org.jdbi.v3.core.transaction.SerializableTransactionRunner
+
 
+
inTransaction(Handle, HandleCallback<R, X>) - Method in interface org.jdbi.v3.core.transaction.TransactionHandler
+
+
Run a transaction.
+
+
inTransaction(Handle, TransactionIsolationLevel, HandleCallback<R, X>) - Method in class org.jdbi.v3.core.transaction.CMTTransactionHandler
+
 
+
inTransaction(Handle, TransactionIsolationLevel, HandleCallback<R, X>) - Method in class org.jdbi.v3.core.transaction.DelegatingTransactionHandler
+
 
+
inTransaction(Handle, TransactionIsolationLevel, HandleCallback<R, X>) - Method in class org.jdbi.v3.core.transaction.LocalTransactionHandler
+
 
+
inTransaction(Handle, TransactionIsolationLevel, HandleCallback<R, X>) - Method in class org.jdbi.v3.core.transaction.SerializableTransactionRunner
+
 
+
inTransaction(Handle, TransactionIsolationLevel, HandleCallback<R, X>) - Method in interface org.jdbi.v3.core.transaction.TransactionHandler
+
+
Run a transaction.
+
+
inTransaction(TransactionIsolationLevel, HandleCallback<R, X>) - Method in class org.jdbi.v3.core.async.AbstractJdbiExecutor
+
 
+
inTransaction(TransactionIsolationLevel, HandleCallback<R, X>) - Method in interface org.jdbi.v3.core.async.JdbiExecutor
+
+
A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients.
+
+
inTransaction(TransactionIsolationLevel, HandleCallback<R, X>) - Method in class org.jdbi.v3.core.Handle
+
+
Executes callback in a transaction, and returns the result of the callback.
+
+
inTransaction(TransactionIsolationLevel, HandleCallback<R, X>) - Method in class org.jdbi.v3.core.Jdbi
+
+
A convenience function which manages the lifecycle of a handle and yields it to a callback + for use by clients.
+
+
inTransaction(TransactionIsolationLevel, TransactionalCallback<R, This, X>) - Method in interface org.jdbi.v3.sqlobject.transaction.Transactional
+
+
Executes the given callback within a transaction, returning the value returned by the callback.
+
+
inTransaction(TransactionalCallback<R, This, X>) - Method in interface org.jdbi.v3.sqlobject.transaction.Transactional
+
+
Executes the given callback within a transaction, returning the value returned by the callback.
+
+
inTransaction(T) - Method in interface org.jdbi.v3.sqlobject.transaction.TransactionalCallback
+
+
Execute in a transaction.
+
+
intValue() - Method in enum org.jdbi.v3.core.transaction.TransactionIsolationLevel
+
 
+
invoke() - Method in class org.jdbi.v3.core.statement.Call
+
+
Invoke the callable statement.
+
+
invoke(Object...) - Method in class org.jdbi.v3.core.extension.ExtensionMetadata.ExtensionHandlerInvoker
+
+
Invoke the registered extension handler code in the extension context.
+
+
invoke(Object, Object[], HandleSupplier) - Method in interface org.jdbi.v3.sqlobject.Handler
+
+
Deprecated.
+
Executes a SQL Object method, and returns the result.
+
+
invoke(Consumer<OutParameters>) - Method in class org.jdbi.v3.core.statement.Call
+
+
Invoke the callable statement and process its OutParameters results.
+
+
invoke(Function<OutParameters, T>) - Method in class org.jdbi.v3.core.statement.Call
+
+
Invoke the callable statement and process its OutParameters results, + returning a computed value of type T.
+
+
invoke(HandleSupplier, Object, Object...) - Method in interface org.jdbi.v3.core.extension.ExtensionHandler
+
+
Gets invoked to return a value for the method that this handler was bound to.
+
+
invoke(HandleSupplier, Object, Object...) - Method in interface org.jdbi.v3.sqlobject.Handler
+
+
Deprecated.
+
invokeInContext(ExtensionContext, Callable<V>) - Method in interface org.jdbi.v3.core.extension.HandleSupplier
+
+
Bind a new ExtensionContext to the Handle, invoke the given task, then restore the Handle's extension state.
+
+
isAllowProxy() - Method in class org.jdbi.v3.core.extension.Extensions
+
+
Returns whether Proxy classes are allowed to be used.
+
+
isArray(Type) - Static method in class org.jdbi.v3.core.generic.GenericTypes
+
+
Checks whether a given Type is an Array Type.
+
+
isAttachAllStatementsForCleanup() - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+ +
+
isAttachCallbackStatementsForCleanup() - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+ +
+
isBindingNullToPrimitivesPermitted() - Method in class org.jdbi.v3.core.argument.Arguments
+
+
Returns true if binding null to a variable declared as a primitive type is allowed.
+
+
isClean() - Method in class org.jdbi.v3.core.Handle
+
+
Returns true if the Handle currently holds no database resources.
+
+
isClosed() - Method in class org.jdbi.v3.core.Handle
+
+
Returns true if the Handle has been closed.
+
+
isConcurrentUpdatable() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Return if the statement should be concurrent updatable.
+
+
isEmpty() - Method in class org.jdbi.v3.core.statement.Binding
+
+
Returns whether any bindings exist.
+
+
isFailFast() - Method in class org.jdbi.v3.core.extension.Extensions
+
+
Returns true if misconfigured extension objects fail fast.
+
+
isFailOnMissingAttribute() - Method in class org.jdbi.v3.stringtemplate4.StringTemplates
+
 
+
isForceEndTransactions() - Method in class org.jdbi.v3.core.Handles
+
+
Returns whether to enforce transaction termination discipline when a + Handle is closed.
+
+
isInTransaction() - Method in class org.jdbi.v3.core.Handle
+
+
Returns whether the handle is in a transaction.
+
+
isInTransaction() - Method in interface org.jdbi.v3.sqlobject.transaction.Transactional
+
+
Returns True if this object is currently in a transaction.
+
+
isInTransaction(Handle) - Method in class org.jdbi.v3.core.transaction.CMTTransactionHandler
+
+
Called to test if a handle is in a transaction
+
+
isInTransaction(Handle) - Method in class org.jdbi.v3.core.transaction.DelegatingTransactionHandler
+
 
+
isInTransaction(Handle) - Method in class org.jdbi.v3.core.transaction.LocalTransactionHandler
+
 
+
isInTransaction(Handle) - Method in interface org.jdbi.v3.core.transaction.TransactionHandler
+
+
Returns whether a given Handle is in the transaction.
+
+
isPositional() - Method in class org.jdbi.v3.core.statement.ParsedParameters
+
+
Whether the the SQL statement uses positional parameters.
+
+
isPreparedArgumentsEnabled() - Method in class org.jdbi.v3.core.argument.Arguments
+
+
Returns true if prepared arguments binding is enabled.
+
+
isReadOnly() - Method in class org.jdbi.v3.core.Handle
+
+
Whether the connection is in read-only mode.
+
+
isReturningGeneratedKeys() - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Whether the statement being generated is expected to return generated keys.
+
+
isScriptStatementsNeedSemicolon() - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
If true, script statements parsed by a Script object will have a trailing semicolon.
+
+
isStrictMatching() - Method in class org.jdbi.v3.core.mapper.reflect.ReflectionMappers
+
+
Returns whether strict column name matching is enabled.
+
+
isSuperType(Type, Type) - Static method in class org.jdbi.v3.core.generic.GenericTypes
+
+
Tests whether a given type is a supertype of another type
+
+
isUnusedBindingAllowed() - Method in class org.jdbi.v3.core.statement.SqlStatements
+
 
+
iterator() - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Stream all the rows of the result set out + with an Iterator.
+
+
IteratorCallback<T,R,X> - Interface in org.jdbi.v3.core.result
+
+ +
+
IteratorConsumer<T,X> - Interface in org.jdbi.v3.core.result
+
+ +
+
+

J

+
+
Jackson2Config - Class in org.jdbi.v3.jackson2
+
+
Configuration class for Jackson 2 integration.
+
+
Jackson2Config() - Constructor for class org.jdbi.v3.jackson2.Jackson2Config
+
 
+
Jackson2Plugin - Class in org.jdbi.v3.jackson2
+
+
Jackson 2 integration plugin.
+
+
Jackson2Plugin() - Constructor for class org.jdbi.v3.jackson2.Jackson2Plugin
+
 
+
JavaTimeArgumentFactory - Class in org.jdbi.v3.postgres
+
+ +
+
JavaTimeArgumentFactory() - Constructor for class org.jdbi.v3.postgres.JavaTimeArgumentFactory
+
 
+
JavaTimeMapperFactory - Class in org.jdbi.v3.postgres
+
+
Provide mappers corresponding to java time types.
+
+
JavaTimeMapperFactory() - Constructor for class org.jdbi.v3.postgres.JavaTimeMapperFactory
+
 
+
JavaTimeZoneIdArgumentFactory - Class in org.jdbi.v3.core.argument
+
 
+
JavaTimeZoneIdArgumentFactory() - Constructor for class org.jdbi.v3.core.argument.JavaTimeZoneIdArgumentFactory
+
 
+
Jdbi - Class in org.jdbi.v3.core
+
+
Main entry point; configurable wrapper around a JDBC DataSource.
+
+
jdbiBinder() - Method in class org.jdbi.v3.guice.AbstractJdbiConfigurationModule
+
+
Provides access to the JdbiBinder instance.
+
+
jdbiBinder() - Method in class org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
Provides access to the JdbiBinder instance.
+
+
jdbiBinder() - Method in interface org.jdbi.v3.guice.JdbiBinder
+
+
Provides access to a JdbiBinder instance.
+
+
JdbiBinder - Interface in org.jdbi.v3.guice
+
+
Describes all operations to bind Jdbi elements in Guice.
+
+
JdbiCache<K,V> - Interface in org.jdbi.v3.core.cache
+
+
A generic cache implementation for JDBI internal use.
+
+
JdbiCacheBuilder - Interface in org.jdbi.v3.core.cache
+
+
Builder class for JdbiCache implementations.
+
+
JdbiCacheLoader<K,V> - Interface in org.jdbi.v3.core.cache
+
+
Creates a new value for a JdbiCache.
+
+
JdbiCacheStats - Interface in org.jdbi.v3.core.cache
+
+
Simple statistics about a JdbiCache instance.
+
+
JdbiCollectors - Class in org.jdbi.v3.core.collector
+
+
Registry of collector factories.
+
+
JdbiCollectors() - Constructor for class org.jdbi.v3.core.collector.JdbiCollectors
+
 
+
JdbiConfig<This> - Interface in org.jdbi.v3.core.config
+
+
Interface for classes that hold configuration.
+
+
JdbiConstructor - Annotation Type in org.jdbi.v3.core.mapper.reflect
+
+
Indicate to ConstructorMapper and other reflective mappers + how to construct an instance.
+
+
JdbiConstructors - Class in org.jdbi.v3.core.mapper.reflect
+
+
Utilities for JdbiConstructor annotation.
+
+
JdbiException - Exception Class in org.jdbi.v3.core
+
+
Base unchecked exception for exceptions thrown from jdbi.
+
+
JdbiExecutor - Interface in org.jdbi.v3.core.async
+
 
+
JdbiExtension - Class in org.jdbi.v3.testing.junit5
+
+
Common functionality for all JUnit 5 extensions.
+
+
JdbiExtensionInitializer - Interface in org.jdbi.v3.testing.junit5
+
+
Initialize the data source before running a test.
+
+
JdbiExternalPostgresExtension - Class in org.jdbi.v3.testing.junit5
+
 
+
JdbiFactoryBean - Class in org.jdbi.v3.spring5
+
+
Utility class which constructs an Jdbi instance which can conveniently + participate in Spring's transaction management system.
+
+
JdbiFactoryBean() - Constructor for class org.jdbi.v3.spring5.JdbiFactoryBean
+
 
+
JdbiFactoryBean(DataSource) - Constructor for class org.jdbi.v3.spring5.JdbiFactoryBean
+
 
+
JdbiFlywayMigration - Class in org.jdbi.v3.testing.junit5
+
+
Use Flyway to create a database schema and/or preload a database instance.
+
+
JdbiFreeBuilders - Class in org.jdbi.v3.core.mapper.freebuilder
+
+
Configures support for an FreeBuilder generated Builder) value type.
+
+
JdbiFreeBuilders() - Constructor for class org.jdbi.v3.core.mapper.freebuilder.JdbiFreeBuilders
+
 
+
JdbiGenericExtension - Class in org.jdbi.v3.testing.junit5
+
+
Very simple implementation of a JUnit 5 JdbiExtension which can handle any JDBC connection.
+
+
JdbiGenericExtension(String) - Constructor for class org.jdbi.v3.testing.junit5.JdbiGenericExtension
+
+
Creates a new instance for a given JDBC URI.
+
+
JdbiH2Extension - Class in org.jdbi.v3.testing.junit5
+
+
Jdbi H2 JUnit 5 rule.
+
+
JdbiH2Extension() - Constructor for class org.jdbi.v3.testing.junit5.JdbiH2Extension
+
 
+
JdbiH2Extension(String) - Constructor for class org.jdbi.v3.testing.junit5.JdbiH2Extension
+
+
Allows setting the options string for the H2 database.
+
+
JdbiImmutables - Class in org.jdbi.v3.core.mapper.immutables
+
+
Configures support for an Immutables generated Immutable or Modifiable value type.
+
+
JdbiImmutables() - Constructor for class org.jdbi.v3.core.mapper.immutables.JdbiImmutables
+
 
+
JdbiInterceptionChain<T> - Interface in org.jdbi.v3.core.interceptor
+
+
An instance of an interception chain.
+
+
JdbiInterceptionChainHolder<S,T> - Class in org.jdbi.v3.core.interceptor
+
+
An interception chain holder to manage transformation operations.
+
+
JdbiInterceptionChainHolder() - Constructor for class org.jdbi.v3.core.interceptor.JdbiInterceptionChainHolder
+
+
Creates a new chain holder.
+
+
JdbiInterceptionChainHolder(Function<S, T>) - Constructor for class org.jdbi.v3.core.interceptor.JdbiInterceptionChainHolder
+
+
Creates a new chain holder with a default interceptor.
+
+
JdbiInterceptionChainHolder(JdbiInterceptionChainHolder<S, T>) - Constructor for class org.jdbi.v3.core.interceptor.JdbiInterceptionChainHolder
+
 
+
JdbiInterceptor<S,T> - Interface in org.jdbi.v3.core.interceptor
+
+
Generic interface to allow transformation operation interception.
+
+
JdbiOtjPostgresExtension - Class in org.jdbi.v3.testing.junit5
+
+
Jdbi PostgreSQL JUnit 5 rule using the otj-pg-embedded component.
+
+
JdbiOtjPostgresExtension() - Constructor for class org.jdbi.v3.testing.junit5.JdbiOtjPostgresExtension
+
 
+
JdbiPlugin - Interface in org.jdbi.v3.core.spi
+
+
A plugin is given an opportunity to customize instances of various Jdbi + types before they are returned from their factories.
+
+
JdbiPlugin.Singleton - Class in org.jdbi.v3.core.spi
+
+
Abstract base class for single-install JdbiPlugins.
+
+
JdbiPostgresExtension - Class in org.jdbi.v3.testing.junit5
+
+
Jdbi PostgreSQL JUnit 5 rule using the pg-embedded component.
+
+
JdbiPostgresExtension() - Constructor for class org.jdbi.v3.testing.junit5.JdbiPostgresExtension
+
 
+
JdbiProperty - Annotation Type in org.jdbi.v3.core.annotation
+
+
Configure reflective bean and pojo property attributes.
+
+
jdbiQualifier() - Element in annotation type org.jdbi.v3.spring5.JdbiRepository
+
+
The qualifier (bean name) of the jdbi to use.
+
+
JdbiRepository - Annotation Type in org.jdbi.v3.spring5
+
+
When EnableJdbiRepositories is used, + detected interfaces with this annotation will be regarded as a jdbi (sql-object) repository + and are elligible for autowiring.
+
+
JdbiRepositoryFactoryBean - Class in org.jdbi.v3.spring5
+
 
+
JdbiRepositoryFactoryBean() - Constructor for class org.jdbi.v3.spring5.JdbiRepositoryFactoryBean
+
 
+
JdbiRepositoryRegistrar - Class in org.jdbi.v3.spring5
+
+
This bean registers the bean definitions of all repositories.
+
+
JdbiRepositoryRegistrar() - Constructor for class org.jdbi.v3.spring5.JdbiRepositoryRegistrar
+
 
+
JdbiRule - Class in org.jdbi.v3.testing
+
+
JUnit @Rule to manage a Jdbi instance pointed to a managed database.
+
+
JdbiRule() - Constructor for class org.jdbi.v3.testing.JdbiRule
+
 
+
JdbiSqliteExtension - Class in org.jdbi.v3.testing.junit5
+
+
Jdbi SQLite JUnit 5 rule.
+
+
JdbiSqliteExtension() - Constructor for class org.jdbi.v3.testing.junit5.JdbiSqliteExtension
+
 
+
JdbiTestcontainersExtension - Class in org.jdbi.v3.testing.junit5.tc
+
+
Support Testcontainer JDBC containers as database for Jdbi tests.
+
+
JdbiUtil - Class in org.jdbi.v3.spring5
+
+
Utility for working with Jdbi and Spring transaction bound resources
+
+
JodaTimePlugin - Class in org.jdbi.v3.jodatime2
+
+
Register date and time providers to integrate with joda-time.
+
+
JodaTimePlugin() - Constructor for class org.jdbi.v3.jodatime2.JodaTimePlugin
+
 
+
JoinRow - Class in org.jdbi.v3.core.mapper
+
+
Holder for a single joined row.
+
+
JoinRowMapper - Class in org.jdbi.v3.core.mapper
+
+
A RowMapper implementation to easily compose existing + RowMappers.
+
+
JpaMapper<C> - Class in org.jdbi.v3.jpa
+
+
Row mapper for a JPA-annotated type as a result.
+
+
JpaMapperFactory - Class in org.jdbi.v3.jpa
+
+
Create JpaMappers for Entity annotated classes.
+
+
JpaMapperFactory() - Constructor for class org.jdbi.v3.jpa.JpaMapperFactory
+
 
+
JpaPlugin - Class in org.jdbi.v3.jpa
+
+
Enable minimal JPA compatibility layer.
+
+
JpaPlugin() - Constructor for class org.jdbi.v3.jpa.JpaPlugin
+
 
+
Json - Annotation Type in org.jdbi.v3.json
+
+
Type qualifying annotation for converting Java types to json data type.
+
+
JsonConfig - Class in org.jdbi.v3.json
+
 
+
JsonConfig() - Constructor for class org.jdbi.v3.json.JsonConfig
+
 
+
JsonMapper - Interface in org.jdbi.v3.json
+
+
Deserializes JSON to Java objects, and serializes Java objects to JSON.
+
+
JsonMapper.TypedJsonMapper - Interface in org.jdbi.v3.json
+
 
+
JsonPlugin - Class in org.jdbi.v3.json
+
 
+
JsonPlugin() - Constructor for class org.jdbi.v3.json.JsonPlugin
+
 
+
+

K

+
+
key() - Element in annotation type org.jdbi.v3.sqlobject.customizer.Definition
+
 
+
KeyColumn - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Configures the column to use for map keys, for SQL methods that return Map, or Guava's Multimap.
+
+
keys() - Element in annotation type org.jdbi.v3.sqlobject.customizer.BindMap
+
+
The set of map keys to bind.
+
+
+

L

+
+
LargeObjectException - Exception Class in org.jdbi.v3.postgres
+
 
+
LargeObjectException(Throwable) - Constructor for exception class org.jdbi.v3.postgres.LargeObjectException
+
 
+
length() - Method in class org.jdbi.v3.core.Sql
+
 
+
LinkedHashMapRowReducer<K,V> - Interface in org.jdbi.v3.core.result
+
+
A row reducer that uses LinkedHashMap (which preserves insertion order) as a + result container, and returns map.values().stream() as the final result.
+
+
list() - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Returns results in a List using the JDK specific default implementation of List as provided + by Collectors.toList().
+
+
listPerBatch() - Method in interface org.jdbi.v3.core.result.BatchResultIterable
+
+
Split the results into per-batch sub-lists.
+
+
LOCALE_LOWER - Enum constant in enum org.jdbi.v3.core.mapper.CaseStrategy
+
+
All strings to lowercase in system locale.
+
+
LOCALE_UPPER - Enum constant in enum org.jdbi.v3.core.mapper.CaseStrategy
+
+
All strings to uppercase in system locale.
+
+
LocalTransactionHandler - Class in org.jdbi.v3.core.transaction
+
+
This TransactionHandler uses local JDBC transactions + demarcated explicitly on the handle and passed through to be handled + directly on the JDBC Connection instance.
+
+
LocalTransactionHandler() - Constructor for class org.jdbi.v3.core.transaction.LocalTransactionHandler
+
 
+
locate(Class<?>, Method, ConfigRegistry) - Method in class org.jdbi.v3.sqlobject.locator.AnnotationSqlLocator
+
 
+
locate(Class<?>, Method, ConfigRegistry) - Method in interface org.jdbi.v3.sqlobject.locator.SqlLocator
+
+
Locates and returns the SQL for the given SQL Object type and method.
+
+
locate(Class<?>, Method, ConfigRegistry) - Method in class org.jdbi.v3.sqlobject.locator.SqlObjectClasspathSqlLocator
+
 
+
locate(Class<?>, String) - Method in class org.jdbi.v3.core.locator.ClasspathSqlLocator
+
+
Locates SQL for the given type and name.
+
+
locate(Class<?>, String) - Method in class org.jdbi.v3.freemarker.FreemarkerSqlLocator
+
 
+
locate(String) - Method in class org.jdbi.v3.core.locator.ClasspathSqlLocator
+
+
Locates SQL for the given fully-qualified name.
+
+
logAfterExecution(StatementContext) - Method in class org.jdbi.v3.core.statement.Slf4JSqlLogger
+
 
+
logAfterExecution(StatementContext) - Method in interface org.jdbi.v3.core.statement.SqlLogger
+
+
Will be called after a query has been executed.
+
+
logBeforeExecution(StatementContext) - Method in interface org.jdbi.v3.core.statement.SqlLogger
+
+
Will be called before a query is executed.
+
+
logException(StatementContext, SQLException) - Method in class org.jdbi.v3.core.statement.Slf4JSqlLogger
+
 
+
logException(StatementContext, SQLException) - Method in interface org.jdbi.v3.core.statement.SqlLogger
+
+
Will be called after a query has failed.
+
+
LOWER - Enum constant in enum org.jdbi.v3.core.mapper.CaseStrategy
+
+
All strings to lowercase in root locale.
+
+
+

M

+
+
MacAddr - Annotation Type in org.jdbi.v3.postgres
+
+
Type qualifying annotation for MACADDR data type.
+
+
makeAccessible(T) - Method in class org.jdbi.v3.core.mapper.reflect.ReflectionMappers
+
+
Use the accessibility strategy to potentially make a reflective operation accessible.
+
+
map() - Element in annotation type org.jdbi.v3.core.annotation.JdbiProperty
+
+
Returns true if the property is mapped in a result.
+
+
map(int, CallableStatement) - Method in interface org.jdbi.v3.core.statement.CallableStatementMapper
+
 
+
map(ResultSet, int, StatementContext) - Method in interface org.jdbi.v3.core.mapper.ColumnMapper
+
+
Map the given column of the current row of the result set to an Object.
+
+
map(ResultSet, int, StatementContext) - Method in class org.jdbi.v3.jodatime2.DateTimeMapper
+
 
+
map(ResultSet, int, StatementContext) - Method in class org.jdbi.v3.postgres.HStoreColumnMapper
+
 
+
map(ResultSet, String, StatementContext) - Method in interface org.jdbi.v3.core.mapper.ColumnMapper
+
+
Map the given column of the current row of the result set to an Object.
+
+
map(ResultSet, StatementContext) - Method in class org.jdbi.v3.core.mapper.JoinRowMapper
+
 
+
map(ResultSet, StatementContext) - Method in class org.jdbi.v3.core.mapper.MapEntryMapper
+
 
+
map(ResultSet, StatementContext) - Method in class org.jdbi.v3.core.mapper.MapMapper
+
 
+
map(ResultSet, StatementContext) - Method in class org.jdbi.v3.core.mapper.reflect.ConstructorMapper
+
 
+
map(ResultSet, StatementContext) - Method in class org.jdbi.v3.core.mapper.reflect.FieldMapper
+
 
+
map(ResultSet, StatementContext) - Method in interface org.jdbi.v3.core.mapper.RowMapper
+
+
Map the current row of the result set.
+
+
map(ResultSet, StatementContext) - Method in interface org.jdbi.v3.core.mapper.RowViewMapper
+
 
+
map(ResultSet, StatementContext) - Method in class org.jdbi.v3.core.mapper.SingleColumnMapper
+
 
+
map(ResultSet, StatementContext) - Method in class org.jdbi.v3.jpa.JpaMapper
+
 
+
map(Function<? super T, ? extends R>) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Returns a ResultIterable<U> derived from this ResultIterable<T>, by + transforming elements using the given mapper function.
+
+
map(ColumnMapper<T>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
map(ColumnMapper<T>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Maps this result set to a ResultIterable, using the given column mapper.
+
+
map(RowMapper<T>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
map(RowMapper<T>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Maps this result set to a ResultIterable, using the given row mapper.
+
+
map(RowViewMapper<T>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
map(RowViewMapper<T>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Maps this result set to a ResultIterable, using the given RowViewMapper.
+
+
map(RowView) - Method in interface org.jdbi.v3.core.mapper.RowViewMapper
+
+
Produce a single result item from the current row of a RowView.
+
+
MapArguments - Class in org.jdbi.v3.core.argument
+
+
Deprecated. + +
+
+
MapArguments(Map<String, ?>) - Constructor for class org.jdbi.v3.core.argument.MapArguments
+
+
Deprecated.
+
MapCollectors - Class in org.jdbi.v3.core.collector
+
 
+
MapEntryConfig<This> - Interface in org.jdbi.v3.core.mapper
+
 
+
MapEntryMapper<K,V> - Class in org.jdbi.v3.core.mapper
+
+
Maps rows to Map.Entry<K, V>, provided there are mappers registered for types K and V.
+
+
MapEntryMappers - Class in org.jdbi.v3.core.mapper
+
+
Configuration class for MapEntryMapper.
+
+
MapEntryMappers() - Constructor for class org.jdbi.v3.core.mapper.MapEntryMappers
+
 
+
MapMapper - Class in org.jdbi.v3.core.mapper
+
+
Yo dawg, I heard you like maps, so I made you a mapper that maps rows into Map<String,Object>.
+
+
MapMapper() - Constructor for class org.jdbi.v3.core.mapper.MapMapper
+
+
Constructs a new MapMapper and delegates case control to MapMappers.
+
+
MapMapper(boolean) - Constructor for class org.jdbi.v3.core.mapper.MapMapper
+
+
Deprecated. + +
+
+
MapMappers - Class in org.jdbi.v3.core.mapper
+
 
+
MapMappers() - Constructor for class org.jdbi.v3.core.mapper.MapMappers
+
 
+
Mappers - Class in org.jdbi.v3.core.mapper
+
+
Configuration class for obtaining row or column mappers.
+
+
Mappers() - Constructor for class org.jdbi.v3.core.mapper.Mappers
+
 
+
MappingException - Exception Class in org.jdbi.v3.core.mapper
+
+
Thrown when a mapper fails to map the row to a result type.
+
+
MappingException(String) - Constructor for exception class org.jdbi.v3.core.mapper.MappingException
+
 
+
MappingException(String, Throwable) - Constructor for exception class org.jdbi.v3.core.mapper.MappingException
+
 
+
MappingException(Throwable) - Constructor for exception class org.jdbi.v3.core.mapper.MappingException
+
 
+
mapTo(Class<T>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
mapTo(Class<T>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Maps this result set to a ResultIterable of the given element type.
+
+
mapTo(Type) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
mapTo(Type) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Maps this result set to a ResultIterable of the given element type.
+
+
mapTo(GenericType<T>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
mapTo(GenericType<T>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Maps this result set to a ResultIterable of the given element type.
+
+
mapTo(QualifiedType<T>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
mapTo(QualifiedType<T>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Maps this result set to a ResultIterable of the given qualified element type.
+
+
MapTo - Annotation Type in org.jdbi.v3.sqlobject.statement
+
+
Used to specify a polymorphic return type as a parameter on a query method.
+
+
mapToBean(Class<T>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
mapToBean(Class<T>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Maps this result set to a ResultIterable of the given element type, using BeanMapper.
+
+
mapToMap() - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
mapToMap() - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Maps this result set to a ResultIterable of Map<String,Object>.
+
+
mapToMap(Class<T>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
mapToMap(Class<T>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Maps this result set to a Map of String and the given value class.
+
+
mapToMap(GenericType<T>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
mapToMap(GenericType<T>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Maps this result set to a Map of String and the given value type.
+
+
mapType(Function<Type, Type>) - Method in class org.jdbi.v3.core.qualifier.QualifiedType
+
+
Apply the provided mapping function to the type, and if non-empty is returned, + return an Optional<QualifiedType<?>> with the returned type, and the same + qualifiers as this instance.
+
+
maxFieldSize(int) - Static method in class org.jdbi.v3.core.statement.StatementCustomizers
+
+
Sets the limit of large variable size types like VARCHAR.
+
+
maxRows(int) - Static method in class org.jdbi.v3.core.statement.StatementCustomizers
+
+
Limit number of rows returned.
+
+
MaxRows - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Used to specify the maximum number of rows to return on a result set.
+
+
maxSize() - Method in interface org.jdbi.v3.core.cache.JdbiCacheStats
+
+
Returns the maximum size of the cache.
+
+
maxSize(int) - Method in class org.jdbi.v3.cache.caffeine.CaffeineCacheBuilder
+
 
+
maxSize(int) - Method in class org.jdbi.v3.cache.noop.NoopCacheBuilder
+
 
+
maxSize(int) - Method in interface org.jdbi.v3.core.cache.JdbiCacheBuilder
+
+
Sets an upper boundary to the cache size.
+
+
MessageFormatTemplateEngine - Class in org.jdbi.v3.core.statement
+
+
Deprecated. +
MessageFormat formats integers with decimal separators, e.g. 1000"1,000". This hindsight realization has led us to discourage its use.
+
+
+
MessageFormatTemplateEngine() - Constructor for class org.jdbi.v3.core.statement.MessageFormatTemplateEngine
+
+
Deprecated.
+
MetaData - Class in org.jdbi.v3.core.statement
+
+
Access to Database Metadata.
+
+
MetaData(Handle, MetaData.MetaDataValueProvider<?>) - Constructor for class org.jdbi.v3.core.statement.MetaData
+
 
+
MetaData.MetaDataResultSetProvider - Interface in org.jdbi.v3.core.statement
+
 
+
MetaData.MetaDataValueProvider<T> - Interface in org.jdbi.v3.core.statement
+
 
+
methodNames() - Element in annotation type org.jdbi.v3.sqlobject.customizer.BindMethodsList
+
+
The list of methods to invoke on each element in the argument
+
+
migrateWithFlyway() - Method in class org.jdbi.v3.testing.JdbiRule
+
+ +
+
migrateWithFlyway(String...) - Method in class org.jdbi.v3.testing.JdbiRule
+
+ +
+
Migration - Class in org.jdbi.v3.testing
+
+
Represents a Flyway migration Jdbi should run.
+
+
Migration() - Constructor for class org.jdbi.v3.testing.Migration
+
 
+
missingExtensionHandler(Method) - Static method in interface org.jdbi.v3.core.extension.ExtensionHandler
+
+
Returns a default handler for missing functionality.
+
+
Mixin Interfaces - Search tag in package org.jdbi.v3.sqlobject
+
Section
+
modifiedRowCounts() - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
+
Returns the mod counts for the executed PreparedBatch + Note that some database drivers might return special values like Statement.SUCCESS_NO_INFO + or Statement.EXECUTE_FAILED.
+
+
MoshiConfig - Class in org.jdbi.v3.moshi
+
+
Configuration class for Moshi integration.
+
+
MoshiConfig() - Constructor for class org.jdbi.v3.moshi.MoshiConfig
+
 
+
MoshiPlugin - Class in org.jdbi.v3.moshi
+
+
Moshi integration plugin.
+
+
MoshiPlugin() - Constructor for class org.jdbi.v3.moshi.MoshiPlugin
+
 
+
+

N

+
+
name() - Element in annotation type org.jdbi.v3.sqlobject.customizer.OutParameter
+
 
+
named(List<String>) - Static method in class org.jdbi.v3.core.statement.ParsedParameters
+
+
A static factory of named ParsedParameters instances.
+
+
NamedArgumentFinder - Interface in org.jdbi.v3.core.argument
+
+
Returns an Argument based on a name.
+
+
nameParameter(String, StatementContext) - Method in class org.jdbi.v3.core.statement.ColonPrefixSqlParser
+
 
+
nameParameter(String, StatementContext) - Method in class org.jdbi.v3.core.statement.HashPrefixSqlParser
+
 
+
nameParameter(String, StatementContext) - Method in interface org.jdbi.v3.core.statement.SqlParser
+
+
Convert rawName to a name as recognized by this parser
+
+
Nested - Annotation Type in org.jdbi.v3.core.mapper
+
+
Signals that the annotated element is a nested mapped type.
+
+
next() - Method in interface org.jdbi.v3.core.interceptor.JdbiInterceptionChain
+
+
Called from an JdbiInterceptor to execute the next interceptor on the chain.
+
+
NO_OP - Static variable in interface org.jdbi.v3.core.statement.Cleanable
+
+
A cleanable that does nothing.
+
+
NO_VALUE - Static variable in annotation type org.jdbi.v3.sqlobject.customizer.Bind
+
 
+
NON_VIRTUAL_FACTORY - Enum constant in enum org.jdbi.v3.core.extension.ExtensionFactory.FactoryFlag
+
+
The factory provides a concrete instance to back the extension type.
+
+
NONE - Enum constant in enum org.jdbi.v3.core.statement.StatementExceptions.MessageRendering
+
+
Do not include SQL or parameter information.
+
+
NONE - Enum constant in enum org.jdbi.v3.core.transaction.TransactionIsolationLevel
+
 
+
NoopCache<K,V> - Class in org.jdbi.v3.cache.noop
+
+
A no operation cache implementation.
+
+
NoopCacheBuilder - Class in org.jdbi.v3.cache.noop
+
+
Cache builder for the no op cache.
+
+
NoopCachePlugin - Class in org.jdbi.v3.cache.noop
+
+
Installing this plugin uses the no op (no caching) cache.
+
+
NoopCachePlugin() - Constructor for class org.jdbi.v3.cache.noop.NoopCachePlugin
+
 
+
NOP - Enum constant in enum org.jdbi.v3.core.mapper.CaseStrategy
+
+
No case sensitivity.
+
+
NOP - Static variable in interface org.jdbi.v3.core.statement.TemplateEngine
+
+
Convenience constant that returns the input template.
+
+
NOP - Static variable in interface org.jdbi.v3.guice.GuiceJdbiCustomizer
+
+
Does not modify the Jdbi instance.
+
+
NOP_SQL_LOGGER - Static variable in interface org.jdbi.v3.core.statement.SqlLogger
+
 
+
NOP_TIMING_COLLECTOR - Static variable in interface org.jdbi.v3.core.statement.TimingCollector
+
+
Deprecated. + +
+
+
NoResultsException - Exception Class in org.jdbi.v3.core.result
+
+
Thrown when no results were found in a context that requires at least one.
+
+
NoResultsException(String, Throwable, StatementContext) - Constructor for exception class org.jdbi.v3.core.result.NoResultsException
+
 
+
NoResultsException(String, StatementContext) - Constructor for exception class org.jdbi.v3.core.result.NoResultsException
+
 
+
NoResultsException(Throwable, StatementContext) - Constructor for exception class org.jdbi.v3.core.result.NoResultsException
+
 
+
NoSuchCollectorException - Exception Class in org.jdbi.v3.core.collector
+
+
Thrown when Jdbi tries to produce a result Collector + but doesn't have a factory to produce it with.
+
+
NoSuchCollectorException(String) - Constructor for exception class org.jdbi.v3.core.collector.NoSuchCollectorException
+
 
+
NoSuchCollectorException(String, Throwable) - Constructor for exception class org.jdbi.v3.core.collector.NoSuchCollectorException
+
 
+
NoSuchCollectorException(Throwable) - Constructor for exception class org.jdbi.v3.core.collector.NoSuchCollectorException
+
 
+
NoSuchExtensionException - Exception Class in org.jdbi.v3.core.extension
+
+
Thrown when no ExtensionFactory accepts a given extension type.
+
+
NoSuchExtensionException(Class<?>) - Constructor for exception class org.jdbi.v3.core.extension.NoSuchExtensionException
+
+
Creates an instance with an extension type and the default message.
+
+
NoSuchExtensionException(Class<?>, String) - Constructor for exception class org.jdbi.v3.core.extension.NoSuchExtensionException
+
+
Creates an instance with an extension type and a custom message.
+
+
NoSuchExtensionException(Class<?>, String, Throwable) - Constructor for exception class org.jdbi.v3.core.extension.NoSuchExtensionException
+
+
Creates an instance with an extension type and a custom message.
+
+
NoSuchExtensionException(Class<?>, Throwable) - Constructor for exception class org.jdbi.v3.core.extension.NoSuchExtensionException
+
+
Creates an instance with an extension type and the default message.
+
+
NoSuchMapperException - Exception Class in org.jdbi.v3.core.mapper
+
+
Thrown when you attempt to map a type that Jdbi doesn't have a + registered mapper factory for.
+
+
NoSuchMapperException(String) - Constructor for exception class org.jdbi.v3.core.mapper.NoSuchMapperException
+
 
+
NoSuchMapperException(String, Throwable) - Constructor for exception class org.jdbi.v3.core.mapper.NoSuchMapperException
+
 
+
NoSuchMapperException(Throwable) - Constructor for exception class org.jdbi.v3.core.mapper.NoSuchMapperException
+
 
+
NoTemplateEngine - Class in org.jdbi.v3.core.statement
+
+
A TemplateEngine that does not do any templating but returns SQL verbatim.
+
+
NoTemplateEngine() - Constructor for class org.jdbi.v3.core.statement.NoTemplateEngine
+
 
+
noUnqualifiedHstoreBindings() - Static method in class org.jdbi.v3.postgres.PostgresPlugin
+
+
Do not install the legacy (unqualified) bindings for HStoreArgumentFactory and HStoreColumnMapper.
+
+
NULL - Enum constant in enum org.jdbi.v3.sqlobject.customizer.BindList.EmptyHandling
+
+
Deprecated. +
vaguely named in light of new additions, use BindList.EmptyHandling.NULL_STRING instead
+
+
+
NULL_HANDLER - Static variable in interface org.jdbi.v3.core.extension.ExtensionHandler
+
+
Handler that only returns null independent of any input parameters.
+
+
NULL_KEYWORD - Enum constant in enum org.jdbi.v3.core.statement.EmptyHandling
+
+
Render the keyword null in the query, useful e.g.
+
+
NULL_STRING - Enum constant in enum org.jdbi.v3.sqlobject.customizer.BindList.EmptyHandling
+
+
Define "null", useful e.g.
+
+
NULL_VALUE - Enum constant in enum org.jdbi.v3.sqlobject.customizer.BindList.EmptyHandling
+
+
Define null, leaving the result up to the TemplateEngine to decide.
+
+
NullArgument - Class in org.jdbi.v3.core.argument
+
+
A typed SQL null argument.
+
+
NullArgument(int) - Constructor for class org.jdbi.v3.core.argument.NullArgument
+
 
+
NullArgument(Integer) - Constructor for class org.jdbi.v3.core.argument.NullArgument
+
 
+
NVarchar - Annotation Type in org.jdbi.v3.core.qualifier
+
+
Argument qualifier annotation, indicating that the annotated String element should be bound as an + NVARCHAR instead of a VARCHAR.
+
+
+

O

+
+
OBJECT_ARRAY - Enum constant in enum org.jdbi.v3.core.array.SqlArrayArgumentStrategy
+
+
Bind using PreparedStatement.setObject(int, Object) with an array object.
+
+
ObjectArgument - Class in org.jdbi.v3.core.argument
+
+
An Argument which uses setObject to support + vendor specific types.
+
+
ObjectArgument(Object, Integer) - Constructor for class org.jdbi.v3.core.argument.ObjectArgument
+
+
Deprecated. +
use ObjectArgument.of(Object, Integer) factory method for more consistent null handling
+
+
+
ObjectArgumentFactory - Class in org.jdbi.v3.core.argument
+
+
Argument factory that matches a specified type and binds + it as an ObjectArgument.
+
+
ObjectFieldArguments - Class in org.jdbi.v3.core.argument
+
+
Deprecated. +
this functionality will remain supported, but this class should not be API
+
+
+
ObjectFieldArguments(String, Object) - Constructor for class org.jdbi.v3.core.argument.ObjectFieldArguments
+
+
Deprecated.
+
ObjectMethodArguments - Class in org.jdbi.v3.core.argument
+
+
Deprecated. +
this functionality will remain supported, but this class should not be API
+
+
+
ObjectMethodArguments(String, Object) - Constructor for class org.jdbi.v3.core.argument.ObjectMethodArguments
+
+
Deprecated.
+
of(CharSequence...) - Static method in class org.jdbi.v3.core.Sql
+
 
+
of(Class<C>, Consumer<C>) - Static method in class org.jdbi.v3.core.config.ConfiguringPlugin
+
 
+
of(Class<T>) - Static method in class org.jdbi.v3.core.mapper.reflect.BeanMapper
+
+
Returns a mapper for the given bean class
+
+
of(Class<T>) - Static method in class org.jdbi.v3.core.mapper.reflect.ConstructorMapper
+
+
Return a ConstructorMapper for the given type.
+
+
of(Class<T>) - Static method in class org.jdbi.v3.core.mapper.reflect.FieldMapper
+
+
Returns a mapper for the given bean class
+
+
of(Class<T>) - Static method in class org.jdbi.v3.core.qualifier.QualifiedType
+
+
Creates a QualifiedType<T> for a Class<T> with no qualifiers.
+
+
of(Class<T>, String) - Static method in class org.jdbi.v3.core.mapper.reflect.BeanMapper
+
+
Returns a mapper for the given bean class
+
+
of(Class<T>, String) - Static method in class org.jdbi.v3.core.mapper.reflect.ConstructorMapper
+
+
Return a ConstructorMapper for the given type and prefix.
+
+
of(Class<T>, String) - Static method in class org.jdbi.v3.core.mapper.reflect.FieldMapper
+
+
Returns a mapper for the given bean class
+
+
of(Class<T>, String, Function<T, ?>) - Static method in interface org.jdbi.v3.core.array.SqlArrayTypeFactory
+
+
Create a SqlArrayTypeFactory for the given elementType that binds using a + type name and convert function.
+
+
of(Iterable<? extends CharSequence>) - Static method in class org.jdbi.v3.core.Sql
+
 
+
of(Object) - Static method in class org.jdbi.v3.core.argument.ObjectArgument
+
+
Bind a vendor-supported object with the given SQL type.
+
+
of(Object, Integer) - Static method in class org.jdbi.v3.core.argument.ObjectArgument
+
+
Bind a vendor-supported object with the given SQL type.
+
+
of(Constructor<T>) - Static method in class org.jdbi.v3.core.mapper.reflect.ConstructorMapper
+
+
Return a ConstructorMapper using the given constructor
+
+
of(Constructor<T>, String) - Static method in class org.jdbi.v3.core.mapper.reflect.ConstructorMapper
+
+
Instantiate a ConstructorMapper using the given constructor and prefix
+
+
of(Type) - Static method in class org.jdbi.v3.core.qualifier.QualifiedType
+
+
Creates a wildcard QualifiedType<?> for a Type with no qualifiers.
+
+
of(Type, ColumnMapper<?>) - Static method in interface org.jdbi.v3.core.mapper.ColumnMapperFactory
+
+
Create a ColumnMapperFactory from a given ColumnMapper that + matches a single Type exactly.
+
+
of(Type, RowMapper<?>) - Static method in interface org.jdbi.v3.core.mapper.RowMapperFactory
+
+
Create a RowMapperFactory from a given RowMapper that matches + a Type exactly.
+
+
of(String, String, String, BiFunction<String, String, String>) - Static method in class org.jdbi.v3.testing.junit5.tc.TestcontainersDatabaseInformation
+
+
Creates a new database information instance that describes a database.
+
+
of(String, Function<T, ?>) - Static method in interface org.jdbi.v3.core.array.SqlArrayType
+
+
Create a SqlArrayType from the given type and convert function.
+
+
of(String, ParsedParameters) - Static method in class org.jdbi.v3.core.statement.ParsedSql
+
+
A static factory of ParsedSql instances.
+
+
of(Supplier<ResultSet>, RowMapper<T>, StatementContext) - Static method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Returns a ResultIterable backed by the given result set supplier, mapper, and context.
+
+
of(Supplier<ResultSet>, StatementContext) - Static method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Returns a ResultBearing backed by the given result set supplier and context.
+
+
of(GenericType<T>) - Static method in class org.jdbi.v3.core.qualifier.QualifiedType
+
+
Creates a QualifiedType<T> for a GenericType<T> with no qualifiers.
+
+
of(QualifiedType<T>, ColumnMapper<T>) - Static method in interface org.jdbi.v3.core.mapper.QualifiedColumnMapperFactory
+
+
Create a QualifiedColumnMapperFactory from a given ColumnMapper that matches + a single QualifiedType exactly.
+
+
of(ResultIterable<U>, Supplier<int[]>) - Static method in interface org.jdbi.v3.core.result.BatchResultIterable
+
 
+
of(ResultIterator<T>) - Static method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Returns a ResultIterable backed by the given iterator.
+
+
ofScript(String, String, String, BiFunction<String, String, List<String>>) - Static method in class org.jdbi.v3.testing.junit5.tc.TestcontainersDatabaseInformation
+
 
+
onCreateProxy() - Method in class org.jdbi.v3.core.extension.Extensions
+
+
Throw if proxy creation is disallowed.
+
+
onDemand(Class<E>) - Method in class org.jdbi.v3.core.Jdbi
+
+
Creates an extension instance that uses the current Jdbi instance for database operations.
+
+
one() - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Returns the only row in the result set.
+
+
one() - Method in class org.jdbi.v3.core.statement.Update
+
 
+
onEmpty() - Element in annotation type org.jdbi.v3.sqlobject.customizer.BindList
+
+
What to do when the argument is null or empty.
+
+
open() - Method in class org.jdbi.v3.core.Jdbi
+
+
Obtain a Handle to the data source wrapped by this Jdbi instance.
+
+
open(String) - Static method in class org.jdbi.v3.core.Jdbi
+
+
Obtain a handle with just a JDBC URL
+
+
open(String, String, String) - Static method in class org.jdbi.v3.core.Jdbi
+
+
Obtain a handle with just a JDBC URL
+
+
open(String, Properties) - Static method in class org.jdbi.v3.core.Jdbi
+
+
Obtain a handle with just a JDBC URL
+
+
open(Connection) - Static method in class org.jdbi.v3.core.Jdbi
+
+
Create a Handle wrapping a particular JDBC Connection
+
+
open(DataSource) - Static method in class org.jdbi.v3.core.Jdbi
+
+
Convenience method used to obtain a handle from a specific data source
+
+
open(ConnectionFactory) - Static method in class org.jdbi.v3.core.Jdbi
+
+
Convenience method used to obtain a handle from a ConnectionFactory.
+
+
openConnection() - Method in interface org.jdbi.v3.core.ConnectionFactory
+
+
Opens a connection.
+
+
openConnection() - Method in class org.jdbi.v3.spring5.SpringConnectionFactory
+
 
+
openHandle() - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Open a new Handle to the used data source.
+
+
OptionalCollectors - Class in org.jdbi.v3.core.collector
+
+
Factory methods for collectors of optional types.
+
+
org.jdbi.v3.cache.caffeine - package org.jdbi.v3.cache.caffeine
+
+
Cache implementation using the Caffeine cache library.
+
+
org.jdbi.v3.cache.noop - package org.jdbi.v3.cache.noop
+
+
A non-caching cache implementation.
+
+
org.jdbi.v3.commonstext - package org.jdbi.v3.commonstext
+
 
+
org.jdbi.v3.core - package org.jdbi.v3.core
+
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+
org.jdbi.v3.core.annotation - package org.jdbi.v3.core.annotation
+
 
+
org.jdbi.v3.core.argument - package org.jdbi.v3.core.argument
+
+
+ The argument classes translate Java types into JDBC parameters.
+
+
org.jdbi.v3.core.array - package org.jdbi.v3.core.array
+
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+
org.jdbi.v3.core.async - package org.jdbi.v3.core.async
+
 
+
org.jdbi.v3.core.cache - package org.jdbi.v3.core.cache
+
+
Pluggable cache interface for Jdbi internal caches.
+
+
org.jdbi.v3.core.codec - package org.jdbi.v3.core.codec
+
 
+
org.jdbi.v3.core.collector - package org.jdbi.v3.core.collector
+
+
+ The collector package reduces the mapped rows of the result set + into a Stream Collector to produce the final aggregated result.
+
+
org.jdbi.v3.core.config - package org.jdbi.v3.core.config
+
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+
org.jdbi.v3.core.enums - package org.jdbi.v3.core.enums
+
 
+
org.jdbi.v3.core.extension - package org.jdbi.v3.core.extension
+
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+
org.jdbi.v3.core.extension.annotation - package org.jdbi.v3.core.extension.annotation
+
 
+
org.jdbi.v3.core.generic - package org.jdbi.v3.core.generic
+
+
+ The generic package holds utility methods and helper + types for reflectively working with Java generic types.
+
+
org.jdbi.v3.core.h2 - package org.jdbi.v3.core.h2
+
+
+ The h2 package adds vendor support for the H2 embeddable pure Java database implementation.
+
+
org.jdbi.v3.core.interceptor - package org.jdbi.v3.core.interceptor
+
 
+
org.jdbi.v3.core.locator - package org.jdbi.v3.core.locator
+
+
+ locator instances inspect text given to Jdbi and + provide lookup of the actual SQL to execute.
+
+
org.jdbi.v3.core.mapper - package org.jdbi.v3.core.mapper
+
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+
org.jdbi.v3.core.mapper.freebuilder - package org.jdbi.v3.core.mapper.freebuilder
+
 
+
org.jdbi.v3.core.mapper.immutables - package org.jdbi.v3.core.mapper.immutables
+
 
+
org.jdbi.v3.core.mapper.reflect - package org.jdbi.v3.core.mapper.reflect
+
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+
org.jdbi.v3.core.qualifier - package org.jdbi.v3.core.qualifier
+
 
+
org.jdbi.v3.core.result - package org.jdbi.v3.core.result
+
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+
org.jdbi.v3.core.spi - package org.jdbi.v3.core.spi
+
+
+ The spi package includes entrypoints to extending Jdbi + instances with your own custom functionality.
+
+
org.jdbi.v3.core.statement - package org.jdbi.v3.core.statement
+
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
org.jdbi.v3.core.transaction - package org.jdbi.v3.core.transaction
+
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+
org.jdbi.v3.freemarker - package org.jdbi.v3.freemarker
+
+
+ freemarker provides advanced string template processing.
+
+
org.jdbi.v3.generator - package org.jdbi.v3.generator
+
 
+
org.jdbi.v3.gson2 - package org.jdbi.v3.gson2
+
 
+
org.jdbi.v3.guava - package org.jdbi.v3.guava
+
+
+ guava provides extra types that are commonly needed beyond built + in JDK types.
+
+
org.jdbi.v3.guava.codec - package org.jdbi.v3.guava.codec
+
 
+
org.jdbi.v3.guice - package org.jdbi.v3.guice
+
+
Google Guice integration.
+
+
org.jdbi.v3.jackson2 - package org.jdbi.v3.jackson2
+
 
+
org.jdbi.v3.jodatime2 - package org.jdbi.v3.jodatime2
+
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+
org.jdbi.v3.jpa - package org.jdbi.v3.jpa
+
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+
org.jdbi.v3.json - package org.jdbi.v3.json
+
 
+
org.jdbi.v3.meta - package org.jdbi.v3.meta
+
 
+
org.jdbi.v3.moshi - package org.jdbi.v3.moshi
+
 
+
org.jdbi.v3.postgis - package org.jdbi.v3.postgis
+
 
+
org.jdbi.v3.postgres - package org.jdbi.v3.postgres
+
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
org.jdbi.v3.spring5 - package org.jdbi.v3.spring5
+
+
+ Classes here provide integration hooks for working with the Spring framework.
+
+
org.jdbi.v3.sqlite3 - package org.jdbi.v3.sqlite3
+
+
+ The sqlite plugin provides improved support for + java.net.URL.
+
+
org.jdbi.v3.sqlobject - package org.jdbi.v3.sqlobject
+
+
SQL Objects
+
+
org.jdbi.v3.sqlobject.config - package org.jdbi.v3.sqlobject.config
+
+
+ The sqlobject.config package defines configuration annotations + that modify the Jdbi configuration used as the context for executing + SqlObject methods, such as registering handled types.
+
+
org.jdbi.v3.sqlobject.customizer - package org.jdbi.v3.sqlobject.customizer
+
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+
org.jdbi.v3.sqlobject.locator - package org.jdbi.v3.sqlobject.locator
+
+
+ sqlobject.locator inspects the declared SqlObject and determines + the statement text to pass off to core.locator for final + resolution of the statement text.
+
+
org.jdbi.v3.sqlobject.statement - package org.jdbi.v3.sqlobject.statement
+
+
+ The sqlobject.statement annotations declare the type of statement + that a SqlObject method should create, such as a @SqlQuery to return rows or a + @SqlUpdate to modify rows and return the modification count.
+
+
org.jdbi.v3.sqlobject.transaction - package org.jdbi.v3.sqlobject.transaction
+
+
+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method.
+
+
org.jdbi.v3.stringtemplate4 - package org.jdbi.v3.stringtemplate4
+
+
+ stringtemplate4 provides advanced string template processing + that Jdbi can drive with the statement's bound parameters + and context to drive statement generation that may need to bind + variable number of parameters or other advanced use cases.
+
+
org.jdbi.v3.testing - package org.jdbi.v3.testing
+
+
JUnit 4 testing support.
+
+
org.jdbi.v3.testing.junit5 - package org.jdbi.v3.testing.junit5
+
+
JUnit 5 testing support.
+
+
org.jdbi.v3.testing.junit5.tc - package org.jdbi.v3.testing.junit5.tc
+
+ +
+
org.jdbi.v3.vavr - package org.jdbi.v3.vavr
+
+
+ vavr is a functional programming library for the JVM.
+
+
otjEmbeddedPostgres() - Static method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Creates a new extension using a managed, embedded postgres database.
+
+
OutParameter - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Declare a named out parameter on an @SqlCall annotated method.
+
+
OutParameterList - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
 
+
OutParameters - Class in org.jdbi.v3.core.statement
+
+
Holds all output parameters from a stored procedure call using Call.
+
+
+

P

+
+
ParameterCustomizerFactory - Interface in org.jdbi.v3.sqlobject.statement
+
 
+
parameterizeClass(Class<?>, Type...) - Static method in class org.jdbi.v3.core.generic.GenericTypes
+
+
Creates a type of class clazz with arguments as type arguments.
+
+
PARAMETERS - Enum constant in enum org.jdbi.v3.core.statement.StatementExceptions.MessageRendering
+
+
Include bound parameters but not the SQL.
+
+
parse(String, ConfigRegistry) - Method in class org.jdbi.v3.core.statement.DefinedAttributeTemplateEngine
+
 
+
parse(String, ConfigRegistry) - Method in interface org.jdbi.v3.core.statement.TemplateEngine
+
+
Parse a SQL template and return a parsed representation ready to apply to a statement.
+
+
parse(String, ConfigRegistry) - Method in interface org.jdbi.v3.core.statement.TemplateEngine.Parsing
+
 
+
parse(String, ConfigRegistry) - Method in class org.jdbi.v3.freemarker.FreemarkerEngine
+
 
+
parse(String, StatementContext) - Method in class org.jdbi.v3.core.statement.CachingSqlParser
+
 
+
parse(String, StatementContext) - Method in interface org.jdbi.v3.core.statement.SqlParser
+
+
Parses the given SQL statement, and returns the ParsedSql + for the statement.
+
+
PARSED_SQL_CACHE_SIZE - Static variable in class org.jdbi.v3.core.statement.CachingSqlParser
+
+
The default size of the parsed SQL cache.
+
+
ParsedParameters - Class in org.jdbi.v3.core.statement
+
+
The parsed parameters from an SQL statement.
+
+
ParsedSql - Class in org.jdbi.v3.core.statement
+
+
The SQL and parameters parsed from an SQL statement.
+
+
ParsedSql.Builder - Class in org.jdbi.v3.core.statement
+
+
Fluent builder for ParsedSql instances.
+
+
PeriodArgumentFactory - Class in org.jdbi.v3.postgres
+
+
Postgres version of argument factory for Period.
+
+
PeriodArgumentFactory() - Constructor for class org.jdbi.v3.postgres.PeriodArgumentFactory
+
 
+
PeriodColumnMapperFactory - Class in org.jdbi.v3.postgres
+
+
A column mapper which maps Postgres's PGInterval type to Java's Period.
+
+
PeriodColumnMapperFactory() - Constructor for class org.jdbi.v3.postgres.PeriodColumnMapperFactory
+
 
+
PgLobApi - Interface in org.jdbi.v3.postgres
+
 
+
positional(int) - Static method in class org.jdbi.v3.core.statement.ParsedParameters
+
+
A static factory of positional ParsedParameters instances.
+
+
PostgisPlugin - Class in org.jdbi.v3.postgis
+
+
Postgis plugin.
+
+
PostgisPlugin() - Constructor for class org.jdbi.v3.postgis.PostgisPlugin
+
 
+
postgres(EmbeddedPgExtension) - Static method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Creates a new extension using a managed, embedded postgres database.
+
+
PostgresPlugin - Class in org.jdbi.v3.postgres
+
+
Postgres plugin.
+
+
PostgresPlugin() - Constructor for class org.jdbi.v3.postgres.PostgresPlugin
+
 
+
PostgresTypes - Class in org.jdbi.v3.postgres
+
+
Handler for PostgreSQL custom types.
+
+
PostgresTypes() - Constructor for class org.jdbi.v3.postgres.PostgresTypes
+
 
+
prefix() - Element in annotation type org.jdbi.v3.commonstext.UseStringSubstitutorTemplateEngine
+
 
+
prefix() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterBeanMapper
+
+
Column name prefix for the bean type.
+
+
prefix() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterConstructorMapper
+
+
Column name prefix for the mapped type.
+
+
prefix() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterFieldMapper
+
+
Column name prefix for the mapped type.
+
+
prepare(Type, ConfigRegistry) - Method in class org.jdbi.v3.core.argument.AbstractArgumentFactory
+
 
+
prepare(Type, ConfigRegistry) - Method in interface org.jdbi.v3.core.argument.ArgumentFactory.Preparable
+
 
+
prepare(Type, ConfigRegistry) - Method in class org.jdbi.v3.core.argument.BuiltInArgumentFactory
+
+
Deprecated.
+
prepare(Type, ConfigRegistry) - Method in class org.jdbi.v3.core.argument.ObjectArgumentFactory
+
 
+
prepare(Type, ConfigRegistry) - Method in class org.jdbi.v3.core.argument.SetObjectArgumentFactory
+
 
+
prepare(Type, ConfigRegistry) - Method in class org.jdbi.v3.core.array.SqlArrayArgumentFactory
+
 
+
prepare(QualifiedType<?>, ConfigRegistry) - Method in interface org.jdbi.v3.core.argument.QualifiedArgumentFactory.Preparable
+
 
+
prepare(QualifiedType<?>, ConfigRegistry) - Method in class org.jdbi.v3.core.codec.CodecFactory
+
 
+
prepareBatch(CharSequence) - Method in class org.jdbi.v3.core.Handle
+
+
Prepare a batch to execute.
+
+
prepareBatch(String) - Method in class org.jdbi.v3.core.Handle
+
+
Prepare a batch to execute.
+
+
PreparedBatch - Class in org.jdbi.v3.core.statement
+
+
Represents a prepared batch statement.
+
+
PreparedBatch(Handle, CharSequence) - Constructor for class org.jdbi.v3.core.statement.PreparedBatch
+
 
+
PreparedBatch(Handle, String) - Constructor for class org.jdbi.v3.core.statement.PreparedBatch
+
+
Backwards compatible constructor that takes an explicit string argument.
+
+
prepareFor(Type) - Method in class org.jdbi.v3.core.argument.Arguments
+
+
Obtain a prepared argument function for given type in the given context.
+
+
prepareFor(QualifiedType<?>) - Method in class org.jdbi.v3.core.argument.Arguments
+
+
Obtain a prepared argument function for given type in the given context.
+
+
prePreparedTypes() - Method in class org.jdbi.v3.core.argument.AbstractArgumentFactory
+
+
Deprecated. +
no longer used
+
+
+
prePreparedTypes() - Method in interface org.jdbi.v3.core.argument.ArgumentFactory.Preparable
+
+
Deprecated. +
no longer used
+
+
+
prePreparedTypes() - Method in class org.jdbi.v3.core.argument.BuiltInArgumentFactory
+
+
Deprecated. +
no longer used
+
+
+
prePreparedTypes() - Method in interface org.jdbi.v3.core.argument.QualifiedArgumentFactory.Preparable
+
+
Deprecated. +
no longer used
+
+
+
prePreparedTypes() - Method in class org.jdbi.v3.core.argument.SetObjectArgumentFactory
+
+
Deprecated. +
no longer used
+
+
+
prePreparedTypes() - Method in class org.jdbi.v3.core.codec.CodecFactory
+
+
Deprecated. +
no longer used
+
+
+
prePreparedTypes() - Method in class org.jdbi.v3.postgres.InetArgumentFactory
+
+
Deprecated. +
no longer used
+
+
+
process(Set<? extends TypeElement>, RoundEnvironment) - Method in class org.jdbi.v3.generator.GenerateSqlObjectProcessor
+
 
+
process(S) - Method in class org.jdbi.v3.core.interceptor.JdbiInterceptionChainHolder
+
+
Processes a source object and returns a target object.
+
+
produce(Supplier<PreparedStatement>, StatementContext) - Method in interface org.jdbi.v3.core.result.ResultProducer
+
+
Produces a statement result from a lazily supplied PreparedStatement.
+
+
PropagateNull - Annotation Type in org.jdbi.v3.core.mapper
+
+
Signals that the annotated property signals the presence of the mapped type: + reflective mappers should map a null bean if this property is null, rather than a + present bean with a null property value.
+
+
propertyNames() - Element in annotation type org.jdbi.v3.sqlobject.customizer.BindBeanList
+
+
The list of properties to invoke on each element in the argument
+
+
provideValue(DatabaseMetaData) - Method in interface org.jdbi.v3.core.statement.MetaData.MetaDataResultSetProvider
+
 
+
provideValue(DatabaseMetaData) - Method in interface org.jdbi.v3.core.statement.MetaData.MetaDataValueProvider
+
 
+
+

Q

+
+
QualifiedArgumentFactory - Interface in org.jdbi.v3.core.argument
+
+
Inspect a value with optional static qualified type information and produce an Argument + that binds the value to a prepared statement.
+
+
QualifiedArgumentFactory.Preparable - Interface in org.jdbi.v3.core.argument
+
+
QualifiedArgumentFactory extension interface that allows preparing arguments for efficient batch binding.
+
+
QualifiedColumnMapperFactory - Interface in org.jdbi.v3.core.mapper
+
+
Factory interface used to produce column mappers.
+
+
QualifiedType<T> - Class in org.jdbi.v3.core.qualifier
+
+
A Type qualified by a set of qualifier annotations.
+
+
qualifiedTypeOf(ELEM) - Method in class org.jdbi.v3.core.qualifier.Qualifiers
+
 
+
Qualifier - Annotation Type in org.jdbi.v3.core.qualifier
+
+
Annotation used to identify type qualifying annotations.
+
+
Qualifiers - Class in org.jdbi.v3.core.qualifier
+
+
Utility class for type qualifiers supported by Jdbi core.
+
+
Qualifiers() - Constructor for class org.jdbi.v3.core.qualifier.Qualifiers
+
 
+
Query - Class in org.jdbi.v3.core.statement
+
+
Statement providing convenience result handling for SQL queries.
+
+
Query(Handle, CharSequence) - Constructor for class org.jdbi.v3.core.statement.Query
+
 
+
Query(Handle, String) - Constructor for class org.jdbi.v3.core.statement.Query
+
+
Backwards compatible constructor that takes an explicit string argument.
+
+
queryMetadata(MetaData.MetaDataResultSetProvider) - Method in class org.jdbi.v3.core.Handle
+
+
Access database metadata that returns a ResultSet.
+
+
queryMetadata(MetaData.MetaDataValueProvider<T>) - Method in class org.jdbi.v3.core.Handle
+
+
Access all database metadata that returns simple values.
+
+
QueryTimeOut - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Specify the query timeout in seconds.
+
+
+

R

+
+
READ_COMMITTED - Enum constant in enum org.jdbi.v3.core.transaction.TransactionIsolationLevel
+
 
+
READ_UNCOMMITTED - Enum constant in enum org.jdbi.v3.core.transaction.TransactionIsolationLevel
+
 
+
readLob(long) - Method in interface org.jdbi.v3.postgres.PgLobApi
+
 
+
readOnly() - Element in annotation type org.jdbi.v3.sqlobject.transaction.Transaction
+
+
Set the connection readOnly property before the transaction starts, and restore it before it returns.
+
+
reduce(U, BiFunction<U, T, U>) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Reduce the results.
+
+
reduceResultSet(U, ResultSetAccumulator<U>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
reduceResultSet(U, ResultSetAccumulator<U>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Reduce the results.
+
+
reduceRows(BiConsumer<Map<K, V>, RowView>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
reduceRows(BiConsumer<Map<K, V>, RowView>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Reduce the result rows using a Map<K, V> as the + result container.
+
+
reduceRows(RowReducer<C, R>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
reduceRows(RowReducer<C, R>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Reduce the result rows using the given row reducer.
+
+
reduceRows(U, BiFunction<U, RowView, U>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
reduceRows(U, BiFunction<U, RowView, U>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Reduce the results.
+
+
ReflectionMappers - Class in org.jdbi.v3.core.mapper.reflect
+
+
Configuration class for reflective mappers.
+
+
ReflectionMappers() - Constructor for class org.jdbi.v3.core.mapper.reflect.ReflectionMappers
+
+
Create a default configuration that attempts case insensitive and + snake_case matching for names.
+
+
ReflectionMapperUtil - Class in org.jdbi.v3.core.mapper.reflect
+
+
Utilities for reflective mappers.
+
+
register(Class<?>, String) - Method in class org.jdbi.v3.core.array.SqlArrayTypes
+
+
Register an array element type that is supported by the JDBC vendor.
+
+
register(Type, ColumnMapper<?>) - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
+
Register a column mapper for a given explicit Type + Column mappers may be reused by RowMapper to map individual columns.
+
+
register(Type, RowMapper<?>) - Method in class org.jdbi.v3.core.mapper.RowMappers
+
+
Register a row mapper for a given type.
+
+
register(ArgumentFactory) - Method in class org.jdbi.v3.core.argument.Arguments
+
+
Registers the given argument factory.
+
+
register(QualifiedArgumentFactory) - Method in class org.jdbi.v3.core.argument.Arguments
+
+
Registers the given qualified argument factory.
+
+
register(SqlArrayType<?>) - Method in class org.jdbi.v3.core.array.SqlArrayTypes
+
+
Register a SqlArrayType which will have its parameterized type inspected to determine which element type + it supports.
+
+
register(SqlArrayTypeFactory) - Method in class org.jdbi.v3.core.array.SqlArrayTypes
+
+ +
+
register(CollectorFactory) - Method in class org.jdbi.v3.core.collector.JdbiCollectors
+
+
Register a new CollectorFactory.
+
+
register(ExtensionFactory) - Method in class org.jdbi.v3.core.extension.Extensions
+
+
Register a ExtensionFactory instance with the extension framework.
+
+
register(GenericType<T>, ColumnMapper<T>) - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
+
Register a column mapper for a given explicit GenericType + Column mappers may be reused by RowMapper to map individual columns.
+
+
register(GenericType<T>, RowMapper<T>) - Method in class org.jdbi.v3.core.mapper.RowMappers
+
+
Register a row mapper for a given type.
+
+
register(ColumnMapper<?>) - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
+
Register a column mapper which will have its parameterized type inspected to determine what it maps to.
+
+
register(ColumnMapperFactory) - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
+
Register a column mapper factory.
+
+
register(QualifiedColumnMapperFactory) - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
+
Register a qualified column mapper factory.
+
+
register(RowMapper<?>) - Method in class org.jdbi.v3.core.mapper.RowMappers
+
+
Register a row mapper which will have its parameterized type inspected to determine what it maps to.
+
+
register(RowMapperFactory) - Method in class org.jdbi.v3.core.mapper.RowMappers
+
+
Register a row mapper factory.
+
+
register(QualifiedType<T>, ColumnMapper<T>) - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
+
Register a column mapper for a given QualifiedType + Column mappers may be reused by RowMapper to map individual columns.
+
+
register(HandlerDecorator) - Method in class org.jdbi.v3.sqlobject.HandlerDecorators
+
+
Deprecated.
+
Registers the given handler decorator with the registry.
+
+
register(HandlerFactory) - Method in class org.jdbi.v3.sqlobject.Handlers
+
+
Deprecated.
+
Registers the given handler factory with the registry.
+
+
registerArgument(ArgumentFactory) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(Arguments.class).register(factory)
+
+
registerArgument(QualifiedArgumentFactory) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(Arguments.class).register(factory)
+
+
RegisterArgumentFactories - Annotation Type in org.jdbi.v3.sqlobject.config
+
 
+
RegisterArgumentFactory - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Used to register an argument factory with either a sql object type or for a specific method.
+
+
registerArrayType(Class<?>, String) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(SqlArrayTypes.class).register(elementType, sqlTypeName)
+
+
registerArrayType(Class<T>, String, Function<T, ?>) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for registering an array type as SqlArrayTypeFactory.of(Class, String, Function).
+
+
registerArrayType(SqlArrayType<?>) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(SqlArrayTypes.class).register(arrayType)
+
+
registerArrayType(SqlArrayTypeFactory) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(SqlArrayTypes.class).register(factory)
+
+
registerBeanDefinitions(AnnotationMetadata, BeanDefinitionRegistry) - Method in class org.jdbi.v3.spring5.JdbiRepositoryRegistrar
+
 
+
RegisterBeanMapper - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Registers a BeanMapper for a specific bean class
+
+
RegisterBeanMappers - Annotation Type in org.jdbi.v3.sqlobject.config
+
 
+
registerCodecFactory(CodecFactory) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method to register a CodecFactory.
+
+
registerCollector(Type, Collector<?, ?, ?>) - Method in class org.jdbi.v3.core.collector.JdbiCollectors
+
+
Register a new Collector for the given type.
+
+
registerCollector(Type, Collector<?, ?, ?>) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(JdbiCollectors.class).register(CollectorFactory.collectorFactory(collectionType, collector))
+
+
registerCollector(CollectorFactory) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(JdbiCollectors.class).register(factory)
+
+
RegisterCollector - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Registers specifically one collector for a sql object type
+
+
RegisterCollectorFactory - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Used to register a collector factory on the current + SqlStatement either for a sql object type + or for a method.
+
+
registerColumnMapper(Type, ColumnMapper<?>) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(ColumnMappers.class).register(type, mapper)
+
+
registerColumnMapper(GenericType<T>, ColumnMapper<T>) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(ColumnMappers.class).register(type, mapper)
+
+
registerColumnMapper(ColumnMapper<?>) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(ColumnMappers.class).register(mapper)
+
+
registerColumnMapper(ColumnMapperFactory) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(ColumnMappers.class).register(factory)
+
+
registerColumnMapper(QualifiedColumnMapperFactory) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(ColumnMappers.class).register(factory)
+
+
registerColumnMapper(QualifiedType<T>, ColumnMapper<T>) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(ColumnMappers.class).register(type, mapper)
+
+
RegisterColumnMapper - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Registers a column mapper in the scope of a SQL Object type or method.
+
+
RegisterColumnMapperFactories - Annotation Type in org.jdbi.v3.sqlobject.config
+
 
+
RegisterColumnMapperFactory - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Registers a column mapper factory in the scope of a SQL Object type or method.
+
+
RegisterColumnMappers - Annotation Type in org.jdbi.v3.sqlobject.config
+
 
+
registerConfigCustomizerFactory(ConfigCustomizerFactory) - Method in class org.jdbi.v3.core.extension.Extensions
+
+
Registers a global ConfigCustomizerFactory instance.
+
+
RegisterConstructorMapper - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Registers a constructor mapper factory for the given type(s).
+
+
RegisterConstructorMappers - Annotation Type in org.jdbi.v3.sqlobject.config
+
 
+
registerCustomType(Class<? extends PGobject>, String) - Method in class org.jdbi.v3.postgres.PostgresTypes
+
+
Register a Postgres custom type.
+
+
registerExtension(ExtensionFactory) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(Extensions.class).register(factory)
+
+
RegisterFieldMapper - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Register types to reflectively assign fields with FieldMapper.
+
+
RegisterFieldMappers - Annotation Type in org.jdbi.v3.sqlobject.config
+
 
+
registerFreeBuilder(Class<?>...) - Method in class org.jdbi.v3.core.mapper.freebuilder.JdbiFreeBuilders
+
+
Convenience method for registering many freebuilder types.
+
+
registerFreeBuilder(Class<S>) - Method in class org.jdbi.v3.core.mapper.freebuilder.JdbiFreeBuilders
+
+
Register bean arguments and row mapping for a Freebuilder value class, expecting the default generated class and builder names.
+
+
registerFreeBuilder(Class<S>, Class<I>, Supplier<?>) - Method in class org.jdbi.v3.core.mapper.freebuilder.JdbiFreeBuilders
+
+
Register bean arguments and row mapping for a FreeBuilder value class, using a supplied implementation and constructor.
+
+
registerFreeBuilder(Iterable<Class<?>>) - Method in class org.jdbi.v3.core.mapper.freebuilder.JdbiFreeBuilders
+
+
Convenience method for registering many freebuilder types.
+
+
registerHandlerCustomizer(ExtensionHandlerCustomizer) - Method in class org.jdbi.v3.core.extension.Extensions
+
+
Registers a global ExtensionHandlerCustomizer instance.
+
+
registerHandlerFactory(ExtensionHandlerFactory) - Method in class org.jdbi.v3.core.extension.Extensions
+
+
Registers a global ExtensionHandlerFactory instance.
+
+
registerImmutable(Class<?>...) - Method in class org.jdbi.v3.core.mapper.immutables.JdbiImmutables
+
+
Convenience method for registering many immutable types.
+
+
registerImmutable(Class<S>) - Method in class org.jdbi.v3.core.mapper.immutables.JdbiImmutables
+
+
Register bean arguments and row mapping for an Immutable* value class, expecting the default generated class and builder names.
+
+
registerImmutable(Class<S>, Class<I>, Supplier<?>) - Method in class org.jdbi.v3.core.mapper.immutables.JdbiImmutables
+
+
Register bean arguments and row mapping for an Immutable* value class, using a supplied implementation and builder.
+
+
registerImmutable(Iterable<Class<?>>) - Method in class org.jdbi.v3.core.mapper.immutables.JdbiImmutables
+
+
Convenience method for registering many immutable types.
+
+
RegisterJoinRowMapper - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Used to register a JoinRowMapper factory.
+
+
registerModifiable(Class<?>...) - Method in class org.jdbi.v3.core.mapper.immutables.JdbiImmutables
+
+
Convenience method for registering many modifiable types.
+
+
registerModifiable(Class<S>) - Method in class org.jdbi.v3.core.mapper.immutables.JdbiImmutables
+
+
Register bean arguments and row mapping for an Modifiable* value class, expecting the default generated class and public nullary constructor.
+
+
registerModifiable(Class<S>, Class<M>, Supplier<?>) - Method in class org.jdbi.v3.core.mapper.immutables.JdbiImmutables
+
+
Register bean arguments and row mapping for an Modifiable* value class, using a supplied implementation and constructor.
+
+
registerModifiable(Iterable<Class<?>>) - Method in class org.jdbi.v3.core.mapper.immutables.JdbiImmutables
+
+
Convenience method for registering many modifiable types.
+
+
RegisterObjectArgumentFactories - Annotation Type in org.jdbi.v3.sqlobject.config
+
 
+
RegisterObjectArgumentFactory - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Registers an argument factory for a type compatible with + PreparedStatement.setObject(int, Object).
+
+
registerOutParameter(int, int) - Method in class org.jdbi.v3.core.statement.Call
+
+
Register a positional output parameter.
+
+
registerOutParameter(int, int, CallableStatementMapper) - Method in class org.jdbi.v3.core.statement.Call
+
+
Register a positional output parameter.
+
+
registerOutParameter(String, int) - Method in class org.jdbi.v3.core.statement.Call
+
+
Register a named output parameter.
+
+
registerOutParameter(String, int, CallableStatementMapper) - Method in class org.jdbi.v3.core.statement.Call
+
+
Register a named output parameter.
+
+
registerRowMapper(Type, RowMapper<?>) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(RowMappers.class).register(type, mapper)
+
+
registerRowMapper(GenericType<T>, RowMapper<T>) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(RowMappers.class).register(type, mapper)
+
+
registerRowMapper(RowMapper<?>) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(RowMappers.class).register(mapper)
+
+
registerRowMapper(RowMapperFactory) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(RowMappers.class).register(factory)
+
+
RegisterRowMapper - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Register a row mapper in the context of a SQL Object type or method.
+
+
RegisterRowMapperFactories - Annotation Type in org.jdbi.v3.sqlobject.config
+
 
+
RegisterRowMapperFactory - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Registers a row mapper factory in the scope of a SQL Object type or method.
+
+
RegisterRowMappers - Annotation Type in org.jdbi.v3.sqlobject.config
+
 
+
release(String) - Method in class org.jdbi.v3.core.Handle
+
+ +
+
releaseSavepoint(String) - Method in class org.jdbi.v3.core.Handle
+
+
Release a previously created savepoint.
+
+
releaseSavepoint(String) - Method in interface org.jdbi.v3.sqlobject.transaction.Transactional
+
+
Releases the given savepoint.
+
+
releaseSavepoint(Handle, String) - Method in class org.jdbi.v3.core.transaction.CMTTransactionHandler
+
+
Savepoints are not supported.
+
+
releaseSavepoint(Handle, String) - Method in class org.jdbi.v3.core.transaction.DelegatingTransactionHandler
+
 
+
releaseSavepoint(Handle, String) - Method in class org.jdbi.v3.core.transaction.LocalTransactionHandler
+
 
+
releaseSavepoint(Handle, String) - Method in interface org.jdbi.v3.core.transaction.TransactionHandler
+
+
Release a previously created savepoint.
+
+
removeCleanable(Cleanable) - Method in class org.jdbi.v3.core.Handle
+
+
Unregister a Cleanable from the Handle.
+
+
removeHandleListener(HandleListener) - Method in class org.jdbi.v3.core.Handle
+
+
Remove a HandleListener from this handle.
+
+
removeListener(HandleListener) - Method in class org.jdbi.v3.core.Handles
+
+
Remove a HandleListener.
+
+
removingComments() - Static method in class org.jdbi.v3.core.locator.ClasspathSqlLocator
+
+
Return a new ClasspathSqlLocator that returns SQL with comments removed.
+
+
render(String, StatementContext) - Method in class org.jdbi.v3.commonstext.StringSubstitutorTemplateEngine
+
 
+
render(String, StatementContext) - Method in class org.jdbi.v3.core.statement.MessageFormatTemplateEngine
+
+
Deprecated.
+
render(String, StatementContext) - Method in class org.jdbi.v3.core.statement.NoTemplateEngine
+
 
+
render(String, StatementContext) - Method in interface org.jdbi.v3.core.statement.TemplateEngine.Parsing
+
 
+
render(String, StatementContext) - Method in interface org.jdbi.v3.core.statement.TemplateEngine
+
+
Renders an SQL statement from the given template, using the statement + context as needed.
+
+
render(String, StatementContext) - Method in class org.jdbi.v3.stringtemplate4.StringTemplateEngine
+
 
+
REPEATABLE_READ - Enum constant in enum org.jdbi.v3.core.transaction.TransactionIsolationLevel
+
 
+
repositories() - Element in annotation type org.jdbi.v3.spring5.EnableJdbiRepositories
+
+
Exact array of classes to consider as repositories.
+
+
reset(Handle) - Method in class org.jdbi.v3.core.transaction.LocalTransactionHandler
+
 
+
resolveMapEntryType(Type) - Static method in class org.jdbi.v3.core.generic.GenericTypes
+
+
Given a subtype of Map<K,V>, returns the corresponding map entry type Map.Entry<K,V>.
+
+
resolveMapEntryType(Type, Type) - Static method in class org.jdbi.v3.core.generic.GenericTypes
+
+
Given a key and value type, returns the map entry type Map.Entry<keyType,valueType>.
+
+
resolveParameter(ParameterContext, ExtensionContext) - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
 
+
resolveType(Type, Type) - Static method in class org.jdbi.v3.core.generic.GenericTypes
+
+
Resolves the type parameter in the context of contextType.
+
+
ResultBearing - Interface in org.jdbi.v3.core.result
+
+
Provides access to the contents of a ResultSet by mapping to Java types.
+
+
ResultIterable<T> - Interface in org.jdbi.v3.core.result
+
+
An Iterable of values, usually mapped from a ResultSet.
+
+
ResultIterable.ResultIteratorDelegate<T,R> - Class in org.jdbi.v3.core.result
+
+
An implementation of ResultIterator that delegates calls + to the iterator provided in the constructor.
+
+
ResultIterator<T> - Interface in org.jdbi.v3.core.result
+
+
Represents a forward-only iterator over a result set, which will lazily iterate + the results.
+
+
ResultProducer<R> - Interface in org.jdbi.v3.core.result
+
+
Produces a result from an executed PreparedStatement.
+
+
ResultProducers - Class in org.jdbi.v3.core.result
+
+
Commonly used ResultProducer implementations.
+
+
ResultProducers() - Constructor for class org.jdbi.v3.core.result.ResultProducers
+
 
+
ResultProducers.ResultSetCreator - Interface in org.jdbi.v3.core.result
+
+
Returns a ResultSet from a Statement.
+
+
ResultSetAccumulator<T> - Interface in org.jdbi.v3.core.result
+
+
A ResultSetAccumulator repeatedly combines rows + from the given ResultSet to produce a single + result.
+
+
ResultSetException - Exception Class in org.jdbi.v3.core.result
+
+
Wraps exceptions thrown while traversing the JDBC result set.
+
+
ResultSetException(String, Exception, StatementContext) - Constructor for exception class org.jdbi.v3.core.result.ResultSetException
+
 
+
ResultSetScanner<T> - Interface in org.jdbi.v3.core.result
+
+
Scan over rows of result sets, mapping and collecting the rows to a result type.
+
+
returningGeneratedKeys(String...) - Static method in class org.jdbi.v3.core.result.ResultProducers
+
+
Result producer that returns a ResultBearing over the statement-generated keys.
+
+
returningResults() - Static method in class org.jdbi.v3.core.result.ResultProducers
+
+
Result producer that returns a ResultBearing over the statement result rows.
+
+
returningUpdateCount() - Static method in class org.jdbi.v3.core.result.ResultProducers
+
+
Result producer that eagerly executes the statement, returning the update count
+
+
rollback() - Method in class org.jdbi.v3.core.Handle
+
+
Rollback a transaction.
+
+
rollback() - Method in interface org.jdbi.v3.sqlobject.transaction.Transactional
+
+
Rolls back the open transaction.
+
+
rollback(Handle) - Method in class org.jdbi.v3.core.transaction.CMTTransactionHandler
+
+
Called when a transaction is rolled back + Will throw a RuntimeException to force transactional rollback
+
+
rollback(Handle) - Method in class org.jdbi.v3.core.transaction.DelegatingTransactionHandler
+
 
+
rollback(Handle) - Method in class org.jdbi.v3.core.transaction.LocalTransactionHandler
+
 
+
rollback(Handle) - Method in interface org.jdbi.v3.core.transaction.TransactionHandler
+
+
Roll back the transaction.
+
+
RollbackOnlyTransactionHandler - Class in org.jdbi.v3.core.transaction
+
+ +
+
RollbackOnlyTransactionHandler() - Constructor for class org.jdbi.v3.core.transaction.RollbackOnlyTransactionHandler
+
 
+
RollbackOnlyTransactionHandler(TransactionHandler) - Constructor for class org.jdbi.v3.core.transaction.RollbackOnlyTransactionHandler
+
 
+
rollbackToSavepoint(String) - Method in class org.jdbi.v3.core.Handle
+
+
Rollback a transaction to a named savepoint.
+
+
rollbackToSavepoint(String) - Method in interface org.jdbi.v3.sqlobject.transaction.Transactional
+
+
Rolls back to the given savepoint.
+
+
rollbackToSavepoint(Handle, String) - Method in class org.jdbi.v3.core.transaction.CMTTransactionHandler
+
+
Savepoints are not supported.
+
+
rollbackToSavepoint(Handle, String) - Method in class org.jdbi.v3.core.transaction.DelegatingTransactionHandler
+
 
+
rollbackToSavepoint(Handle, String) - Method in class org.jdbi.v3.core.transaction.LocalTransactionHandler
+
 
+
rollbackToSavepoint(Handle, String) - Method in interface org.jdbi.v3.core.transaction.TransactionHandler
+
+
Roll back to a named savepoint.
+
+
RowMapper<T> - Interface in org.jdbi.v3.core.mapper
+
+
Maps result set rows to objects.
+
+
RowMapperFactory - Interface in org.jdbi.v3.core.mapper
+
+
Factory interface used to produce row mappers.
+
+
RowMappers - Class in org.jdbi.v3.core.mapper
+
+
Configuration registry for RowMapperFactory instances.
+
+
RowMappers() - Constructor for class org.jdbi.v3.core.mapper.RowMappers
+
 
+
RowReducer<C,R> - Interface in org.jdbi.v3.core.result
+
+
Reduces row data from a ResultSet into a stream of result + elements.
+
+
RowView - Class in org.jdbi.v3.core.result
+
+
A RowView is an accessor for ResultSet that uses + RowMapper or ColumnMapper to extract values.
+
+
RowView() - Constructor for class org.jdbi.v3.core.result.RowView
+
 
+
RowViewMapper<T> - Interface in org.jdbi.v3.core.mapper
+
+
Higher level cousin of RowMapper that operates over RowViews rather than + the bare ResultSet.
+
+
+

S

+
+
savepoint(String) - Method in class org.jdbi.v3.core.Handle
+
+
Create a transaction savepoint with the name provided.
+
+
savepoint(String) - Method in interface org.jdbi.v3.sqlobject.transaction.Transactional
+
+
Creates a savepoint with the given name on the transaction.
+
+
savepoint(Handle, String) - Method in class org.jdbi.v3.core.transaction.CMTTransactionHandler
+
+
Savepoints are not supported.
+
+
savepoint(Handle, String) - Method in class org.jdbi.v3.core.transaction.DelegatingTransactionHandler
+
 
+
savepoint(Handle, String) - Method in class org.jdbi.v3.core.transaction.LocalTransactionHandler
+
 
+
savepoint(Handle, String) - Method in interface org.jdbi.v3.core.transaction.TransactionHandler
+
+
Create a new savepoint.
+
+
scanResultSet(Supplier<ResultSet>, StatementContext) - Method in interface org.jdbi.v3.core.result.ResultSetScanner
+
+
Scans the lazily-supplied ResultSet into a result.
+
+
scanResultSet(ResultSetScanner<R>) - Method in class org.jdbi.v3.core.result.BatchResultBearing
+
 
+
scanResultSet(ResultSetScanner<R>) - Method in interface org.jdbi.v3.core.result.ResultBearing
+
+
Invokes the mapper with a result set supplier, and returns the value returned by the mapper.
+
+
scanResultSet(ResultSetScanner<R>) - Method in class org.jdbi.v3.core.statement.MetaData
+
 
+
scanResultSet(ResultSetScanner<R>) - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
 
+
scanResultSet(ResultSetScanner<R>) - Method in class org.jdbi.v3.core.statement.Query
+
 
+
Script - Class in org.jdbi.v3.core.statement
+
+
Represents a number of SQL statements delimited by semicolon which will be executed in order in a batch statement.
+
+
Script(Handle, CharSequence) - Constructor for class org.jdbi.v3.core.statement.Script
+
 
+
Script(Handle, String) - Constructor for class org.jdbi.v3.core.statement.Script
+
+
Backwards compatible constructor that takes an explicit string argument.
+
+
select(CharSequence, Object...) - Method in class org.jdbi.v3.core.Handle
+
+
Convenience method which creates a query with the given positional arguments.
+
+
select(String, Object...) - Method in class org.jdbi.v3.core.Handle
+
+
Convenience method which creates a query with the given positional arguments.
+
+
SERIALIZABLE - Enum constant in enum org.jdbi.v3.core.transaction.TransactionIsolationLevel
+
 
+
SerializableTransactionRunner - Class in org.jdbi.v3.core.transaction
+
+
A TransactionHandler that automatically retries transactions that fail due to + serialization failures, which can generally be resolved by automatically + retrying the transaction.
+
+
SerializableTransactionRunner() - Constructor for class org.jdbi.v3.core.transaction.SerializableTransactionRunner
+
 
+
SerializableTransactionRunner(TransactionHandler) - Constructor for class org.jdbi.v3.core.transaction.SerializableTransactionRunner
+
 
+
SerializableTransactionRunner.Configuration - Class in org.jdbi.v3.core.transaction
+
+
Configuration for serializable transaction runner.
+
+
set() - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Returns results in a Set using the JDK specific default implementation of Set as provided + by Collectors.toSet().
+
+
set(HandleSupplier) - Method in interface org.jdbi.v3.core.HandleScope
+
+
Associate a HandleSupplier with the current scope.
+
+
set(Handle) - Method in interface org.jdbi.v3.core.HandleScope
+
+
Associate a Handle with the current scope.
+
+
setAccessibleObjectStrategy(Consumer<AccessibleObject>) - Method in class org.jdbi.v3.core.mapper.reflect.ReflectionMappers
+
+
Set the strategy Jdbi uses for Java accessibility rules.
+
+
setAllowProxy(boolean) - Method in class org.jdbi.v3.core.extension.Extensions
+
+
Allow using Proxy to implement extensions.
+
+
setApplicationContext(ApplicationContext) - Method in class org.jdbi.v3.spring5.JdbiRepositoryFactoryBean
+
 
+
setArgumentStrategy(SqlArrayArgumentStrategy) - Method in class org.jdbi.v3.core.array.SqlArrayTypes
+
+
Sets the strategy used when binding array-type arguments to SQL statements.
+
+
setAttachAllStatementsForCleanup(boolean) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Sets whether all statements created will automatically attached to the corresponding Handle object automatically.
+
+
setAttachCallbackStatementsForCleanup(boolean) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Sets whether statements created within the Jdbi.withHandle(org.jdbi.v3.core.HandleCallback<R, X>), Jdbi.useHandle(org.jdbi.v3.core.HandleConsumer<X>), Jdbi.inTransaction(org.jdbi.v3.core.HandleCallback<R, X>) and Jdbi.useTransaction(org.jdbi.v3.core.HandleConsumer<X>) + callback methods will automatically attached to the Handle object and therefore cleaned up when the callback ends.
+
+
setAutoInstallPlugins(boolean) - Method in class org.jdbi.v3.spring5.JdbiFactoryBean
+
+
Sets whether to install plugins automatically from the classpath, using + ServiceLoader manifests.
+
+
setBeanFactory(BeanFactory) - Method in class org.jdbi.v3.spring5.JdbiRepositoryFactoryBean
+
 
+
setBindingNullToPrimitivesPermitted(boolean) - Method in class org.jdbi.v3.core.argument.Arguments
+
+
Whether binding null to a variable declared as a primitive type should be allowed.
+
+
setCaseChange(UnaryOperator<String>) - Method in class org.jdbi.v3.core.mapper.MapMappers
+
+
Sets the case change strategy for the database column names.
+
+
setCaseChange(UnaryOperator<String>) - Method in class org.jdbi.v3.core.mapper.reflect.ReflectionMappers
+
+
Sets the case change strategy for the database column names.
+
+
setCoalesceNullPrimitivesToDefaults(boolean) - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
+
Use the JDBC default value for primitive types if a SQL NULL value was returned by the database.
+
+
setColumn(int, String) - Method in class org.jdbi.v3.vavr.TupleMappers
+
+
Names a specific column in the mapper.
+
+
setColumnNameMatchers(List<ColumnNameMatcher>) - Method in class org.jdbi.v3.core.mapper.reflect.ReflectionMappers
+
+
Replace all column name matchers with the given list.
+
+
setCompletionMoment(Instant) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Sets the query execution end.
+
+
setConcurrentUpdatable(boolean) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Set the context to create a concurrent updatable result set.
+
+
setDataSource(DataSource) - Method in class org.jdbi.v3.spring5.JdbiFactoryBean
+
+
The datasource, which should be managed by spring's transaction system, from which + the Jdbi will obtain connections
+
+
setDefaultParameterCustomizerFactory(ParameterCustomizerFactory) - Method in class org.jdbi.v3.sqlobject.SqlObjects
+
+
Configures SqlObject to use the given default parameter customizer factory.
+
+
setDeserializationView(Class<?>) - Method in class org.jdbi.v3.jackson2.Jackson2Config
+
+
Set the @JsonView used to deserialize.
+
+
setEnumStrategy(EnumStrategy) - Method in class org.jdbi.v3.core.enums.Enums
+
+
Sets the default strategy for mapping and binding enums.
+
+
setExceptionMoment(Instant) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Sets the query execution end.
+
+
setExecutionMoment(Instant) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Sets the query execution start.
+
+
setFailOnMissingAttribute(boolean) - Method in class org.jdbi.v3.stringtemplate4.StringTemplates
+
+
Control whether missing attributes cause a rendering exception.
+
+
setFetchSize(int) - Method in class org.jdbi.v3.core.statement.Call
+
+
Specify the fetch size for the call.
+
+
setFetchSize(int) - Method in class org.jdbi.v3.core.statement.Query
+
+
Specify the fetch size for the query.
+
+
setForceEndTransactions(boolean) - Method in class org.jdbi.v3.core.Handles
+
+
Sets whether to enforce transaction termination discipline when a + Handle is closed.
+
+
setFreemarkerConfiguration(Configuration) - Method in class org.jdbi.v3.freemarker.FreemarkerConfig
+
 
+
setGeneratedKeysColumnNames(String[]) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Set the generated key column names.
+
+
setGlobalDefines(Map<String, Object>) - Method in class org.jdbi.v3.spring5.JdbiFactoryBean
+
 
+
setGson(Gson) - Method in class org.jdbi.v3.gson2.Gson2Config
+
+
Set the Gson to use for json conversion.
+
+
setHandleCallbackDecorator(HandleCallbackDecorator) - Method in class org.jdbi.v3.core.Jdbi
+
+
Specify the HandleCallbackDecorator instance to use.
+
+
setHandleScope(HandleScope) - Method in class org.jdbi.v3.core.Jdbi
+
+
Set the HandleScope object.
+
+
setJdbiQualifier(String) - Method in class org.jdbi.v3.spring5.JdbiRepositoryFactoryBean
+
+
Set the jdbi qualifier.
+
+
setJsonMapper(JsonMapper) - Method in class org.jdbi.v3.json.JsonConfig
+
 
+
setKeyColumn(String) - Method in interface org.jdbi.v3.core.mapper.MapEntryConfig
+
+
Sets the column that map entry keys are loaded from.
+
+
setKeyColumn(String) - Method in class org.jdbi.v3.core.mapper.MapEntryMappers
+
+
Sets the column that map entry keys are loaded from.
+
+
setKeyColumn(String) - Method in class org.jdbi.v3.vavr.TupleMappers
+
 
+
setLengthLimit(int) - Method in class org.jdbi.v3.core.statement.StatementExceptions
+
+
Set a hint on how long you'd like to shorten various variable-length strings to.
+
+
setMapKeyColumn(String) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(MapEntryMappers.class).setKeyColumn(keyColumn)
+
+
setMapper(ObjectMapper) - Method in class org.jdbi.v3.jackson2.Jackson2Config
+
+
Set the ObjectMapper to use for json conversion.
+
+
setMapValueColumn(String) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(MapEntryMappers.class).setValueColumn(valueColumn)
+
+
setMaxFieldSize(int) - Method in class org.jdbi.v3.core.statement.Call
+
+
Specify the maximum field size in the result set.
+
+
setMaxFieldSize(int) - Method in class org.jdbi.v3.core.statement.Query
+
+
Specify the maximum field size in the result set.
+
+
setMaxRetries(int) - Method in class org.jdbi.v3.core.transaction.SerializableTransactionRunner.Configuration
+
+
Sets the maximum number of retry attempts before aborting.
+
+
setMaxRows(int) - Method in class org.jdbi.v3.core.statement.Call
+
+
Specify the maximum number of rows the call is to return.
+
+
setMaxRows(int) - Method in class org.jdbi.v3.core.statement.Query
+
+
Specify the maximum number of rows the query is to return.
+
+
setMessageRendering(Function<StatementException, String>) - Method in class org.jdbi.v3.core.statement.StatementExceptions
+
+
Configure exception statement message generation.
+
+
setMoshi(Moshi) - Method in class org.jdbi.v3.moshi.MoshiConfig
+
+
Set the Moshi to use for json conversion.
+
+
SetObjectArgumentFactory - Class in org.jdbi.v3.core.argument
+
+
Factory that uses PreparedStatement.setObject(int, Object, int) to bind values.
+
+
setObjectType(Class<?>) - Method in class org.jdbi.v3.spring5.JdbiRepositoryFactoryBean
+
+
The object type of the repository.
+
+
setOnFailure(Consumer<List<Exception>>) - Method in class org.jdbi.v3.core.transaction.SerializableTransactionRunner.Configuration
+
+
Set a consumer that is called with a list of exceptions during a run.
+
+
setOnSuccess(Consumer<List<Exception>>) - Method in class org.jdbi.v3.core.transaction.SerializableTransactionRunner.Configuration
+
+
Sets a consumer that is called after a run has completed successfully.
+
+
setPlugins(Collection<JdbiPlugin>) - Method in class org.jdbi.v3.spring5.JdbiFactoryBean
+
+
Installs the given plugins which will be installed into the Jdbi.
+
+
setPreparedArgumentsEnabled(boolean) - Method in class org.jdbi.v3.core.argument.Arguments
+
+
Configure whether ArgumentFactory.Preparable factories will be processed before regular ArgumentFactory + instances are.
+
+
setQueryTimeout(int) - Method in class org.jdbi.v3.core.statement.SqlStatement
+
+
Set the query timeout, in seconds, on the prepared statement.
+
+
setQueryTimeout(Integer) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Jdbi does not implement its own timeout mechanism: it simply calls Statement.setQueryTimeout(int), leaving timeout handling to your jdbc + driver.
+
+
setReadOnly(boolean) - Method in class org.jdbi.v3.core.Handle
+
+
Set the Handle read-only.
+
+
setRegistry(ConfigRegistry) - Method in class org.jdbi.v3.core.argument.Arguments
+
 
+
setRegistry(ConfigRegistry) - Method in class org.jdbi.v3.core.array.SqlArrayTypes
+
 
+
setRegistry(ConfigRegistry) - Method in interface org.jdbi.v3.core.config.JdbiConfig
+
+
The registry will inject itself into the configuration object.
+
+
setRegistry(ConfigRegistry) - Method in class org.jdbi.v3.core.extension.Extensions
+
 
+
setRegistry(ConfigRegistry) - Method in class org.jdbi.v3.core.mapper.ColumnMappers
+
 
+
setRegistry(ConfigRegistry) - Method in class org.jdbi.v3.core.mapper.freebuilder.JdbiFreeBuilders
+
 
+
setRegistry(ConfigRegistry) - Method in class org.jdbi.v3.core.mapper.immutables.JdbiImmutables
+
 
+
setRegistry(ConfigRegistry) - Method in class org.jdbi.v3.core.mapper.Mappers
+
 
+
setRegistry(ConfigRegistry) - Method in class org.jdbi.v3.core.mapper.RowMappers
+
 
+
setRegistry(ConfigRegistry) - Method in class org.jdbi.v3.core.qualifier.Qualifiers
+
 
+
setRegistry(ConfigRegistry) - Method in class org.jdbi.v3.postgres.PostgresTypes
+
 
+
setRegistry(ConfigRegistry) - Method in class org.jdbi.v3.vavr.TupleMappers
+
 
+
setReturningGeneratedKeys(boolean) - Method in class org.jdbi.v3.core.statement.StatementContext
+
+
Sets whether the current statement returns generated keys.
+
+
setScriptStatementsNeedSemicolon(boolean) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
If true, script statements parsed by a Script object will have a trailing semicolon.
+
+
setSerializationFailureSqlState(String) - Method in class org.jdbi.v3.core.transaction.SerializableTransactionRunner.Configuration
+
+
Sets the SQL state to consider as a serialization failure.
+
+
setSerializationView(Class<?>) - Method in class org.jdbi.v3.jackson2.Jackson2Config
+
+
Set the @JsonView used to serialize.
+
+
setShutdownWaitTimeInSeconds(int) - Method in class org.jdbi.v3.testing.junit5.tc.JdbiTestcontainersExtension
+
+
Sets the maximum wait time for shutting down the extension.
+
+
setShutdownWaitTimeInSeconds(int) - Method in class org.jdbi.v3.testing.junit5.tc.TestcontainersDatabaseInformation
+
+
Sets the wait time in seconds that a test will wait to shut down the Jdbi extension.
+
+
setSqlArrayArgumentStrategy(SqlArrayArgumentStrategy) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(SqlArrayTypes.class).setArgumentStrategy(strategy)
+
+
setSqlLocator(SqlLocator) - Method in class org.jdbi.v3.sqlobject.SqlObjects
+
+
Configures SqlObject to use the given SqlLocator.
+
+
setSqlLogger(SqlLogger) - Method in interface org.jdbi.v3.core.config.Configurable
+
 
+
setSqlLogger(SqlLogger) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Sets a SqlLogger instance to log all SQL operations.
+
+
setSqlParser(SqlParser) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(SqlStatements.class).setSqlParser(rewriter)
+
+
setSqlParser(SqlParser) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Sets the SqlParser used to parse parameters in SQL statements + executed by Jdbi.
+
+
setStatementBuilder(StatementBuilder) - Method in class org.jdbi.v3.core.Handle
+
+
Set the statement builder for this handle.
+
+
setStatementBuilderFactory(StatementBuilderFactory) - Method in class org.jdbi.v3.core.Jdbi
+
+
Allows customization of how prepared statements are created.
+
+
setStrictMatching(boolean) - Method in class org.jdbi.v3.core.mapper.reflect.ReflectionMappers
+
+
Throw an IllegalArgumentException if a the set of fields doesn't + match to columns exactly.
+
+
setTemplateCache(JdbiCacheBuilder) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Sets the cache used to avoid repeatedly parsing SQL statements.
+
+
setTemplateEngine(TemplateEngine) - Method in interface org.jdbi.v3.core.config.Configurable
+
+
Convenience method for getConfig(SqlStatements.class).setTemplateEngine(rewriter)
+
+
setTemplateEngine(TemplateEngine) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Sets the TemplateEngine used to render SQL for all + SQL statements executed by Jdbi.
+
+
setTimezone(ZoneId) - Method in class org.jdbi.v3.sqlobject.customizer.TimestampedConfig
+
+
Sets the timezone used for the conversion of OffsetDateTime objects.
+
+
setTimingCollector(TimingCollector) - Method in interface org.jdbi.v3.core.config.Configurable
+
+ +
+
setTimingCollector(TimingCollector) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+ +
+
setTransactionHandler(TransactionHandler) - Method in class org.jdbi.v3.core.Jdbi
+
+
Specify the TransactionHandler instance to use.
+
+
setTransactionIsolation(int) - Method in class org.jdbi.v3.core.Handle
+
+ +
+
setTransactionIsolation(TransactionIsolationLevel) - Method in class org.jdbi.v3.core.Handle
+
+ +
+
setTransactionIsolationLevel(int) - Method in class org.jdbi.v3.core.Handle
+
+
Set the transaction isolation level on the underlying connection if it is different from the current isolation level.
+
+
setTransactionIsolationLevel(TransactionIsolationLevel) - Method in class org.jdbi.v3.core.Handle
+
+
Set the transaction isolation level on the underlying connection if it is different from the current isolation level.
+
+
setUntypedNullArgument(Argument) - Method in class org.jdbi.v3.core.argument.Arguments
+
+
Configure the Argument to use when binding a null + we don't have a type for.
+
+
setUnusedBindingAllowed(boolean) - Method in class org.jdbi.v3.core.statement.SqlStatements
+
+
Sets whether or not an exception should be thrown when any arguments are given to a query but not actually used in it.
+
+
setValueColumn(String) - Method in interface org.jdbi.v3.core.mapper.MapEntryConfig
+
+
Sets the column that map entry values are loaded from.
+
+
setValueColumn(String) - Method in class org.jdbi.v3.core.mapper.MapEntryMappers
+
+
Sets the column that map entry values are loaded from.
+
+
setValueColumn(String) - Method in class org.jdbi.v3.vavr.TupleMappers
+
 
+
setView(Class<?>) - Method in class org.jdbi.v3.jackson2.Jackson2Config
+
+
Set both serialization and deserialization @JsonView to the given class.
+
+
SHORT_STATEMENT - Enum constant in enum org.jdbi.v3.core.statement.StatementExceptions.MessageRendering
+
+
Include a length-limited SQL statement and parameter information.
+
+
SimpleExtensionConfigurer - Class in org.jdbi.v3.core.extension
+
+
Configurer base class that applies the same configuration changes independent whether an annotation + is placed on the type or a method.
+
+
SimpleExtensionConfigurer() - Constructor for class org.jdbi.v3.core.extension.SimpleExtensionConfigurer
+
 
+
SingleColumnMapper<T> - Class in org.jdbi.v3.core.mapper
+
+
Adapts a ColumnMapper into a RowMapper by mapping a single column.
+
+
SingleColumnMapper(ColumnMapper<T>) - Constructor for class org.jdbi.v3.core.mapper.SingleColumnMapper
+
+
Constructs a row mapper which maps the first column.
+
+
SingleColumnMapper(ColumnMapper<T>, int) - Constructor for class org.jdbi.v3.core.mapper.SingleColumnMapper
+
+
Constructs a row mapper which maps the given column number.
+
+
SingleColumnMapper(ColumnMapper<T>, String) - Constructor for class org.jdbi.v3.core.mapper.SingleColumnMapper
+
+
Constructs a row mapper which maps the column with the given label.
+
+
Singleton() - Constructor for class org.jdbi.v3.core.spi.JdbiPlugin.Singleton
+
 
+
SingleValue - Annotation Type in org.jdbi.v3.sqlobject
+
+
Indicate to SqlObject that a type that looks like a container + should be treated as a single element.
+
+
size() - Method in class org.jdbi.v3.core.statement.PreparedBatch
+
+
Returns the number of bindings in this batch.
+
+
Slf4JSqlLogger - Class in org.jdbi.v3.core.statement
+
+
Simple SqlLogger that emits some diagnostic information about + Jdbi usage.
+
+
Slf4JSqlLogger() - Constructor for class org.jdbi.v3.core.statement.Slf4JSqlLogger
+
 
+
Slf4JSqlLogger(Logger) - Constructor for class org.jdbi.v3.core.statement.Slf4JSqlLogger
+
 
+
SnakeCaseColumnNameMatcher - Class in org.jdbi.v3.core.mapper.reflect
+
+
Matches snake case column names to java camel case names, ignoring case.
+
+
SnakeCaseColumnNameMatcher() - Constructor for class org.jdbi.v3.core.mapper.reflect.SnakeCaseColumnNameMatcher
+
 
+
specialize(ResultSet, StatementContext) - Method in class org.jdbi.v3.core.mapper.JoinRowMapper
+
 
+
specialize(ResultSet, StatementContext) - Method in class org.jdbi.v3.core.mapper.MapEntryMapper
+
 
+
specialize(ResultSet, StatementContext) - Method in class org.jdbi.v3.core.mapper.MapMapper
+
 
+
specialize(ResultSet, StatementContext) - Method in class org.jdbi.v3.core.mapper.reflect.ConstructorMapper
+
 
+
specialize(ResultSet, StatementContext) - Method in class org.jdbi.v3.core.mapper.reflect.FieldMapper
+
 
+
specialize(ResultSet, StatementContext) - Method in interface org.jdbi.v3.core.mapper.RowMapper
+
+
Returns a specialized row mapper, optimized for the given result set.
+
+
specialize(ResultSet, StatementContext) - Method in interface org.jdbi.v3.core.mapper.RowViewMapper
+
 
+
specialize(ResultSet, StatementContext) - Method in class org.jdbi.v3.jpa.JpaMapper
+
 
+
specialize(Handle) - Method in class org.jdbi.v3.core.transaction.SerializableTransactionRunner
+
 
+
specialize(Handle) - Method in interface org.jdbi.v3.core.transaction.TransactionHandler
+
+
Bind a TransactionHandler to a Handle, to allow it to track handle-local state.
+
+
SpringConnectionFactory - Class in org.jdbi.v3.spring5
+
 
+
SpringConnectionFactory(DataSource) - Constructor for class org.jdbi.v3.spring5.SpringConnectionFactory
+
 
+
Sql - Class in org.jdbi.v3.core
+
+
+ An immutable sql statement string created from multiple tokens + in order to write inline sql statements in an easy-to-read fashion + spread out over multiple lines of code.
+
+
SQL_ARRAY - Enum constant in enum org.jdbi.v3.core.array.SqlArrayArgumentStrategy
+
+ +
+
SQL_TEMPLATE_CACHE_SIZE - Static variable in class org.jdbi.v3.core.statement.SqlStatements
+
+
The default size of the SQL template cache.
+
+
SqlArrayArgumentFactory - Class in org.jdbi.v3.core.array
+
+
Bind a Java array or Collection to a SQL array using the + SqlArrayTypeFactory for the given type information.
+
+
SqlArrayArgumentFactory() - Constructor for class org.jdbi.v3.core.array.SqlArrayArgumentFactory
+
 
+
SqlArrayArgumentStrategy - Enum in org.jdbi.v3.core.array
+
+
Strategies used to bind SQL array arguments to a PreparedStatement.
+
+
SqlArrayMapperFactory - Class in org.jdbi.v3.core.array
+
+
Maps SQL array columns into Java arrays or other Java container types.
+
+
SqlArrayMapperFactory() - Constructor for class org.jdbi.v3.core.array.SqlArrayMapperFactory
+
 
+
SqlArrayType<T> - Interface in org.jdbi.v3.core.array
+
+
Strategy for converting elements of array-like arguments into SQL array elements.
+
+
SqlArrayTypeFactory - Interface in org.jdbi.v3.core.array
+
+
Factory interface to produce SqlArrayType instances.
+
+
SqlArrayTypes - Class in org.jdbi.v3.core.array
+
+
Configuration class for SQL array binding and mapping.
+
+
SqlArrayTypes() - Constructor for class org.jdbi.v3.core.array.SqlArrayTypes
+
 
+
SqlBatch - Annotation Type in org.jdbi.v3.sqlobject.statement
+
+
Annotate a method to indicate that it will create and execute a SQL batch.
+
+
SqlCall - Annotation Type in org.jdbi.v3.sqlobject.statement
+
+
Support for stored proc invocation.
+
+
sqlite() - Static method in class org.jdbi.v3.testing.JdbiRule
+
+
Create a JdbiRule with an in-memory Sqlite database instance.
+
+
sqlite() - Static method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Creates a new extension using the SQLite database.
+
+
SQLitePlugin - Class in org.jdbi.v3.sqlite3
+
+
Jdbi plugin for SQLite.
+
+
SQLitePlugin() - Constructor for class org.jdbi.v3.sqlite3.SQLitePlugin
+
 
+
SqlLocator - Interface in org.jdbi.v3.sqlobject.locator
+
+
Locates SQL for jdbi SQL Object methods.
+
+
SqlLogger - Interface in org.jdbi.v3.core.statement
+
+
SqlLoggers receive query data before and after a query is executed, and after an exception is thrown by a bad query.
+
+
SqlMethodDecoratingAnnotation - Annotation Type in org.jdbi.v3.sqlobject
+
+
Deprecated. +
Use UseExtensionHandlerCustomizer instead + and implement ExtensionHandlerCustomizer for the value.
+
+
+
SqlObject - Interface in org.jdbi.v3.sqlobject
+
+
SqlObject base interface.
+
+
SqlObjectClasspathSqlLocator - Class in org.jdbi.v3.sqlobject.locator
+
+
Locates SQL in .sql files on the classpath for use with SqlQuery.
+
+
SqlObjectClasspathSqlLocator() - Constructor for class org.jdbi.v3.sqlobject.locator.SqlObjectClasspathSqlLocator
+
+
Creates a new SqlObjectClasspathSqlLocator.
+
+
SqlObjectClasspathSqlLocator(ClasspathSqlLocator) - Constructor for class org.jdbi.v3.sqlobject.locator.SqlObjectClasspathSqlLocator
+
+
Creates a new SqlObjectClasspathSqlLocator.
+
+
SqlObjectFactory - Class in org.jdbi.v3.sqlobject
+
+
Creates implementations for SqlObject interfaces.
+
+
SqlObjectPlugin - Class in org.jdbi.v3.sqlobject
+
+
Plugin that installs the SqlObject extension.
+
+
SqlObjectPlugin() - Constructor for class org.jdbi.v3.sqlobject.SqlObjectPlugin
+
 
+
SqlObjects - Class in org.jdbi.v3.sqlobject
+
+
Configuration class for SQL objects.
+
+
SqlObjects() - Constructor for class org.jdbi.v3.sqlobject.SqlObjects
+
 
+
SQL Objects - Search tag in package org.jdbi.v3.sqlobject
+
Section
+
SqlOperation - Annotation Type in org.jdbi.v3.sqlobject
+
+
Deprecated. + +
+
+
SqlParser - Interface in org.jdbi.v3.core.statement
+
+
Parses the named parameters out of an SQL statement, and returns the + ParsedSql containing the JDBC-ready SQL statement, along with the + type of parameters used (named or positional), the number, and the parameter + name for each position (if applicable).
+
+
SqlQuery - Annotation Type in org.jdbi.v3.sqlobject.statement
+
+
Used to indicate that a method should execute a query.
+
+
SqlScript - Annotation Type in org.jdbi.v3.sqlobject.statement
+
+
Annotate a method to indicate that it will execute one or more SQL statements.
+
+
SqlScripts - Annotation Type in org.jdbi.v3.sqlobject.statement
+
+
Holder for repeating SqlScripts.
+
+
SqlStatement<This> - Class in org.jdbi.v3.core.statement
+
+
This class provides the common functions between Query and + Update.
+
+
SqlStatementCustomizer - Interface in org.jdbi.v3.sqlobject.customizer
+
+
Used with SqlStatementCustomizerFactory to + customize sql statements via annotations.
+
+
SqlStatementCustomizerFactory - Interface in org.jdbi.v3.sqlobject.customizer
+
+
Interface used in conjunction with SqlStatementCustomizingAnnotation to generate + SqlStatementCustomizer instances.
+
+
SqlStatementCustomizingAnnotation - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Annotation used to build customizing annotations.
+
+
SqlStatementParameterCustomizer - Interface in org.jdbi.v3.sqlobject.customizer
+
+
Customize a SqlStatement according to the value of an annotated parameter.
+
+
SqlStatements - Class in org.jdbi.v3.core.statement
+
+
Configuration holder for SqlStatements.
+
+
SqlStatements() - Constructor for class org.jdbi.v3.core.statement.SqlStatements
+
 
+
sqlType() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterObjectArgumentFactory
+
+
SQL type constant from Types.
+
+
sqlType() - Element in annotation type org.jdbi.v3.sqlobject.customizer.OutParameter
+
 
+
SqlUpdate - Annotation Type in org.jdbi.v3.sqlobject.statement
+
+
Used to indicate that a method should execute a non-query sql statement.
+
+
STANDARD_HANDLE_CALLBACK_DECORATOR - Static variable in interface org.jdbi.v3.core.HandleCallbackDecorator
+
 
+
StatementBuilder - Interface in org.jdbi.v3.core.statement
+
+
Used to convert translated SQL into a prepared statement.
+
+
StatementBuilderFactory - Interface in org.jdbi.v3.core.statement
+
+
Used to specify how prepared statements are built.
+
+
StatementContext - Class in org.jdbi.v3.core.statement
+
+
The statement context provides access to statement-local configuration.
+
+
StatementContextListener - Interface in org.jdbi.v3.core.statement
+
+
Listener interface for the StatementContext.
+
+
StatementCustomizer - Interface in org.jdbi.v3.core.statement
+
+
Allows tweaking of statement behaviour.
+
+
StatementCustomizers - Class in org.jdbi.v3.core.statement
+
+
Some simple StatementCustomizers you might find handy.
+
+
StatementException - Exception Class in org.jdbi.v3.core.statement
+
+
Superclass for exceptions thrown while trying to execute a statement.
+
+
StatementException(String) - Constructor for exception class org.jdbi.v3.core.statement.StatementException
+
 
+
StatementException(String, Throwable) - Constructor for exception class org.jdbi.v3.core.statement.StatementException
+
 
+
StatementException(String, Throwable, StatementContext) - Constructor for exception class org.jdbi.v3.core.statement.StatementException
+
 
+
StatementException(String, StatementContext) - Constructor for exception class org.jdbi.v3.core.statement.StatementException
+
 
+
StatementException(Throwable) - Constructor for exception class org.jdbi.v3.core.statement.StatementException
+
 
+
StatementException(Throwable, StatementContext) - Constructor for exception class org.jdbi.v3.core.statement.StatementException
+
 
+
StatementExceptions - Class in org.jdbi.v3.core.statement
+
+
Configuration for StatementException and subclasses behavior.
+
+
StatementExceptions() - Constructor for class org.jdbi.v3.core.statement.StatementExceptions
+
 
+
StatementExceptions.MessageRendering - Enum in org.jdbi.v3.core.statement
+
+
Control exception message generation.
+
+
statementTimeout(int) - Static method in class org.jdbi.v3.core.statement.StatementCustomizers
+
+
Set a timeout on the statement.
+
+
stream() - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Returns the stream of results.
+
+
stream(C) - Method in interface org.jdbi.v3.core.result.RowReducer
+
+
Returns a stream of result elements from the result container.
+
+
stream(Map<K, V>) - Method in interface org.jdbi.v3.core.result.LinkedHashMapRowReducer
+
 
+
StreamCallback<T,R,X> - Interface in org.jdbi.v3.core.result
+
+ +
+
StreamConsumer<T,X> - Interface in org.jdbi.v3.core.result
+
+ +
+
StringSubstitutorTemplateEngine - Class in org.jdbi.v3.commonstext
+
+
Register an instance of this class (SqlStatements.setTemplateEngine(org.jdbi.v3.core.statement.TemplateEngine)) to use an Apache Commons Text StringSubstitutor as a TemplateEngine.
+
+
StringSubstitutorTemplateEngine() - Constructor for class org.jdbi.v3.commonstext.StringSubstitutorTemplateEngine
+
+
Default is
+
+
StringSubstitutorTemplateEngine(Consumer<StringSubstitutor>) - Constructor for class org.jdbi.v3.commonstext.StringSubstitutorTemplateEngine
+
+
Customize the given StringSubstitutor instance to set your preferred prefix, suffix, escape character, and perhaps other configuration.
+
+
StringTemplateEngine - Class in org.jdbi.v3.stringtemplate4
+
+
Rewrites a StringTemplate template, using the attributes on the StatementContext as template parameters.
+
+
StringTemplateEngine() - Constructor for class org.jdbi.v3.stringtemplate4.StringTemplateEngine
+
 
+
StringTemplates - Class in org.jdbi.v3.stringtemplate4
+
+
Configuration options for StringTemplateEngine.
+
+
StringTemplates() - Constructor for class org.jdbi.v3.stringtemplate4.StringTemplates
+
 
+
StringTemplateSqlLocator - Class in org.jdbi.v3.stringtemplate4
+
+
Locates SQL in .sql.stg StringTemplate group files on the classpath.
+
+
stripComments() - Element in annotation type org.jdbi.v3.sqlobject.locator.UseClasspathSqlLocator
+
 
+
subSequence(int, int) - Method in class org.jdbi.v3.core.Sql
+
 
+
suffix() - Element in annotation type org.jdbi.v3.commonstext.UseStringSubstitutorTemplateEngine
+
 
+
supportsParameter(ParameterContext, ExtensionContext) - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
 
+
+

T

+
+
TemplateEngine - Interface in org.jdbi.v3.core.statement
+
+
Renders an SQL statement from a template.
+
+
TemplateEngine.Parsing - Interface in org.jdbi.v3.core.statement
+
 
+
TestcontainersDatabaseInformation - Class in org.jdbi.v3.testing.junit5.tc
+
+
Describes the parameters needed to create a new test-specific database or schema to isolate a test.
+
+
threadLocal() - Static method in interface org.jdbi.v3.core.HandleScope
+
 
+
THROW - Enum constant in enum org.jdbi.v3.core.statement.EmptyHandling
+
+
Throw IllegalArgumentException.
+
+
THROW - Enum constant in enum org.jdbi.v3.sqlobject.customizer.BindList.EmptyHandling
+
+
Throw IllegalArgumentException.
+
+
Timestamped - Annotation Type in org.jdbi.v3.sqlobject.customizer
+
+
Binds the named parameter :now or a custom named parameter with + the current DateTime as an OffsetDateTime.
+
+
TimestampedConfig - Class in org.jdbi.v3.sqlobject.customizer
+
+
Configuration for Timestamped.
+
+
TimestampedConfig() - Constructor for class org.jdbi.v3.sqlobject.customizer.TimestampedConfig
+
 
+
TimingCollector - Interface in org.jdbi.v3.core.statement
+
+
Deprecated. +
Use SqlLogger instead.
+
+
+
toArrayListMultimap() - Static method in class org.jdbi.v3.guava.GuavaCollectors
+
+
Returns a Collector that accumulates Map.Entry<K, V> input elements into an + ArrayListMultimap<K, V>.
+
+
toCollection(Supplier<C>) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Collect the results into a collection object similar to Collectors.toCollection(Supplier).
+
+
toHashBiMap() - Static method in class org.jdbi.v3.guava.GuavaCollectors
+
+
Returns a Collector that accumulates Map.Entry<K, V> input elements into a + HashBiMap<K, V>.
+
+
toHashMultimap() - Static method in class org.jdbi.v3.guava.GuavaCollectors
+
+
Returns a Collector that accumulates Map.Entry<K, V> input elements into a + HashMultimap<K, V>.
+
+
toImmutableListMultimap() - Static method in class org.jdbi.v3.guava.GuavaCollectors
+
+
Returns a Collector that accumulates Map.Entry<K, V> input elements into an + ImmutableListMultimap<K, V>.
+
+
toImmutableMap() - Static method in class org.jdbi.v3.guava.GuavaCollectors
+
+
Returns a Collector that accumulates Map.Entry<K, V> input elements into an + ImmutableMap<K, V>.
+
+
toImmutableSetMultimap() - Static method in class org.jdbi.v3.guava.GuavaCollectors
+
+
Returns a Collector that accumulates Map.Entry<K, V> input elements into an + ImmutableSetMultimap<K, V>.
+
+
toJson(Object, ConfigRegistry) - Method in interface org.jdbi.v3.json.JsonMapper.TypedJsonMapper
+
 
+
toJson(Type, Object, ConfigRegistry) - Method in interface org.jdbi.v3.json.JsonMapper
+
+
Deprecated.
+
+
toLinkedListMultimap() - Static method in class org.jdbi.v3.guava.GuavaCollectors
+
+
Returns a Collector that accumulates Map.Entry<K, V> input elements into a + LinkedListMultimap<K, V>.
+
+
toMap(Supplier<M>) - Static method in class org.jdbi.v3.core.collector.BuiltInCollectorFactory
+
+
Deprecated. + +
+
+
toMap(Supplier<M>) - Static method in class org.jdbi.v3.core.collector.MapCollectors
+
 
+
toMultimap(Supplier<M>) - Static method in class org.jdbi.v3.guava.GuavaCollectors
+
+
Returns a Collector that accumulates Map.Entry<K, V> input elements into a + Multimap<K, V> of the supplied type.
+
+
toOption() - Static method in class org.jdbi.v3.vavr.VavrCollectors
+
+
Returns a Collector that accumulates 0 or 1 input elements into an Option<T>.
+
+
toOptional() - Static method in class org.jdbi.v3.core.collector.BuiltInCollectorFactory
+
+
Deprecated. + +
+
+
toOptional() - Static method in class org.jdbi.v3.core.collector.OptionalCollectors
+
+
Returns a Collector that accumulates 0 or 1 input elements into an Optional<T>.
+
+
toOptional() - Static method in class org.jdbi.v3.guava.GuavaCollectors
+
+
Returns a Collector that accumulates 0 or 1 input elements into Guava's Optional<T>.
+
+
toOptional(Supplier<O>, Function<T, O>) - Static method in class org.jdbi.v3.core.collector.OptionalCollectors
+
+
Returns a Collector that accumulates 0 or 1 input elements into an arbitrary + optional-style container type.
+
+
toOptionalDouble() - Static method in class org.jdbi.v3.core.collector.OptionalCollectors
+
+
Returns a Collector that accumulates 0 or 1 input Double elements into an + OptionalDouble.
+
+
toOptionalInt() - Static method in class org.jdbi.v3.core.collector.OptionalCollectors
+
+
Returns a Collector that accumulates 0 or 1 input Integer elements into an + OptionalInt.
+
+
toOptionalLong() - Static method in class org.jdbi.v3.core.collector.OptionalCollectors
+
+
Returns a Collector that accumulates 0 or 1 input Long elements into an + OptionalLong.
+
+
toString() - Method in class org.jdbi.v3.core.argument.CharacterStreamArgument
+
 
+
toString() - Method in class org.jdbi.v3.core.argument.InputStreamArgument
+
 
+
toString() - Method in class org.jdbi.v3.core.argument.MapArguments
+
+
Deprecated.
+
toString() - Method in class org.jdbi.v3.core.argument.NullArgument
+
 
+
toString() - Method in class org.jdbi.v3.core.argument.ObjectArgument
+
 
+
toString() - Method in class org.jdbi.v3.core.argument.ObjectFieldArguments
+
+
Deprecated.
+
toString() - Method in class org.jdbi.v3.core.argument.ObjectMethodArguments
+
+
Deprecated.
+
toString() - Method in class org.jdbi.v3.core.extension.ExtensionMethod
+
 
+
toString() - Method in class org.jdbi.v3.core.mapper.reflect.CaseInsensitiveColumnNameMatcher
+
 
+
toString() - Method in class org.jdbi.v3.core.mapper.reflect.SnakeCaseColumnNameMatcher
+
 
+
toString() - Method in class org.jdbi.v3.core.qualifier.QualifiedType
+
 
+
toString() - Method in class org.jdbi.v3.core.Sql
+
 
+
toString() - Method in class org.jdbi.v3.core.statement.Binding
+
 
+
toString() - Method in class org.jdbi.v3.core.statement.ParsedParameters
+
 
+
toString() - Method in class org.jdbi.v3.core.statement.ParsedSql
+
 
+
toString() - Method in class org.jdbi.v3.core.statement.SqlStatement
+
 
+
toString() - Method in class org.jdbi.v3.testing.junit5.tc.TestcontainersDatabaseInformation
+
 
+
toTreeMultimap() - Static method in class org.jdbi.v3.guava.GuavaCollectors
+
+
Returns a Collector that accumulates Map.Entry<K, V> input elements into a + TreeMultimap<K, V>.
+
+
Transaction - Annotation Type in org.jdbi.v3.sqlobject.transaction
+
+
Causes the annotated method to be run in a transaction.
+
+
transactional() - Element in annotation type org.jdbi.v3.sqlobject.statement.SqlBatch
+
+
Controls whether to execute the batch chunks in a transaction.
+
+
Transactional<This> - Interface in org.jdbi.v3.sqlobject.transaction
+
+
A mixin interface to expose transaction methods on the sql object.
+
+
TransactionalCallback<R,T,X> - Interface in org.jdbi.v3.sqlobject.transaction
+
+
Callback that expects an open transaction and produces a result.
+
+
TransactionalConsumer<T,X> - Interface in org.jdbi.v3.sqlobject.transaction
+
+
Callback that expects an open transaction and returns no results.
+
+
TransactionException - Exception Class in org.jdbi.v3.core.transaction
+
+
Thrown when there's a problem manipulating the transaction isolation level.
+
+
TransactionException(String) - Constructor for exception class org.jdbi.v3.core.transaction.TransactionException
+
 
+
TransactionException(String, Throwable) - Constructor for exception class org.jdbi.v3.core.transaction.TransactionException
+
 
+
TransactionException(Throwable) - Constructor for exception class org.jdbi.v3.core.transaction.TransactionException
+
 
+
TransactionHandler - Interface in org.jdbi.v3.core.transaction
+
+
Interface which defines callbacks to be used when transaction methods are called on a handle.
+
+
TransactionIsolationLevel - Enum in org.jdbi.v3.core.transaction
+
+
Supported transaction isolation levels.
+
+
Transactions - Search tag in package org.jdbi.v3.sqlobject
+
Section
+
TupleMappers - Class in org.jdbi.v3.vavr
+
+
Mappers similar to MapEntryMappers but map entries in vavr are in fact + of type Tuple2.
+
+
TupleMappers() - Constructor for class org.jdbi.v3.vavr.TupleMappers
+
 
+
TypedEnumArgumentFactory - Class in org.jdbi.v3.postgres
+
+
Default jdbi behavior is to bind Enum subclasses as + a string, which Postgres won't implicitly convert to an enum type.
+
+
TypedEnumArgumentFactory() - Constructor for class org.jdbi.v3.postgres.TypedEnumArgumentFactory
+
 
+
TypeResolvingCodecFactory - Class in org.jdbi.v3.guava.codec
+
+
An extended CodecFactory which can resolve Codecs for subtypes.
+
+
TypeResolvingCodecFactory(Map<QualifiedType<?>, Codec<?>>) - Constructor for class org.jdbi.v3.guava.codec.TypeResolvingCodecFactory
+
+
Create a new TypeResolvingCodecFactory.
+
+
+

U

+
+
UnableToCreateExtensionException - Exception Class in org.jdbi.v3.core.extension
+
+
Marks that a specific extension could not be created.
+
+
UnableToCreateExtensionException(String, Object...) - Constructor for exception class org.jdbi.v3.core.extension.UnableToCreateExtensionException
+
+
Constructs a new instance with a message.
+
+
UnableToCreateExtensionException(Throwable) - Constructor for exception class org.jdbi.v3.core.extension.UnableToCreateExtensionException
+
 
+
UnableToCreateExtensionException(Throwable, String, Object...) - Constructor for exception class org.jdbi.v3.core.extension.UnableToCreateExtensionException
+
+
Constructs a new instance with an exception and a message.
+
+
UnableToCreateSqlObjectException - Exception Class in org.jdbi.v3.sqlobject
+
+
Thrown when constructing a SqlObject fails.
+
+
UnableToCreateSqlObjectException(String) - Constructor for exception class org.jdbi.v3.sqlobject.UnableToCreateSqlObjectException
+
 
+
UnableToCreateSqlObjectException(String, Throwable) - Constructor for exception class org.jdbi.v3.sqlobject.UnableToCreateSqlObjectException
+
 
+
UnableToCreateSqlObjectException(Throwable) - Constructor for exception class org.jdbi.v3.sqlobject.UnableToCreateSqlObjectException
+
 
+
UnableToCreateStatementException - Exception Class in org.jdbi.v3.core.statement
+
+
Thrown when Jdbi couldn't create a statement.
+
+
UnableToCreateStatementException(Exception, StatementContext) - Constructor for exception class org.jdbi.v3.core.statement.UnableToCreateStatementException
+
 
+
UnableToCreateStatementException(String) - Constructor for exception class org.jdbi.v3.core.statement.UnableToCreateStatementException
+
 
+
UnableToCreateStatementException(String, Throwable) - Constructor for exception class org.jdbi.v3.core.statement.UnableToCreateStatementException
+
 
+
UnableToCreateStatementException(String, Throwable, StatementContext) - Constructor for exception class org.jdbi.v3.core.statement.UnableToCreateStatementException
+
 
+
UnableToCreateStatementException(String, StatementContext) - Constructor for exception class org.jdbi.v3.core.statement.UnableToCreateStatementException
+
 
+
UnableToCreateStatementException(Throwable) - Constructor for exception class org.jdbi.v3.core.statement.UnableToCreateStatementException
+
 
+
UnableToExecuteStatementException - Exception Class in org.jdbi.v3.core.statement
+
+
Thrown when statement execution fails.
+
+
UnableToExecuteStatementException(Exception, StatementContext) - Constructor for exception class org.jdbi.v3.core.statement.UnableToExecuteStatementException
+
 
+
UnableToExecuteStatementException(String) - Constructor for exception class org.jdbi.v3.core.statement.UnableToExecuteStatementException
+
 
+
UnableToExecuteStatementException(String, Throwable, StatementContext) - Constructor for exception class org.jdbi.v3.core.statement.UnableToExecuteStatementException
+
 
+
UnableToExecuteStatementException(String, StatementContext) - Constructor for exception class org.jdbi.v3.core.statement.UnableToExecuteStatementException
+
 
+
UnableToManipulateTransactionIsolationLevelException - Exception Class in org.jdbi.v3.core.transaction
+
+
Thrown when Jdbi isn't able to change the transaction isolation level.
+
+
UnableToManipulateTransactionIsolationLevelException(int, SQLException) - Constructor for exception class org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException
+
 
+
UnableToManipulateTransactionIsolationLevelException(String, SQLException) - Constructor for exception class org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException
+
 
+
UnableToProduceResultException - Exception Class in org.jdbi.v3.core.result
+
+
Wraps exceptions thrown while producing Java result types.
+
+
UnableToProduceResultException(Exception, StatementContext) - Constructor for exception class org.jdbi.v3.core.result.UnableToProduceResultException
+
 
+
UnableToProduceResultException(String) - Constructor for exception class org.jdbi.v3.core.result.UnableToProduceResultException
+
 
+
UnableToProduceResultException(String, Throwable, StatementContext) - Constructor for exception class org.jdbi.v3.core.result.UnableToProduceResultException
+
 
+
UnableToProduceResultException(String, StatementContext) - Constructor for exception class org.jdbi.v3.core.result.UnableToProduceResultException
+
 
+
UnableToProduceResultException(Throwable) - Constructor for exception class org.jdbi.v3.core.result.UnableToProduceResultException
+
 
+
UnableToRestoreAutoCommitStateException - Exception Class in org.jdbi.v3.core.transaction
+
+
Thrown after a transaction finishes if we can't reset its isolation level.
+
+
UnableToRestoreAutoCommitStateException(Throwable) - Constructor for exception class org.jdbi.v3.core.transaction.UnableToRestoreAutoCommitStateException
+
 
+
UnableToRetrieveMetaDataException - Exception Class in org.jdbi.v3.core.statement
+
+
Thrown when Jdbi couldn't retrieve metadata from the connection.
+
+
UNDEFINED - Static variable in annotation type org.jdbi.v3.sqlobject.customizer.Definition
+
 
+
UNKNOWN - Enum constant in enum org.jdbi.v3.core.transaction.TransactionIsolationLevel
+
+
The transaction isolation level wasn't specified or is unknown to jdbi.
+
+
Update - Class in org.jdbi.v3.core.statement
+
+
Used for INSERT, UPDATE, and DELETE statements
+
+
Update(Handle, CharSequence) - Constructor for class org.jdbi.v3.core.statement.Update
+
 
+
Update(Handle, String) - Constructor for class org.jdbi.v3.core.statement.Update
+
+
Backwards compatible constructor that takes an explicit string argument.
+
+
UPPER - Enum constant in enum org.jdbi.v3.core.mapper.CaseStrategy
+
+
All strings to uppercase in root locale.
+
+
UseAnnotationSqlLocator - Annotation Type in org.jdbi.v3.sqlobject.locator
+
+
Configures SQL Object to use AnnotationSqlLocator (the default SqlLocator).
+
+
UseClasspathSqlLocator - Annotation Type in org.jdbi.v3.sqlobject.locator
+
+
Configures SQL Object to locate SQL using the ClasspathSqlLocator.findSqlOnClasspath(Class, String) method.
+
+
UseEnumStrategy - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Use the specified EnumStrategy for binding and mapping enum + values.
+
+
useExtension(E) - Method in interface org.jdbi.v3.core.extension.ExtensionConsumer
+
+
Will be invoked with a live extension.
+
+
useExtension(Class<E>, ExtensionConsumer<E, X>) - Method in class org.jdbi.v3.core.async.AbstractJdbiExecutor
+
 
+
useExtension(Class<E>, ExtensionConsumer<E, X>) - Method in interface org.jdbi.v3.core.async.JdbiExecutor
+
+
A convenience method which opens an extension of the given type, and yields it to a callback.
+
+
useExtension(Class<E>, ExtensionConsumer<E, X>) - Method in class org.jdbi.v3.core.Jdbi
+
+
A convenience method which opens an extension of the given type, and yields it to a callback.
+
+
UseExtensionConfigurer - Annotation Type in org.jdbi.v3.core.extension.annotation
+
+
Meta-Annotation used to identify annotations that modify configuration in the context of an extension object or method.
+
+
UseExtensionHandler - Annotation Type in org.jdbi.v3.core.extension.annotation
+
+
Meta-Annotation used to map a method to an extension handler.
+
+
UseExtensionHandlerCustomizer - Annotation Type in org.jdbi.v3.core.extension.annotation
+
+
Meta-Annotation used to identify extension method decorating annotations.
+
+
UseFreemarkerEngine - Annotation Type in org.jdbi.v3.freemarker
+
+
Configures a SQL object class or method to rewrite SQL statements using Freemarker.
+
+
UseFreemarkerSqlLocator - Annotation Type in org.jdbi.v3.freemarker
+
+
Configures SQL Object to locate SQL using the FreemarkerSqlLocator class.
+
+
useHandle(Handle) - Method in interface org.jdbi.v3.core.HandleConsumer
+
+
Will be invoked with an open Handle.
+
+
useHandle(HandleConsumer<X>) - Method in class org.jdbi.v3.core.async.AbstractJdbiExecutor
+
 
+
useHandle(HandleConsumer<X>) - Method in interface org.jdbi.v3.core.async.JdbiExecutor
+
+
A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients.
+
+
useHandle(HandleConsumer<X>) - Method in class org.jdbi.v3.core.Jdbi
+
+
A convenience function which manages the lifecycle of a handle and yields it to a callback + for use by clients.
+
+
useHandle(HandleConsumer<X>) - Method in interface org.jdbi.v3.sqlobject.SqlObject
+
+
A convenience function which manages the lifecycle of the handle associated to this sql object, + and yields it to a consumer for use by clients.
+
+
useIterator(IteratorConsumer<T, X>) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Passes the iterator of results to the consumer.
+
+
useIterator(ResultIterator<T>) - Method in interface org.jdbi.v3.core.result.IteratorConsumer
+
+
Will be invoked with result iterator.
+
+
UseRowMapper - Annotation Type in org.jdbi.v3.sqlobject.statement
+
+
Used to specify specific row mapper on a query method.
+
+
UseRowReducer - Annotation Type in org.jdbi.v3.sqlobject.statement
+
+
Used to specify a row reducer on a result-bearing method.
+
+
UseSqlParser - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Use the specified SqlParser class to parse SQL for the annotated SQL object class or method.
+
+
useStream(Stream<T>) - Method in interface org.jdbi.v3.core.result.StreamConsumer
+
+
Will be invoked with result stream.
+
+
useStream(StreamConsumer<T, X>) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Passes the stream of results to the consumer.
+
+
UseStringSubstitutorTemplateEngine - Annotation Type in org.jdbi.v3.commonstext
+
 
+
UseStringTemplateEngine - Annotation Type in org.jdbi.v3.stringtemplate4
+
+
Configures a SQL object class or method to rewrite SQL statements using StringTemplate.
+
+
UseStringTemplateSqlLocator - Annotation Type in org.jdbi.v3.stringtemplate4
+
+
Configures SQL Object to locate SQL using the StringTemplateSqlLocator.findStringTemplate(Class, String) + method.
+
+
UseTemplateEngine - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Use the specified TemplateEngine class to render SQL for the + annotated SQL object class or method.
+
+
useTransaction(HandleConsumer<X>) - Method in class org.jdbi.v3.core.async.AbstractJdbiExecutor
+
 
+
useTransaction(HandleConsumer<X>) - Method in interface org.jdbi.v3.core.async.JdbiExecutor
+
+
A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients.
+
+
useTransaction(HandleConsumer<X>) - Method in class org.jdbi.v3.core.Handle
+
+
Executes callback in a transaction.
+
+
useTransaction(HandleConsumer<X>) - Method in class org.jdbi.v3.core.Jdbi
+
+
A convenience function which manages the lifecycle of a handle and yields it to a callback + for use by clients.
+
+
useTransaction(TransactionIsolationLevel, HandleConsumer<X>) - Method in class org.jdbi.v3.core.async.AbstractJdbiExecutor
+
 
+
useTransaction(TransactionIsolationLevel, HandleConsumer<X>) - Method in interface org.jdbi.v3.core.async.JdbiExecutor
+
+
A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients.
+
+
useTransaction(TransactionIsolationLevel, HandleConsumer<X>) - Method in class org.jdbi.v3.core.Handle
+
+
Executes callback in a transaction.
+
+
useTransaction(TransactionIsolationLevel, HandleConsumer<X>) - Method in class org.jdbi.v3.core.Jdbi
+
+
A convenience function which manages the lifecycle of a handle and yields it to a callback + for use by clients.
+
+
useTransaction(TransactionIsolationLevel, TransactionalConsumer<This, X>) - Method in interface org.jdbi.v3.sqlobject.transaction.Transactional
+
+
Executes the given callback within a transaction.
+
+
useTransaction(TransactionalConsumer<This, X>) - Method in interface org.jdbi.v3.sqlobject.transaction.Transactional
+
+
Executes the given callback within a transaction.
+
+
useTransaction(T) - Method in interface org.jdbi.v3.sqlobject.transaction.TransactionalConsumer
+
+
Execute in a transaction.
+
+
UUIDArgumentFactory - Class in org.jdbi.v3.postgres
+
+
Bind UUID arguments as an Object.
+
+
UUIDArgumentFactory() - Constructor for class org.jdbi.v3.postgres.UUIDArgumentFactory
+
 
+
+

V

+
+
value() - Element in annotation type org.jdbi.v3.core.enums.DatabaseValue
+
+
The database value that this annotation represents.
+
+
value() - Element in annotation type org.jdbi.v3.core.extension.annotation.ExtensionHandlerCustomizationOrder
+
+
The order that decorator annotations will be applied, from outermost to innermost.
+
+
value() - Element in annotation type org.jdbi.v3.core.extension.annotation.UseExtensionConfigurer
+
+
A ExtensionConfigurer type, which will be used to configure ConfigRegistry instances.
+
+
value() - Element in annotation type org.jdbi.v3.core.extension.annotation.UseExtensionHandler
+
+
ExtensionHandler factory annotation that creates the extension handler for the decorated method.
+
+
value() - Element in annotation type org.jdbi.v3.core.extension.annotation.UseExtensionHandlerCustomizer
+
+
ExtensionHandlerCustomizer class that decorates ExtensionHandler instances for methods annotated with the associated annotation.
+
+
value() - Element in annotation type org.jdbi.v3.core.mapper.Nested
+
+
The column name prefix for all members of the nested object.
+
+
value() - Element in annotation type org.jdbi.v3.core.mapper.PropagateNull
+
+
When annotating a type, the value is the column name to check for null.
+
+
value() - Element in annotation type org.jdbi.v3.core.mapper.reflect.ColumnName
+
 
+
value() - Element in annotation type org.jdbi.v3.jpa.BindJpa
+
 
+
value() - Element in annotation type org.jdbi.v3.spring5.EnableJdbiRepositories
+
+
The names of the base packages used for repository scanning in addition + to the EnableJdbiRepositories.basePackages() and EnableJdbiRepositories.basePackageClasses() properties.
+
+
value() - Element in annotation type org.jdbi.v3.spring5.JdbiRepository
+
+
The name of the created bean.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.ConfiguringAnnotation
+
+
Deprecated.
+
A Configurer type, which will be used to configure ConfigRegistry instances.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.KeyColumn
+
+
Returns the column name to use for map keys.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterArgumentFactories
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterArgumentFactory
+
+
The argument factory classes to register
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterBeanMapper
+
+
The mapped bean class.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterBeanMappers
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterCollector
+
+
The collector instance to register
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterCollectorFactory
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterColumnMapper
+
+
The column mapper class to register
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterColumnMapperFactories
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterColumnMapperFactory
+
+
The column mapper factory class to register
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterColumnMappers
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterConstructorMapper
+
+
The mapped type.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterConstructorMappers
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterFieldMapper
+
+
The type to map with FieldMapper.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterFieldMappers
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterJoinRowMapper
+
+
Returns the types that will be available on the JoinRows returned.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterObjectArgumentFactories
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterObjectArgumentFactory
+
+
The argument type which is compatible with PreparedStatement.setObject(int, Object).
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterRowMapper
+
+
The row mapper class to register
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterRowMapperFactories
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterRowMapperFactory
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.RegisterRowMappers
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.UseEnumStrategy
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.UseSqlParser
+
+
Specify the SqlParser class to use.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.UseTemplateEngine
+
+
Specify the TemplateEngine class to use.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.config.ValueColumn
+
+
Returns the column name to use for map values.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.AllowUnusedBindings
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.Bind
+
+
The name to bind the argument to.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.BindBean
+
+
Prefix to apply to each bean property.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.BindBeanList
+
+
The attribute name to define.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.BindFields
+
+
Prefix to apply to each bean field name.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.BindList
+
+
The attribute name to define.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.BindMap
+
+
Prefix to apply to each map key.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.BindMethods
+
+
Prefix to apply to each fluent accessor name.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.BindMethodsList
+
+
The attribute name to define.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.BindPojo
+
+
Prefix to apply to each property.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.Define
+
+
The attribute name to define.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.DefineList
+
+
The attribute name to define.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.Definition
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.Definitions
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.FetchSize
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.MaxRows
+
+
The max number of rows to return from the query.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.OutParameterList
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.QueryTimeOut
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.SqlStatementCustomizingAnnotation
+
+
Specify a sql statement customizer factory which will be used to create + sql statement customizers.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.customizer.Timestamped
+
+
The parameter to bind in the SQL query.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.DecoratorOrder
+
+
Deprecated.
+
The order that decorator annotations will be applied, from outermost to innermost.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.SqlMethodDecoratingAnnotation
+
+
Deprecated.
+
Factory class that decorates Handler instances for methods annotated with the associated annotation.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.SqlOperation
+
+
Deprecated.
+
Handler class for methods annotated with the associated annotation.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.statement.BatchChunkSize
+
+
The batch chunk size.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.statement.GetGeneratedKeys
+
+
Sets the column names of the generated key(s) from a SQL statement.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.statement.SqlBatch
+
+
Returns the SQL string (or name) used for the batch.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.statement.SqlCall
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.statement.SqlQuery
+
+
The query (or query name if using a statement locator) to be executed.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.statement.SqlScript
+
+
Returns the SQL string (or name).
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.statement.SqlScripts
+
 
+
value() - Element in annotation type org.jdbi.v3.sqlobject.statement.SqlUpdate
+
+
The sql (or statement name if using a statement locator) to be executed.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.statement.UseRowMapper
+
+
The class implementing RowMapper.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.statement.UseRowReducer
+
+
The class implementing RowReducer.
+
+
value() - Element in annotation type org.jdbi.v3.sqlobject.transaction.Transaction
+
+
The transaction isolation level.
+
+
ValueColumn - Annotation Type in org.jdbi.v3.sqlobject.config
+
+
Configures the column to use for map values, for SQL methods that return Map, or Guava's Multimap.
+
+
valueOf(int) - Static method in enum org.jdbi.v3.core.transaction.TransactionIsolationLevel
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.jdbi.v3.core.array.SqlArrayArgumentStrategy
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.jdbi.v3.core.enums.EnumStrategy
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.jdbi.v3.core.extension.ExtensionFactory.FactoryFlag
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.jdbi.v3.core.mapper.CaseStrategy
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.jdbi.v3.core.mapper.reflect.AccessibleObjectStrategy
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.jdbi.v3.core.statement.EmptyHandling
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.jdbi.v3.core.statement.StatementExceptions.MessageRendering
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.jdbi.v3.core.transaction.TransactionIsolationLevel
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.jdbi.v3.sqlobject.customizer.BindList.EmptyHandling
+
+
Returns the enum constant of this type with the specified name.
+
+
values() - Static method in enum org.jdbi.v3.core.array.SqlArrayArgumentStrategy
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.jdbi.v3.core.enums.EnumStrategy
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.jdbi.v3.core.extension.ExtensionFactory.FactoryFlag
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.jdbi.v3.core.mapper.CaseStrategy
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.jdbi.v3.core.mapper.reflect.AccessibleObjectStrategy
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.jdbi.v3.core.statement.EmptyHandling
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.jdbi.v3.core.statement.StatementExceptions.MessageRendering
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.jdbi.v3.core.transaction.TransactionIsolationLevel
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.jdbi.v3.sqlobject.customizer.BindList.EmptyHandling
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
VavrCollectors - Class in org.jdbi.v3.vavr
+
 
+
VavrPlugin - Class in org.jdbi.v3.vavr
+
+
JDBI-Plugin for vavr.io library + + supports single-value arguments (Option, ...) + supports vavr collections via ResultBearing.collectInto(java.lang.reflect.Type) call + supports key-value mappings of a tuple result (implicitly used by map collectors) + supports tuple projection + supports column mapping for Option +
+
+
VavrPlugin() - Constructor for class org.jdbi.v3.vavr.VavrPlugin
+
 
+
VOID - Enum constant in enum org.jdbi.v3.sqlobject.customizer.BindList.EmptyHandling
+
+
Define "".
+
+
+

W

+
+
warm(ConfigRegistry) - Method in interface org.jdbi.v3.core.extension.ExtensionHandler
+
+
Called after the method handler is constructed to pre-initialize any important + configuration data structures.
+
+
warm(ConfigRegistry) - Method in interface org.jdbi.v3.sqlobject.customizer.SqlStatementCustomizer
+
+
Called after the customizer is instantiated but before any statement is available, + to pre-initialize any configuration data structures.
+
+
warm(ConfigRegistry) - Method in interface org.jdbi.v3.sqlobject.customizer.SqlStatementParameterCustomizer
+
+
Called after the customizer is instantiated but before any statement is available, + to pre-initialize any configuration data structures.
+
+
with(Annotation...) - Method in class org.jdbi.v3.core.qualifier.QualifiedType
+
+
Returns a QualifiedType that has the same type as this instance, but with only the given qualifiers.
+
+
with(Class<? extends Annotation>...) - Method in class org.jdbi.v3.core.qualifier.QualifiedType
+
+
Returns a QualifiedType that has the same type as this instance, but with only the given qualifiers.
+
+
withAnnotationClasses(Iterable<Class<? extends Annotation>>) - Method in class org.jdbi.v3.core.qualifier.QualifiedType
+
+
Creates a QualifiedType with the same type as this instance and new qualifiers.
+
+
withAnnotations(Iterable<? extends Annotation>) - Method in class org.jdbi.v3.core.qualifier.QualifiedType
+
+
Creates a QualifiedType with the same type as this instance and new qualifiers.
+
+
withConfig(Class<C>, Consumer<C>) - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Set a JdbiConfig parameter when creating the Jdbi instance.
+
+
withCredentials(String, String) - Method in class org.jdbi.v3.testing.junit5.JdbiGenericExtension
+
+
Sets the username and password.
+
+
withCredentials(String, String) - Method in class org.jdbi.v3.testing.junit5.JdbiH2Extension
+
+
Sets the H2 username and password.
+
+
withDefaultPath() - Method in class org.jdbi.v3.testing.junit5.JdbiFlywayMigration
+
+
Use Default db/migration Flyway schema migration location.
+
+
withDefaultPath() - Method in class org.jdbi.v3.testing.Migration
+
+
Use Default db/migration Flyway schema migration location.
+
+
withExtension(E) - Method in interface org.jdbi.v3.core.extension.ExtensionCallback
+
+
Will be invoked with a live extension.
+
+
withExtension(Class<E>, ExtensionCallback<R, E, X>) - Method in class org.jdbi.v3.core.async.AbstractJdbiExecutor
+
 
+
withExtension(Class<E>, ExtensionCallback<R, E, X>) - Method in interface org.jdbi.v3.core.async.JdbiExecutor
+
+
A convenience method which opens an extension of the given type, yields it to a callback, and returns the result of the callback.
+
+
withExtension(Class<E>, ExtensionCallback<R, E, X>) - Method in class org.jdbi.v3.core.Jdbi
+
+
A convenience method which opens an extension of the given type, yields it to a callback, and returns the result + of the callback.
+
+
withHandle(Handle) - Method in interface org.jdbi.v3.core.HandleCallback
+
+
Will be invoked with an open Handle.
+
+
withHandle(HandleCallback<R, X>) - Method in class org.jdbi.v3.core.async.AbstractJdbiExecutor
+
 
+
withHandle(HandleCallback<R, X>) - Method in interface org.jdbi.v3.core.async.JdbiExecutor
+
+
A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients.
+
+
withHandle(HandleCallback<R, X>) - Method in class org.jdbi.v3.core.Jdbi
+
+
A convenience function which manages the lifecycle of a handle and yields it to a callback + for use by clients.
+
+
withHandle(HandleCallback<R, X>) - Method in interface org.jdbi.v3.sqlobject.SqlObject
+
+
A convenience function which manages the lifecycle of the handle associated to this sql object, + and yields it to a callback for use by clients.
+
+
withInitializer(JdbiExtensionInitializer) - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Sets a JdbiExtensionInitializer to initialize the Jdbi instance or the attached data source before running a test.
+
+
withIterator(IteratorCallback<T, R, X>) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Passes the iterator of results to the callback.
+
+
withIterator(ResultIterator<T>) - Method in interface org.jdbi.v3.core.result.IteratorCallback
+
+
Will be invoked with a Iterator<T>.
+
+
withMigration(Migration) - Method in class org.jdbi.v3.testing.JdbiRule
+
+
Run database migration.
+
+
withPath(String) - Method in class org.jdbi.v3.testing.junit5.JdbiFlywayMigration
+
+
Add a custom flyway migration path.
+
+
withPath(String) - Method in class org.jdbi.v3.testing.Migration
+
+
Add flyway migration path.
+
+
withPaths(String...) - Method in class org.jdbi.v3.testing.junit5.JdbiFlywayMigration
+
+
Add custom flyway migration paths.
+
+
withPaths(String...) - Method in class org.jdbi.v3.testing.Migration
+
+
Add flyway migration paths.
+
+
withPlugin(JdbiPlugin) - Method in class org.jdbi.v3.testing.JdbiRule
+
+
Install a plugin into JdbiRule.
+
+
withPlugin(JdbiPlugin) - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Install a JdbiPlugin when creating the Jdbi instance.
+
+
withPlugins() - Method in class org.jdbi.v3.testing.JdbiRule
+
+
Discover and install plugins from the classpath.
+
+
withPlugins(JdbiPlugin...) - Method in class org.jdbi.v3.testing.junit5.JdbiExtension
+
+
Install multiple JdbiPlugins when creating the Jdbi instance.
+
+
withSchema(String) - Method in class org.jdbi.v3.testing.junit5.JdbiFlywayMigration
+
+
Add flyway migration schema.
+
+
withSchema(String) - Method in class org.jdbi.v3.testing.Migration
+
+
Add flyway migration schema.
+
+
withSchemas(String...) - Method in class org.jdbi.v3.testing.junit5.JdbiFlywayMigration
+
+
Add flyway migration schemas.
+
+
withSchemas(String...) - Method in class org.jdbi.v3.testing.Migration
+
+
Add flyway migration schemas.
+
+
withStream(Stream<T>) - Method in interface org.jdbi.v3.core.result.StreamCallback
+
+
Will be invoked with a Stream<T>.
+
+
withStream(StreamCallback<T, R, X>) - Method in interface org.jdbi.v3.core.result.ResultIterable
+
+
Passes the stream of results to the callback.
+
+
withUser(String) - Method in class org.jdbi.v3.testing.junit5.JdbiGenericExtension
+
+
Sets the username.
+
+
withUser(String) - Method in class org.jdbi.v3.testing.junit5.JdbiH2Extension
+
+
Sets the H2 username.
+
+
writeLob(long, InputStream) - Method in interface org.jdbi.v3.postgres.PgLobApi
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/index.html b/releases/3.45.2/apidocs/index.html new file mode 100644 index 00000000000..5bab46de6bf --- /dev/null +++ b/releases/3.45.2/apidocs/index.html @@ -0,0 +1,307 @@ + + + + +Overview (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Jdbi3 3.45.2 API

+
+
+
Packages
+
+
Package
+
Description
+ +
+
Cache implementation using the Caffeine cache library.
+
+ +
+
A non-caching cache implementation.
+
+ +
 
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
 
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
 
+ +
+
Pluggable cache interface for Jdbi internal caches.
+
+ +
 
+ +
+
+ The collector package reduces the mapped rows of the result set + into a Stream Collector to produce the final aggregated result.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
 
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
 
+ +
+
+ The generic package holds utility methods and helper + types for reflectively working with Java generic types.
+
+ +
+
+ The h2 package adds vendor support for the H2 embeddable pure Java database implementation.
+
+ +
 
+ +
+
+ locator instances inspect text given to Jdbi and + provide lookup of the actual SQL to execute.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
 
+ +
 
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+ +
 
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The spi package includes entrypoints to extending Jdbi + instances with your own custom functionality.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+ +
+
+ freemarker provides advanced string template processing.
+
+ +
 
+ +
 
+ +
+
+ guava provides extra types that are commonly needed beyond built + in JDK types.
+
+ +
 
+ +
+
Google Guice integration.
+
+ +
 
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ Classes here provide integration hooks for working with the Spring framework.
+
+ +
+
+ The sqlite plugin provides improved support for + java.net.URL.
+
+ +
+
SQL Objects
+
+ +
+
+ The sqlobject.config package defines configuration annotations + that modify the Jdbi configuration used as the context for executing + SqlObject methods, such as registering handled types.
+
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+ +
+
+ sqlobject.locator inspects the declared SqlObject and determines + the statement text to pass off to core.locator for final + resolution of the statement text.
+
+ +
+
+ The sqlobject.statement annotations declare the type of statement + that a SqlObject method should create, such as a @SqlQuery to return rows or a + @SqlUpdate to modify rows and return the modification count.
+
+ +
+
+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method.
+
+ +
+
+ stringtemplate4 provides advanced string template processing + that Jdbi can drive with the statement's bound parameters + and context to drive statement generation that may need to bind + variable number of parameters or other advanced use cases.
+
+ +
+
JUnit 4 testing support.
+
+ +
+
JUnit 5 testing support.
+
+ +
+ +
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/legal/COPYRIGHT b/releases/3.45.2/apidocs/legal/COPYRIGHT new file mode 100644 index 00000000000..945e19c1304 --- /dev/null +++ b/releases/3.45.2/apidocs/legal/COPYRIGHT @@ -0,0 +1,69 @@ +Copyright 1993, 2018, Oracle and/or its affiliates. +All rights reserved. + +This software and related documentation are provided under a +license agreement containing restrictions on use and +disclosure and are protected by intellectual property laws. +Except as expressly permitted in your license agreement or +allowed by law, you may not use, copy, reproduce, translate, +broadcast, modify, license, transmit, distribute, exhibit, +perform, publish, or display any part, in any form, or by +any means. Reverse engineering, disassembly, or +decompilation of this software, unless required by law for +interoperability, is prohibited. + +The information contained herein is subject to change +without notice and is not warranted to be error-free. If you +find any errors, please report them to us in writing. + +If this is software or related documentation that is +delivered to the U.S. Government or anyone licensing it on +behalf of the U.S. Government, the following notice is +applicable: + +U.S. GOVERNMENT END USERS: Oracle programs, including any +operating system, integrated software, any programs +installed on the hardware, and/or documentation, delivered +to U.S. Government end users are "commercial computer +software" pursuant to the applicable Federal Acquisition +Regulation and agency-specific supplemental regulations. As +such, use, duplication, disclosure, modification, and +adaptation of the programs, including any operating system, +integrated software, any programs installed on the hardware, +and/or documentation, shall be subject to license terms and +license restrictions applicable to the programs. No other +rights are granted to the U.S. Government. + +This software or hardware is developed for general use in a +variety of information management applications. It is not +developed or intended for use in any inherently dangerous +applications, including applications that may create a risk +of personal injury. If you use this software or hardware in +dangerous applications, then you shall be responsible to +take all appropriate fail-safe, backup, redundancy, and +other measures to ensure its safe use. Oracle Corporation +and its affiliates disclaim any liability for any damages +caused by use of this software or hardware in dangerous +applications. + +Oracle and Java are registered trademarks of Oracle and/or +its affiliates. Other names may be trademarks of their +respective owners. + +Intel and Intel Xeon are trademarks or registered trademarks +of Intel Corporation. All SPARC trademarks are used under +license and are trademarks or registered trademarks of SPARC +International, Inc. AMD, Opteron, the AMD logo, and the AMD +Opteron logo are trademarks or registered trademarks of +Advanced Micro Devices. UNIX is a registered trademark of +The Open Group. + +This software or hardware and documentation may provide +access to or information on content, products, and services +from third parties. Oracle Corporation and its affiliates +are not responsible for and expressly disclaim all +warranties of any kind with respect to third-party content, +products, and services. Oracle Corporation and its +affiliates will not be responsible for any loss, costs, or +damages incurred due to your access to or use of third-party +content, products, or services. diff --git a/releases/3.45.2/apidocs/legal/LICENSE b/releases/3.45.2/apidocs/legal/LICENSE new file mode 100644 index 00000000000..ee860d38bba --- /dev/null +++ b/releases/3.45.2/apidocs/legal/LICENSE @@ -0,0 +1,118 @@ +Your use of this Program is governed by the No-Fee Terms and Conditions set +forth below, unless you have received this Program (alone or as part of another +Oracle product) under an Oracle license agreement (including but not limited to +the Oracle Master Agreement), in which case your use of this Program is governed +solely by such license agreement with Oracle. + +Oracle No-Fee Terms and Conditions (NFTC) + +Definitions + +"Oracle" refers to Oracle America, Inc. "You" and "Your" refers to (a) a company +or organization (each an "Entity") accessing the Programs, if use of the +Programs will be on behalf of such Entity; or (b) an individual accessing the +Programs, if use of the Programs will not be on behalf of an Entity. +"Program(s)" refers to Oracle software provided by Oracle pursuant to the +following terms and any updates, error corrections, and/or Program Documentation +provided by Oracle. "Program Documentation" refers to Program user manuals and +Program installation manuals, if any. If available, Program Documentation may be +delivered with the Programs and/or may be accessed from +www.oracle.com/documentation. "Separate Terms" refers to separate license terms +that are specified in the Program Documentation, readmes or notice files and +that apply to Separately Licensed Technology. "Separately Licensed Technology" +refers to Oracle or third party technology that is licensed under Separate Terms +and not under the terms of this license. + +Separately Licensed Technology + +Oracle may provide certain notices to You in Program Documentation, readmes or +notice files in connection with Oracle or third party technology provided as or +with the Programs. If specified in the Program Documentation, readmes or notice +files, such technology will be licensed to You under Separate Terms. Your rights +to use Separately Licensed Technology under Separate Terms are not restricted in +any way by the terms herein. For clarity, notwithstanding the existence of a +notice, third party technology that is not Separately Licensed Technology shall +be deemed part of the Programs licensed to You under the terms of this license. + +Source Code for Open Source Software + +For software that You receive from Oracle in binary form that is licensed under +an open source license that gives You the right to receive the source code for +that binary, You can obtain a copy of the applicable source code from +https://oss.oracle.com/sources/ or http://www.oracle.com/goto/opensourcecode. If +the source code for such software was not provided to You with the binary, You +can also receive a copy of the source code on physical media by submitting a +written request pursuant to the instructions in the "Written Offer for Source +Code" section of the latter website. + +------------------------------------------------------------------------------- + +The following license terms apply to those Programs that are not provided to You +under Separate Terms. + +License Rights and Restrictions + +Oracle grants to You, as a recipient of this Program, subject to the conditions +stated herein, a nonexclusive, nontransferable, limited license to: + +(a) internally use the unmodified Programs for the purposes of developing, +testing, prototyping and demonstrating your applications, and running the +Program for Your own personal use or internal business operations; and + +(b) redistribute the unmodified Program and Program Documentation, under the +terms of this License, provided that You do not charge Your licensees any fees +associated with such distribution or use of the Program, including, without +limitation, fees for products that include or are bundled with a copy of the +Program or for services that involve the use of the distributed Program. + +You may make copies of the Programs to the extent reasonably necessary for +exercising the license rights granted herein and for backup purposes. You are +granted the right to use the Programs to provide third party training in the use +of the Programs and associated Separately Licensed Technology only if there is +express authorization of such use by Oracle on the Program's download page or in +the Program Documentation. + +Your license is contingent on compliance with the following conditions: + +- You do not remove markings or notices of either Oracle's or a licensor's + proprietary rights from the Programs or Program Documentation; + +- You comply with all U.S. and applicable export control and economic sanctions + laws and regulations that govern Your use of the Programs (including technical + data); + +- You do not cause or permit reverse engineering, disassembly or decompilation + of the Programs (except as allowed by law) by You nor allow an associated + party to do so. + +For clarity, any source code that may be included in the distribution with the +Programs is provided solely for reference purposes and may not be modified, +unless such source code is under Separate Terms permitting modification. + +Ownership + +Oracle or its licensors retain all ownership and intellectual property rights to +the Programs. + +Information Collection + +The Programs' installation and/or auto-update processes, if any, may transmit a +limited amount of data to Oracle or its service provider about those processes +to help Oracle understand and optimize them. Oracle does not associate the data +with personally identifiable information. Refer to Oracle's Privacy Policy at +www.oracle.com/privacy. + +Disclaimer of Warranties; Limitation of Liability + +THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ORACLE FURTHER +DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY +IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +NONINFRINGEMENT. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL ORACLE BE LIABLE TO YOU FOR +DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT +LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. diff --git a/releases/3.45.2/apidocs/legal/jquery.md b/releases/3.45.2/apidocs/legal/jquery.md new file mode 100644 index 00000000000..d468b3183a7 --- /dev/null +++ b/releases/3.45.2/apidocs/legal/jquery.md @@ -0,0 +1,72 @@ +## jQuery v3.6.1 + +### jQuery License +``` +jQuery v 3.6.1 +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +****************************************** + +The jQuery JavaScript Library v3.6.1 also includes Sizzle.js + +Sizzle.js includes the following license: + +Copyright JS Foundation and other contributors, https://js.foundation/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/sizzle + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +********************* + +``` diff --git a/releases/3.45.2/apidocs/legal/jqueryUI.md b/releases/3.45.2/apidocs/legal/jqueryUI.md new file mode 100644 index 00000000000..8bda9d7a85e --- /dev/null +++ b/releases/3.45.2/apidocs/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.13.2 + +### jQuery UI License +``` +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/releases/3.45.2/apidocs/member-search-index.js b/releases/3.45.2/apidocs/member-search-index.js new file mode 100644 index 00000000000..a5fb0891969 --- /dev/null +++ b/releases/3.45.2/apidocs/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"org.jdbi.v3.guice","c":"AbstractJdbiConfigurationModule","l":"AbstractJdbiConfigurationModule()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiConfigurationModule","l":"AbstractJdbiConfigurationModule(Class)","u":"%3Cinit%3E(java.lang.Class)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"AbstractJdbiDefinitionModule(Annotation)","u":"%3Cinit%3E(java.lang.annotation.Annotation)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"AbstractJdbiDefinitionModule(Annotation, Class)","u":"%3Cinit%3E(java.lang.annotation.Annotation,java.lang.Class)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"AbstractJdbiDefinitionModule(Class)","u":"%3Cinit%3E(java.lang.Class)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"AbstractJdbiDefinitionModule(Class, Class)","u":"%3Cinit%3E(java.lang.Class,java.lang.Class)"},{"p":"org.jdbi.v3.core.async","c":"AbstractJdbiExecutor","l":"AbstractJdbiExecutor()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionFactory","l":"accepts(Class)","u":"accepts(java.lang.Class)"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjectFactory","l":"accepts(Class)","u":"accepts(java.lang.Class)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionHandlerFactory","l":"accepts(Class, Method)","u":"accepts(java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.sqlobject","c":"HandlerFactory","l":"accepts(Class, Method)","u":"accepts(java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.core.collector","c":"BuiltInCollectorFactory","l":"accepts(Type)","u":"accepts(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.collector","c":"CollectorFactory","l":"accepts(Type)","u":"accepts(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.result","c":"RowReducer","l":"accumulate(C, RowView)","u":"accumulate(C,org.jdbi.v3.core.result.RowView)"},{"p":"org.jdbi.v3.core.mapper","c":"QualifiedColumnMapperFactory","l":"adapt(ColumnMapperFactory)","u":"adapt(org.jdbi.v3.core.mapper.ColumnMapperFactory)"},{"p":"org.jdbi.v3.core.argument","c":"QualifiedArgumentFactory","l":"adapt(ConfigRegistry, ArgumentFactory)","u":"adapt(org.jdbi.v3.core.config.ConfigRegistry,org.jdbi.v3.core.argument.ArgumentFactory)"},{"p":"org.jdbi.v3.core.argument","c":"QualifiedArgumentFactory","l":"adapt(ConfigRegistry, ArgumentFactory.Preparable)","u":"adapt(org.jdbi.v3.core.config.ConfigRegistry,org.jdbi.v3.core.argument.ArgumentFactory.Preparable)"},{"p":"org.jdbi.v3.core.argument","c":"QualifiedArgumentFactory.Preparable","l":"adapt(ConfigRegistry, ArgumentFactory.Preparable)","u":"adapt(org.jdbi.v3.core.config.ConfigRegistry,org.jdbi.v3.core.argument.ArgumentFactory.Preparable)"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"add()"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"add(Map)","u":"add(java.util.Map)"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"add(Object...)","u":"add(java.lang.Object...)"},{"p":"org.jdbi.v3.core.statement","c":"Batch","l":"add(String)","u":"add(java.lang.String)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"addCleanable(Cleanable)","u":"addCleanable(org.jdbi.v3.core.statement.Cleanable)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"addCleanable(Cleanable)","u":"addCleanable(org.jdbi.v3.core.statement.Cleanable)"},{"p":"org.jdbi.v3.core.codec","c":"CodecFactory.Builder","l":"addCodec(GenericType, Codec)","u":"addCodec(org.jdbi.v3.core.generic.GenericType,org.jdbi.v3.core.codec.Codec)"},{"p":"org.jdbi.v3.core.codec","c":"CodecFactory.Builder","l":"addCodec(QualifiedType, Codec)","u":"addCodec(org.jdbi.v3.core.qualifier.QualifiedType,org.jdbi.v3.core.codec.Codec)"},{"p":"org.jdbi.v3.core.codec","c":"CodecFactory.Builder","l":"addCodec(Type, Codec)","u":"addCodec(java.lang.reflect.Type,org.jdbi.v3.core.codec.Codec)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata.Builder","l":"addConfigCustomizerFactory(ConfigCustomizerFactory)","u":"addConfigCustomizerFactory(org.jdbi.v3.core.extension.ConfigCustomizerFactory)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"addContextListener(StatementContextListener)","u":"addContextListener(org.jdbi.v3.core.statement.StatementContextListener)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"addCustomizer(StatementCustomizer)","u":"addCustomizer(org.jdbi.v3.core.statement.StatementCustomizer)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"addCustomizer(StatementCustomizer)","u":"addCustomizer(org.jdbi.v3.core.statement.StatementCustomizer)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata.Builder","l":"addExtensionHandlerCustomizer(ExtensionHandlerCustomizer)","u":"addExtensionHandlerCustomizer(org.jdbi.v3.core.extension.ExtensionHandlerCustomizer)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata.Builder","l":"addExtensionHandlerFactory(ExtensionHandlerFactory)","u":"addExtensionHandlerFactory(org.jdbi.v3.core.extension.ExtensionHandlerFactory)"},{"p":"org.jdbi.v3.core.interceptor","c":"JdbiInterceptionChainHolder","l":"addFirst(JdbiInterceptor)","u":"addFirst(org.jdbi.v3.core.interceptor.JdbiInterceptor)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"addHandleListener(HandleListener)","u":"addHandleListener(org.jdbi.v3.core.HandleListener)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata.Builder","l":"addInstanceConfigCustomizer(ConfigCustomizer)","u":"addInstanceConfigCustomizer(org.jdbi.v3.core.config.ConfigCustomizer)"},{"p":"org.jdbi.v3.core.interceptor","c":"JdbiInterceptionChainHolder","l":"addLast(JdbiInterceptor)","u":"addLast(org.jdbi.v3.core.interceptor.JdbiInterceptor)"},{"p":"org.jdbi.v3.core","c":"Handles","l":"addListener(HandleListener)","u":"addListener(org.jdbi.v3.core.HandleListener)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata.Builder","l":"addMethodConfigCustomizer(Method, ConfigCustomizer)","u":"addMethodConfigCustomizer(java.lang.reflect.Method,org.jdbi.v3.core.config.ConfigCustomizer)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata.Builder","l":"addMethodHandler(Method, ExtensionHandler)","u":"addMethodHandler(java.lang.reflect.Method,org.jdbi.v3.core.extension.ExtensionHandler)"},{"p":"org.jdbi.v3.core.statement","c":"Binding","l":"addNamed(String, Argument)","u":"addNamed(java.lang.String,org.jdbi.v3.core.argument.Argument)"},{"p":"org.jdbi.v3.core.statement","c":"Binding","l":"addNamed(String, Object)","u":"addNamed(java.lang.String,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"Binding","l":"addNamed(String, Object, QualifiedType)","u":"addNamed(java.lang.String,java.lang.Object,org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.core.statement","c":"Binding","l":"addNamedArgumentFinder(NamedArgumentFinder)","u":"addNamedArgumentFinder(org.jdbi.v3.core.argument.NamedArgumentFinder)"},{"p":"org.jdbi.v3.core.statement","c":"Binding","l":"addPositional(int, Argument)","u":"addPositional(int,org.jdbi.v3.core.argument.Argument)"},{"p":"org.jdbi.v3.core.statement","c":"Binding","l":"addPositional(int, Object)","u":"addPositional(int,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"Binding","l":"addPositional(int, Object, QualifiedType)","u":"addPositional(int,java.lang.Object,org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMapperUtil","l":"addPropertyNamePrefix(String, String)","u":"addPropertyNamePrefix(java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"after()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"afterAll(ExtensionContext)","u":"afterAll(org.junit.jupiter.api.extension.ExtensionContext)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiPostgresExtension","l":"afterAll(ExtensionContext)","u":"afterAll(org.junit.jupiter.api.extension.ExtensionContext)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"afterCommit(Runnable)","u":"afterCommit(java.lang.Runnable)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"afterEach(ExtensionContext)","u":"afterEach(org.junit.jupiter.api.extension.ExtensionContext)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiPostgresExtension","l":"afterEach(ExtensionContext)","u":"afterEach(org.junit.jupiter.api.extension.ExtensionContext)"},{"p":"org.jdbi.v3.core.statement","c":"StatementCustomizer","l":"afterExecution(PreparedStatement, StatementContext)","u":"afterExecution(java.sql.PreparedStatement,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.spring5","c":"JdbiFactoryBean","l":"afterPropertiesSet()"},{"p":"org.jdbi.v3.spring5","c":"JdbiRepositoryFactoryBean","l":"afterPropertiesSet()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"afterRollback(Runnable)","u":"afterRollback(java.lang.Runnable)"},{"p":"org.jdbi.v3.core.result","c":"ResultProducers","l":"allowNoResults(boolean)"},{"p":"org.jdbi.v3.sqlobject.locator","c":"AnnotationSqlLocator","l":"AnnotationSqlLocator()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMapperUtil","l":"anyColumnsStartWithPrefix(Collection, String, List)","u":"anyColumnsStartWithPrefix(java.util.Collection,java.lang.String,java.util.List)"},{"p":"org.jdbi.v3.core.statement","c":"ParsedSql.Builder","l":"append(String)","u":"append(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"ParsedSql.Builder","l":"appendNamedParameter(String)","u":"appendNamedParameter(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"ParsedSql.Builder","l":"appendPositionalParameter()"},{"p":"org.jdbi.v3.core.argument","c":"Argument","l":"apply(int, PreparedStatement, StatementContext)","u":"apply(int,java.sql.PreparedStatement,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.argument","c":"CharacterStreamArgument","l":"apply(int, PreparedStatement, StatementContext)","u":"apply(int,java.sql.PreparedStatement,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.argument","c":"InputStreamArgument","l":"apply(int, PreparedStatement, StatementContext)","u":"apply(int,java.sql.PreparedStatement,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.argument","c":"NullArgument","l":"apply(int, PreparedStatement, StatementContext)","u":"apply(int,java.sql.PreparedStatement,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.argument","c":"ObjectArgument","l":"apply(int, PreparedStatement, StatementContext)","u":"apply(int,java.sql.PreparedStatement,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"SqlStatementCustomizer","l":"apply(SqlStatement)","u":"apply(org.jdbi.v3.core.statement.SqlStatement)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"SqlStatementParameterCustomizer","l":"apply(SqlStatement, Object)","u":"apply(org.jdbi.v3.core.statement.SqlStatement,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"StatementExceptions.MessageRendering","l":"apply(StatementException)","u":"apply(org.jdbi.v3.core.statement.StatementException)"},{"p":"org.jdbi.v3.core.result","c":"ResultSetAccumulator","l":"apply(T, ResultSet, StatementContext)","u":"apply(T,java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.sqlobject","c":"HandlerDecorators","l":"applyDecorators(Handler, Class, Method)","u":"applyDecorators(org.jdbi.v3.sqlobject.Handler,java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"Arguments(ConfigRegistry)","u":"%3Cinit%3E(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.generic","c":"GenericTypes","l":"arrayType(Type)","u":"arrayType(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core","c":"HandleConsumer","l":"asCallback()"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"TransactionalConsumer","l":"asCallback()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionFactory","l":"attach(Class, HandleSupplier)","u":"attach(java.lang.Class,org.jdbi.v3.core.extension.HandleSupplier)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"attach(Class)","u":"attach(java.lang.Class)"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"attach(Class)","u":"attach(java.lang.Class)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"attach(Class)","u":"attach(java.lang.Class)"},{"p":"org.jdbi.v3.core.statement","c":"Batch","l":"attachToHandleForCleanup()"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"attachToHandleForCleanup()"},{"p":"org.jdbi.v3.core.statement","c":"MetaData","l":"attachToHandleForCleanup()"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"attachToHandleForCleanup()"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"attachToHandleForCleanup()"},{"p":"org.jdbi.v3.core.statement","c":"Script","l":"attachToHandleForCleanup()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"attachToHandleForCleanup()"},{"p":"org.jdbi.v3.core.statement","c":"Update","l":"attachToHandleForCleanup()"},{"p":"org.jdbi.v3.spring5","c":"EnableJdbiRepositories","l":"basePackageClasses()"},{"p":"org.jdbi.v3.spring5","c":"EnableJdbiRepositories","l":"basePackages()"},{"p":"org.jdbi.v3.core.statement","c":"Batch","l":"Batch(Handle)","u":"%3Cinit%3E(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"BatchResultBearing(ResultBearing, Supplier)","u":"%3Cinit%3E(org.jdbi.v3.core.result.ResultBearing,java.util.function.Supplier)"},{"p":"org.jdbi.v3.core.argument","c":"BeanPropertyArguments","l":"BeanPropertyArguments(String, Object)","u":"%3Cinit%3E(java.lang.String,java.lang.Object)"},{"p":"org.jdbi.v3.core.argument","c":"BeanPropertyArguments","l":"BeanPropertyArguments(String, Object, ConfigRegistry)","u":"%3Cinit%3E(java.lang.String,java.lang.Object,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"before()"},{"p":"org.jdbi.v3.testing","c":"Migration","l":"before()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"beforeAll(ExtensionContext)","u":"beforeAll(org.junit.jupiter.api.extension.ExtensionContext)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiPostgresExtension","l":"beforeAll(ExtensionContext)","u":"beforeAll(org.junit.jupiter.api.extension.ExtensionContext)"},{"p":"org.jdbi.v3.core.statement","c":"StatementCustomizer","l":"beforeBinding(PreparedStatement, StatementContext)","u":"beforeBinding(java.sql.PreparedStatement,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"beforeEach(ExtensionContext)","u":"beforeEach(org.junit.jupiter.api.extension.ExtensionContext)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiPostgresExtension","l":"beforeEach(ExtensionContext)","u":"beforeEach(org.junit.jupiter.api.extension.ExtensionContext)"},{"p":"org.jdbi.v3.core.statement","c":"StatementCustomizer","l":"beforeExecution(PreparedStatement, StatementContext)","u":"beforeExecution(java.sql.PreparedStatement,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"StatementCustomizer","l":"beforeTemplating(PreparedStatement, StatementContext)","u":"beforeTemplating(java.sql.PreparedStatement,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"begin()"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"Transactional","l":"begin()"},{"p":"org.jdbi.v3.core.transaction","c":"CMTTransactionHandler","l":"begin(Handle)","u":"begin(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"DelegatingTransactionHandler","l":"begin(Handle)","u":"begin(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"LocalTransactionHandler","l":"begin(Handle)","u":"begin(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionHandler","l":"begin(Handle)","u":"begin(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.commonstext","c":"StringSubstitutorTemplateEngine","l":"between(char, char)","u":"between(char,char)"},{"p":"org.jdbi.v3.commonstext","c":"StringSubstitutorTemplateEngine","l":"between(char, char, char)","u":"between(char,char,char)"},{"p":"org.jdbi.v3.commonstext","c":"StringSubstitutorTemplateEngine","l":"between(String, String)","u":"between(java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.commonstext","c":"StringSubstitutorTemplateEngine","l":"between(String, String, char)","u":"between(java.lang.String,java.lang.String,char)"},{"p":"org.jdbi.v3.core.annotation","c":"JdbiProperty","l":"bind()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Argument)","u":"bind(int,org.jdbi.v3.core.argument.Argument)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, BigDecimal)","u":"bind(int,java.math.BigDecimal)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Blob)","u":"bind(int,java.sql.Blob)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, boolean)","u":"bind(int,boolean)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Boolean)","u":"bind(int,java.lang.Boolean)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, byte)","u":"bind(int,byte)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Byte)","u":"bind(int,java.lang.Byte)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, byte[])","u":"bind(int,byte[])"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, char)","u":"bind(int,char)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Character)","u":"bind(int,java.lang.Character)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Clob)","u":"bind(int,java.sql.Clob)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Date)","u":"bind(int,java.sql.Date)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Date)","u":"bind(int,java.util.Date)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, double)","u":"bind(int,double)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Double)","u":"bind(int,java.lang.Double)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, float)","u":"bind(int,float)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Float)","u":"bind(int,java.lang.Float)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, int)","u":"bind(int,int)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Integer)","u":"bind(int,java.lang.Integer)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, long)","u":"bind(int,long)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Long)","u":"bind(int,java.lang.Long)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Object)","u":"bind(int,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Reader, int)","u":"bind(int,java.io.Reader,int)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, short)","u":"bind(int,short)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Short)","u":"bind(int,java.lang.Short)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, String)","u":"bind(int,java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Time)","u":"bind(int,java.sql.Time)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, Timestamp)","u":"bind(int,java.sql.Timestamp)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, URI)","u":"bind(int,java.net.URI)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, URL)","u":"bind(int,java.net.URL)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(int, UUID)","u":"bind(int,java.util.UUID)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Argument)","u":"bind(java.lang.String,org.jdbi.v3.core.argument.Argument)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, BigDecimal)","u":"bind(java.lang.String,java.math.BigDecimal)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Blob)","u":"bind(java.lang.String,java.sql.Blob)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, boolean)","u":"bind(java.lang.String,boolean)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Boolean)","u":"bind(java.lang.String,java.lang.Boolean)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, byte)","u":"bind(java.lang.String,byte)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Byte)","u":"bind(java.lang.String,java.lang.Byte)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, byte[])","u":"bind(java.lang.String,byte[])"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, char)","u":"bind(java.lang.String,char)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Character)","u":"bind(java.lang.String,java.lang.Character)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Clob)","u":"bind(java.lang.String,java.sql.Clob)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Date)","u":"bind(java.lang.String,java.sql.Date)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Date)","u":"bind(java.lang.String,java.util.Date)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, double)","u":"bind(java.lang.String,double)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Double)","u":"bind(java.lang.String,java.lang.Double)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, float)","u":"bind(java.lang.String,float)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Float)","u":"bind(java.lang.String,java.lang.Float)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, int)","u":"bind(java.lang.String,int)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Integer)","u":"bind(java.lang.String,java.lang.Integer)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, long)","u":"bind(java.lang.String,long)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Long)","u":"bind(java.lang.String,java.lang.Long)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Object)","u":"bind(java.lang.String,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Reader, int)","u":"bind(java.lang.String,java.io.Reader,int)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, short)","u":"bind(java.lang.String,short)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Short)","u":"bind(java.lang.String,java.lang.Short)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, String)","u":"bind(java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Time)","u":"bind(java.lang.String,java.sql.Time)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, Timestamp)","u":"bind(java.lang.String,java.sql.Timestamp)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, URI)","u":"bind(java.lang.String,java.net.URI)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, URL)","u":"bind(java.lang.String,java.net.URL)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bind(String, UUID)","u":"bind(java.lang.String,java.util.UUID)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindArray(int, T...)","u":"bindArray(int,T...)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindArray(int, Type, Iterable)","u":"bindArray(int,java.lang.reflect.Type,java.lang.Iterable)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindArray(int, Type, Iterator)","u":"bindArray(int,java.lang.reflect.Type,java.util.Iterator)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindArray(int, Type, Object...)","u":"bindArray(int,java.lang.reflect.Type,java.lang.Object...)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindArray(String, T...)","u":"bindArray(java.lang.String,T...)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindArray(String, Type, Iterable)","u":"bindArray(java.lang.String,java.lang.reflect.Type,java.lang.Iterable)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindArray(String, Type, Iterator)","u":"bindArray(java.lang.String,java.lang.reflect.Type,java.util.Iterator)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindArray(String, Type, Object...)","u":"bindArray(java.lang.String,java.lang.reflect.Type,java.lang.Object...)"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"bindArrayType(Class)","u":"bindArrayType(java.lang.Class)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindASCIIStream(int, InputStream, int)","u":"bindASCIIStream(int,java.io.InputStream,int)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindASCIIStream(String, InputStream, int)","u":"bindASCIIStream(java.lang.String,java.io.InputStream,int)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindBean(Object)","u":"bindBean(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindBean(String, Object)","u":"bindBean(java.lang.String,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindBeanList(String, List, List)","u":"bindBeanList(java.lang.String,java.util.List,java.util.List)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindBinaryStream(int, InputStream, int)","u":"bindBinaryStream(int,java.io.InputStream,int)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindBinaryStream(String, InputStream, int)","u":"bindBinaryStream(java.lang.String,java.io.InputStream,int)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindBySqlType(int, Object, int)","u":"bindBySqlType(int,java.lang.Object,int)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindBySqlType(String, Object, int)","u":"bindBySqlType(java.lang.String,java.lang.Object,int)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindByType(int, Object, GenericType)","u":"bindByType(int,java.lang.Object,org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindByType(int, Object, QualifiedType)","u":"bindByType(int,java.lang.Object,org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindByType(int, Object, Type)","u":"bindByType(int,java.lang.Object,java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindByType(String, Object, GenericType)","u":"bindByType(java.lang.String,java.lang.Object,org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindByType(String, Object, QualifiedType)","u":"bindByType(java.lang.String,java.lang.Object,org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindByType(String, Object, Type)","u":"bindByType(java.lang.String,java.lang.Object,java.lang.reflect.Type)"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"bindCodec(GenericType)","u":"bindCodec(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"bindCodec(QualifiedType)","u":"bindCodec(org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"bindCodec(Type)","u":"bindCodec(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"bindColumnMapper()"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"bindColumnMapper(GenericType)","u":"bindColumnMapper(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"bindColumnMapper(QualifiedType)","u":"bindColumnMapper(org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"bindColumnMapper(Type)","u":"bindColumnMapper(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"bindCustomizer()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindFields(Object)","u":"bindFields(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindFields(String, Object)","u":"bindFields(java.lang.String,java.lang.Object)"},{"p":"org.jdbi.v3.core.transaction","c":"LocalTransactionHandler","l":"binding()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindList(BiConsumer, String, Iterable)","u":"bindList(java.util.function.BiConsumer,java.lang.String,java.lang.Iterable)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindList(BiConsumer, String, Iterator)","u":"bindList(java.util.function.BiConsumer,java.lang.String,java.util.Iterator)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindList(BiConsumer, String, List)","u":"bindList(java.util.function.BiConsumer,java.lang.String,java.util.List)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindList(BiConsumer, String, Object...)","u":"bindList(java.util.function.BiConsumer,java.lang.String,java.lang.Object...)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindList(String, Iterable)","u":"bindList(java.lang.String,java.lang.Iterable)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindList(String, Iterator)","u":"bindList(java.lang.String,java.util.Iterator)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindList(String, Object...)","u":"bindList(java.lang.String,java.lang.Object...)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindMap(Map)","u":"bindMap(java.util.Map)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindMethods(Object)","u":"bindMethods(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindMethods(String, Object)","u":"bindMethods(java.lang.String,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindMethodsList(String, Iterable, List)","u":"bindMethodsList(java.lang.String,java.lang.Iterable,java.util.List)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindNamedArgumentFinder(NamedArgumentFinder)","u":"bindNamedArgumentFinder(org.jdbi.v3.core.argument.NamedArgumentFinder)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindNull(int, int)","u":"bindNull(int,int)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindNull(String, int)","u":"bindNull(java.lang.String,int)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindNVarchar(int, String)","u":"bindNVarchar(int,java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindNVarchar(String, String)","u":"bindNVarchar(java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.sqlobject.statement","c":"BindParameterCustomizerFactory","l":"BindParameterCustomizerFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"bindPlugin()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindPojo(Object)","u":"bindPojo(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindPojo(Object, GenericType)","u":"bindPojo(java.lang.Object,org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindPojo(Object, Type)","u":"bindPojo(java.lang.Object,java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindPojo(String, Object)","u":"bindPojo(java.lang.String,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindPojo(String, Object, GenericType)","u":"bindPojo(java.lang.String,java.lang.Object,org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"bindPojo(String, Object, Type)","u":"bindPojo(java.lang.String,java.lang.Object,java.lang.reflect.Type)"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"bindRowMapper()"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"bindRowMapper(GenericType)","u":"bindRowMapper(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"bindRowMapper(Type)","u":"bindRowMapper(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.statement","c":"EmptyHandling","l":"BLANK"},{"p":"org.jdbi.v3.core.generic","c":"GenericTypes","l":"box(Type)","u":"box(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.cache.caffeine","c":"CaffeineCacheBuilder","l":"build()"},{"p":"org.jdbi.v3.cache.noop","c":"NoopCacheBuilder","l":"build()"},{"p":"org.jdbi.v3.core.cache","c":"JdbiCacheBuilder","l":"build()"},{"p":"org.jdbi.v3.core.codec","c":"CodecFactory.Builder","l":"build()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata.Builder","l":"build()"},{"p":"org.jdbi.v3.core.statement","c":"ParsedSql.Builder","l":"build()"},{"p":"org.jdbi.v3.postgres","c":"DurationArgumentFactory","l":"build(Duration, ConfigRegistry)","u":"build(java.time.Duration,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.postgres","c":"PeriodArgumentFactory","l":"build(Period, ConfigRegistry)","u":"build(java.time.Period,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.codec","c":"CodecFactory","l":"build(QualifiedType, ConfigRegistry)","u":"build(org.jdbi.v3.core.qualifier.QualifiedType,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"QualifiedColumnMapperFactory","l":"build(QualifiedType, ConfigRegistry)","u":"build(org.jdbi.v3.core.qualifier.QualifiedType,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.argument","c":"QualifiedArgumentFactory","l":"build(QualifiedType, Object, ConfigRegistry)","u":"build(org.jdbi.v3.core.qualifier.QualifiedType,java.lang.Object,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.codec","c":"CodecFactory","l":"build(QualifiedType, Object, ConfigRegistry)","u":"build(org.jdbi.v3.core.qualifier.QualifiedType,java.lang.Object,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.collector","c":"BuiltInCollectorFactory","l":"build(Type)","u":"build(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.collector","c":"CollectorFactory","l":"build(Type)","u":"build(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayMapperFactory","l":"build(Type, ConfigRegistry)","u":"build(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayTypeFactory","l":"build(Type, ConfigRegistry)","u":"build(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"BuiltInMapperFactory","l":"build(Type, ConfigRegistry)","u":"build(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMapperFactory","l":"build(Type, ConfigRegistry)","u":"build(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"EnumByNameMapperFactory","l":"build(Type, ConfigRegistry)","u":"build(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"EnumByOrdinalMapperFactory","l":"build(Type, ConfigRegistry)","u":"build(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"GenericMapMapperFactory","l":"build(Type, ConfigRegistry)","u":"build(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"GetObjectColumnMapperFactory","l":"build(Type, ConfigRegistry)","u":"build(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMapperFactory","l":"build(Type, ConfigRegistry)","u":"build(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.jpa","c":"JpaMapperFactory","l":"build(Type, ConfigRegistry)","u":"build(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.postgres","c":"DurationColumnMapperFactory","l":"build(Type, ConfigRegistry)","u":"build(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.postgres","c":"PeriodColumnMapperFactory","l":"build(Type, ConfigRegistry)","u":"build(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.argument","c":"AbstractArgumentFactory","l":"build(Type, Object, ConfigRegistry)","u":"build(java.lang.reflect.Type,java.lang.Object,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.argument","c":"ArgumentFactory","l":"build(Type, Object, ConfigRegistry)","u":"build(java.lang.reflect.Type,java.lang.Object,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.argument","c":"ArgumentFactory.Preparable","l":"build(Type, Object, ConfigRegistry)","u":"build(java.lang.reflect.Type,java.lang.Object,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.argument","c":"BuiltInArgumentFactory","l":"build(Type, Object, ConfigRegistry)","u":"build(java.lang.reflect.Type,java.lang.Object,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.argument","c":"DirectArgumentFactory","l":"build(Type, Object, ConfigRegistry)","u":"build(java.lang.reflect.Type,java.lang.Object,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.argument","c":"ObjectArgumentFactory","l":"build(Type, Object, ConfigRegistry)","u":"build(java.lang.reflect.Type,java.lang.Object,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.cache.noop","c":"NoopCache","l":"builder()"},{"p":"org.jdbi.v3.core.codec","c":"CodecFactory","l":"builder()"},{"p":"org.jdbi.v3.core.statement","c":"ParsedSql","l":"builder()"},{"p":"org.jdbi.v3.guava.codec","c":"TypeResolvingCodecFactory","l":"builder()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata","l":"builder(Class)","u":"builder(java.lang.Class)"},{"p":"org.jdbi.v3.core.codec","c":"CodecFactory.Builder","l":"Builder(Function, Codec>, CodecFactory>)","u":"%3Cinit%3E(java.util.function.Function)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionFactory","l":"buildExtensionMetadata(ExtensionMetadata.Builder)","u":"buildExtensionMetadata(org.jdbi.v3.core.extension.ExtensionMetadata.Builder)"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjectFactory","l":"buildExtensionMetadata(ExtensionMetadata.Builder)","u":"buildExtensionMetadata(org.jdbi.v3.core.extension.ExtensionMetadata.Builder)"},{"p":"org.jdbi.v3.sqlobject","c":"HandlerFactory","l":"buildHandler(Class, Method)","u":"buildHandler(java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.cache.caffeine","c":"CaffeineCacheBuilder","l":"buildWithLoader(JdbiCacheLoader)","u":"buildWithLoader(org.jdbi.v3.core.cache.JdbiCacheLoader)"},{"p":"org.jdbi.v3.cache.noop","c":"NoopCacheBuilder","l":"buildWithLoader(JdbiCacheLoader)","u":"buildWithLoader(org.jdbi.v3.core.cache.JdbiCacheLoader)"},{"p":"org.jdbi.v3.core.cache","c":"JdbiCacheBuilder","l":"buildWithLoader(JdbiCacheLoader)","u":"buildWithLoader(org.jdbi.v3.core.cache.JdbiCacheLoader)"},{"p":"org.jdbi.v3.core.argument","c":"BuiltInArgumentFactory","l":"BuiltInArgumentFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.collector","c":"BuiltInCollectorFactory","l":"BuiltInCollectorFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper","c":"BuiltInMapperFactory","l":"BuiltInMapperFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.enums","c":"EnumStrategy","l":"BY_NAME"},{"p":"org.jdbi.v3.core.enums","c":"EnumStrategy","l":"BY_ORDINAL"},{"p":"org.jdbi.v3.core.mapper","c":"EnumMapper","l":"byName(Class)","u":"byName(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper","c":"EnumMapper","l":"byOrdinal(Class)","u":"byOrdinal(java.lang.Class)"},{"p":"org.jdbi.v3.core.cache","c":"JdbiCacheStats","l":"cacheSize()"},{"p":"org.jdbi.v3.core.statement","c":"CachingSqlParser","l":"cacheStats()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"cacheStats()"},{"p":"org.jdbi.v3.cache.caffeine","c":"CaffeineCacheBuilder","l":"CaffeineCacheBuilder(Caffeine)","u":"%3Cinit%3E(com.github.benmanes.caffeine.cache.Caffeine)"},{"p":"org.jdbi.v3.cache.caffeine","c":"CaffeineCachePlugin","l":"CaffeineCachePlugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata.ExtensionHandlerInvoker","l":"call(Callable)","u":"call(java.util.concurrent.Callable)"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"Call(Handle, CharSequence)","u":"%3Cinit%3E(org.jdbi.v3.core.Handle,java.lang.CharSequence)"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"Call(Handle, String)","u":"%3Cinit%3E(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata.ExtensionHandlerInvoker","l":"call(Runnable)","u":"call(java.lang.Runnable)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"CaseInsensitiveColumnNameMatcher","l":"CaseInsensitiveColumnNameMatcher()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.argument","c":"CharacterStreamArgument","l":"CharacterStreamArgument(Reader, int)","u":"%3Cinit%3E(java.io.Reader,int)"},{"p":"org.jdbi.v3.core","c":"Sql","l":"charAt(int)"},{"p":"org.jdbi.v3.core.argument","c":"CharSequenceArgumentFactory","l":"CharSequenceArgumentFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"FieldMapper","l":"checkPropagateNullAnnotation(Field)","u":"checkPropagateNullAnnotation(java.lang.reflect.Field)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"clean()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContextListener","l":"cleanableAdded(StatementContext, Cleanable)","u":"cleanableAdded(org.jdbi.v3.core.statement.StatementContext,org.jdbi.v3.core.statement.Cleanable)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContextListener","l":"cleanableRemoved(StatementContext, Cleanable)","u":"cleanableRemoved(org.jdbi.v3.core.statement.StatementContext,org.jdbi.v3.core.statement.Cleanable)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiFlywayMigration","l":"cleanAfter()"},{"p":"org.jdbi.v3.testing","c":"Migration","l":"cleanAfter()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiFlywayMigration","l":"cleanAfter(boolean)"},{"p":"org.jdbi.v3.testing","c":"Migration","l":"cleanAfter(boolean)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtensionInitializer","l":"cleanup(DataSource, Handle)","u":"cleanup(javax.sql.DataSource,org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiFlywayMigration","l":"cleanup(DataSource, Handle)","u":"cleanup(javax.sql.DataSource,org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"cleanupHandleCommit()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"cleanupHandleRollback()"},{"p":"org.jdbi.v3.core","c":"HandleScope","l":"clear()"},{"p":"org.jdbi.v3.core.statement","c":"Binding","l":"clear()"},{"p":"org.jdbi.v3.core.extension","c":"HandleSupplier","l":"close()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"close()"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable.ResultIteratorDelegate","l":"close()"},{"p":"org.jdbi.v3.core.result","c":"ResultIterator","l":"close()"},{"p":"org.jdbi.v3.core.statement","c":"Batch","l":"close()"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"close()"},{"p":"org.jdbi.v3.core.statement","c":"MetaData","l":"close()"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"close()"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"close()"},{"p":"org.jdbi.v3.core.statement","c":"Script","l":"close()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"close()"},{"p":"org.jdbi.v3.core.statement","c":"Update","l":"close()"},{"p":"org.jdbi.v3.core.statement","c":"Cleanable","l":"close()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"close()"},{"p":"org.jdbi.v3.core.statement","c":"StatementBuilder","l":"close(Connection)","u":"close(java.sql.Connection)"},{"p":"org.jdbi.v3.core.statement","c":"DefaultStatementBuilder","l":"close(Connection, String, Statement)","u":"close(java.sql.Connection,java.lang.String,java.sql.Statement)"},{"p":"org.jdbi.v3.core.statement","c":"StatementBuilder","l":"close(Connection, String, Statement)","u":"close(java.sql.Connection,java.lang.String,java.sql.Statement)"},{"p":"org.jdbi.v3.core.statement","c":"Cleanable","l":"closeAndSuppress(Throwable)","u":"closeAndSuppress(java.lang.Throwable)"},{"p":"org.jdbi.v3.core","c":"ConnectionFactory","l":"closeConnection(Connection)","u":"closeConnection(java.sql.Connection)"},{"p":"org.jdbi.v3.spring5","c":"SpringConnectionFactory","l":"closeConnection(Connection)","u":"closeConnection(java.sql.Connection)"},{"p":"org.jdbi.v3.core","c":"CloseException","l":"CloseException(String, Throwable)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"org.jdbi.v3.spring5","c":"JdbiUtil","l":"closeIfNeeded(Handle)","u":"closeIfNeeded(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"CMTTransactionHandler","l":"CMTTransactionHandler()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.codec","c":"CodecFactory","l":"CodecFactory(Map, Codec>)","u":"%3Cinit%3E(java.util.Map)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"collect(Collector)","u":"collect(java.util.stream.Collector)"},{"p":"org.jdbi.v3.core.statement","c":"TimingCollector","l":"collect(long, StatementContext)","u":"collect(long,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"collectInto(Class)","u":"collectInto(java.lang.Class)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"collectInto(Class)","u":"collectInto(java.lang.Class)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"collectInto(GenericType)","u":"collectInto(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"collectInto(GenericType)","u":"collectInto(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"collectInto(GenericType)","u":"collectInto(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"collectInto(Type)","u":"collectInto(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"collectInto(Type)","u":"collectInto(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"collectInto(Type)","u":"collectInto(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"collectIntoList()"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"collectIntoSet()"},{"p":"org.jdbi.v3.core.collector","c":"CollectorFactory","l":"collectorFactory(GenericType, Collector)","u":"collectorFactory(org.jdbi.v3.core.generic.GenericType,java.util.stream.Collector)"},{"p":"org.jdbi.v3.core.collector","c":"CollectorFactory","l":"collectorFactory(Type, Collector)","u":"collectorFactory(java.lang.reflect.Type,java.util.stream.Collector)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"collectRows(Collector)","u":"collectRows(java.util.stream.Collector)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"collectRows(Collector)","u":"collectRows(java.util.stream.Collector)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"collectToMap(Function, Function)","u":"collectToMap(java.util.function.Function,java.util.function.Function)"},{"p":"org.jdbi.v3.core.statement","c":"ColonPrefixSqlParser","l":"ColonPrefixSqlParser()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.statement","c":"ColonPrefixSqlParser","l":"ColonPrefixSqlParser(JdbiCacheBuilder)","u":"%3Cinit%3E(org.jdbi.v3.core.cache.JdbiCacheBuilder)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"ColumnMappers()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"AbstractSeparatorCharColumnNameMatcher","l":"columnNameMatches(String, String)","u":"columnNameMatches(java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"CaseInsensitiveColumnNameMatcher","l":"columnNameMatches(String, String)","u":"columnNameMatches(java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ColumnNameMatcher","l":"columnNameMatches(String, String)","u":"columnNameMatches(java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"AbstractSeparatorCharColumnNameMatcher","l":"columnNameStartsWith(String, String)","u":"columnNameStartsWith(java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"CaseInsensitiveColumnNameMatcher","l":"columnNameStartsWith(String, String)","u":"columnNameStartsWith(java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ColumnNameMatcher","l":"columnNameStartsWith(String, String)","u":"columnNameStartsWith(java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"commit()"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"Transactional","l":"commit()"},{"p":"org.jdbi.v3.core.transaction","c":"CMTTransactionHandler","l":"commit(Handle)","u":"commit(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"DelegatingTransactionHandler","l":"commit(Handle)","u":"commit(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"LocalTransactionHandler","l":"commit(Handle)","u":"commit(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"RollbackOnlyTransactionHandler","l":"commit(Handle)","u":"commit(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionHandler","l":"commit(Handle)","u":"commit(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"concurrentUpdatable()"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"concurrentUpdatable()"},{"p":"org.jdbi.v3.core.config","c":"ConfigRegistry","l":"ConfigRegistry()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.transaction","c":"SerializableTransactionRunner.Configuration","l":"Configuration()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"configure(Class, Consumer)","u":"configure(java.lang.Class,java.util.function.Consumer)"},{"p":"org.jdbi.v3.core.extension","c":"SimpleExtensionConfigurer","l":"configure(ConfigRegistry, Annotation, Class)","u":"configure(org.jdbi.v3.core.config.ConfigRegistry,java.lang.annotation.Annotation,java.lang.Class)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionConfigurer","l":"configureForMethod(ConfigRegistry, Annotation, Class, Method)","u":"configureForMethod(org.jdbi.v3.core.config.ConfigRegistry,java.lang.annotation.Annotation,java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.core.extension","c":"SimpleExtensionConfigurer","l":"configureForMethod(ConfigRegistry, Annotation, Class, Method)","u":"configureForMethod(org.jdbi.v3.core.config.ConfigRegistry,java.lang.annotation.Annotation,java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionConfigurer","l":"configureForType(ConfigRegistry, Annotation, Class)","u":"configureForType(org.jdbi.v3.core.config.ConfigRegistry,java.lang.annotation.Annotation,java.lang.Class)"},{"p":"org.jdbi.v3.core.extension","c":"SimpleExtensionConfigurer","l":"configureForType(ConfigRegistry, Annotation, Class)","u":"configureForType(org.jdbi.v3.core.config.ConfigRegistry,java.lang.annotation.Annotation,java.lang.Class)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiConfigurationModule","l":"configureJdbi()"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"configureJdbi()"},{"p":"org.jdbi.v3.core","c":"ConnectionException","l":"ConnectionException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.core.result","c":"LinkedHashMapRowReducer","l":"container()"},{"p":"org.jdbi.v3.core.result","c":"RowReducer","l":"container()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContextListener","l":"contextCleaned(StatementContext)","u":"contextCleaned(org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContextListener","l":"contextCreated(StatementContext)","u":"contextCreated(org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayType","l":"convertArrayElement(T)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindMap","l":"convertKeys()"},{"p":"org.jdbi.v3.core.locator","c":"ClasspathSqlLocator","l":"create()"},{"p":"org.jdbi.v3.core.argument","c":"ObjectArgumentFactory","l":"create(Class)","u":"create(java.lang.Class)"},{"p":"org.jdbi.v3.core.argument","c":"ObjectArgumentFactory","l":"create(Class, Integer)","u":"create(java.lang.Class,java.lang.Integer)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"create(Connection)","u":"create(java.sql.Connection)"},{"p":"org.jdbi.v3.core.statement","c":"DefaultStatementBuilder","l":"create(Connection, StatementContext)","u":"create(java.sql.Connection,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"StatementBuilder","l":"create(Connection, StatementContext)","u":"create(java.sql.Connection,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"DefaultStatementBuilder","l":"create(Connection, String, StatementContext)","u":"create(java.sql.Connection,java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"StatementBuilder","l":"create(Connection, String, StatementContext)","u":"create(java.sql.Connection,java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"create(ConnectionFactory)","u":"create(org.jdbi.v3.core.ConnectionFactory)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"create(DataSource)","u":"create(javax.sql.DataSource)"},{"p":"org.jdbi.v3.core.async","c":"JdbiExecutor","l":"create(Jdbi, Executor)","u":"create(org.jdbi.v3.core.Jdbi,java.util.concurrent.Executor)"},{"p":"org.jdbi.v3.core.cache","c":"JdbiCacheLoader","l":"create(K)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"create(String)","u":"create(java.lang.String)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"create(String, Properties)","u":"create(java.lang.String,java.util.Properties)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"create(String, String, String)","u":"create(java.lang.String,java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"createBatch()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"createCall(CharSequence)","u":"createCall(java.lang.CharSequence)"},{"p":"org.jdbi.v3.core.statement","c":"DefaultStatementBuilder","l":"createCall(Connection, String, StatementContext)","u":"createCall(java.sql.Connection,java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"StatementBuilder","l":"createCall(Connection, String, StatementContext)","u":"createCall(java.sql.Connection,java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"createCall(String)","u":"createCall(java.lang.String)"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"createCopy()"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayTypes","l":"createCopy()"},{"p":"org.jdbi.v3.core.collector","c":"JdbiCollectors","l":"createCopy()"},{"p":"org.jdbi.v3.core.config","c":"ConfigRegistry","l":"createCopy()"},{"p":"org.jdbi.v3.core.config","c":"JdbiConfig","l":"createCopy()"},{"p":"org.jdbi.v3.core.enums","c":"Enums","l":"createCopy()"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"createCopy()"},{"p":"org.jdbi.v3.core","c":"Handles","l":"createCopy()"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"createCopy()"},{"p":"org.jdbi.v3.core.mapper.freebuilder","c":"JdbiFreeBuilders","l":"createCopy()"},{"p":"org.jdbi.v3.core.mapper.immutables","c":"JdbiImmutables","l":"createCopy()"},{"p":"org.jdbi.v3.core.mapper","c":"MapEntryMappers","l":"createCopy()"},{"p":"org.jdbi.v3.core.mapper","c":"MapMappers","l":"createCopy()"},{"p":"org.jdbi.v3.core.mapper","c":"Mappers","l":"createCopy()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMappers","l":"createCopy()"},{"p":"org.jdbi.v3.core.mapper","c":"RowMappers","l":"createCopy()"},{"p":"org.jdbi.v3.core.qualifier","c":"Qualifiers","l":"createCopy()"},{"p":"org.jdbi.v3.core.result","c":"ResultProducers","l":"createCopy()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"createCopy()"},{"p":"org.jdbi.v3.core.statement","c":"StatementExceptions","l":"createCopy()"},{"p":"org.jdbi.v3.core.transaction","c":"SerializableTransactionRunner.Configuration","l":"createCopy()"},{"p":"org.jdbi.v3.freemarker","c":"FreemarkerConfig","l":"createCopy()"},{"p":"org.jdbi.v3.gson2","c":"Gson2Config","l":"createCopy()"},{"p":"org.jdbi.v3.jackson2","c":"Jackson2Config","l":"createCopy()"},{"p":"org.jdbi.v3.json","c":"JsonConfig","l":"createCopy()"},{"p":"org.jdbi.v3.moshi","c":"MoshiConfig","l":"createCopy()"},{"p":"org.jdbi.v3.postgres","c":"PostgresTypes","l":"createCopy()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"TimestampedConfig","l":"createCopy()"},{"p":"org.jdbi.v3.sqlobject","c":"HandlerDecorators","l":"createCopy()"},{"p":"org.jdbi.v3.sqlobject","c":"Handlers","l":"createCopy()"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjects","l":"createCopy()"},{"p":"org.jdbi.v3.stringtemplate4","c":"StringTemplates","l":"createCopy()"},{"p":"org.jdbi.v3.vavr","c":"TupleMappers","l":"createCopy()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionHandlerFactory","l":"createExtensionHandler(Class, Method)","u":"createExtensionHandler(java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.sqlobject","c":"HandlerFactory","l":"createExtensionHandler(Class, Method)","u":"createExtensionHandler(java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata","l":"createExtensionHandlerInvoker(E, Method, HandleSupplier, ConfigRegistry)","u":"createExtensionHandlerInvoker(E,java.lang.reflect.Method,org.jdbi.v3.core.extension.HandleSupplier,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"SqlStatementCustomizerFactory","l":"createForMethod(Annotation, Class, Method)","u":"createForMethod(java.lang.annotation.Annotation,java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionHandler","l":"createForMethod(Method)","u":"createForMethod(java.lang.reflect.Method)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionHandler","l":"createForMethodHandle(MethodHandle)","u":"createForMethodHandle(java.lang.invoke.MethodHandle)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"SqlStatementCustomizerFactory","l":"createForParameter(Annotation, Class, Method, Parameter, int, Type)","u":"createForParameter(java.lang.annotation.Annotation,java.lang.Class,java.lang.reflect.Method,java.lang.reflect.Parameter,int,java.lang.reflect.Type)"},{"p":"org.jdbi.v3.sqlobject.statement","c":"BindParameterCustomizerFactory","l":"createForParameter(Class, Method, Parameter, int, Type)","u":"createForParameter(java.lang.Class,java.lang.reflect.Method,java.lang.reflect.Parameter,int,java.lang.reflect.Type)"},{"p":"org.jdbi.v3.sqlobject.statement","c":"ParameterCustomizerFactory","l":"createForParameter(Class, Method, Parameter, int, Type)","u":"createForParameter(java.lang.Class,java.lang.reflect.Method,java.lang.reflect.Parameter,int,java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionHandler","l":"createForSpecialMethod(Method)","u":"createForSpecialMethod(java.lang.reflect.Method)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"SqlStatementCustomizerFactory","l":"createForType(Annotation, Class)","u":"createForType(java.lang.annotation.Annotation,java.lang.Class)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata","l":"createInstanceConfiguration(ConfigRegistry)","u":"createInstanceConfiguration(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"createKey(Class)","u":"createKey(java.lang.Class)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"createKey(TypeLiteral)","u":"createKey(com.google.inject.TypeLiteral)"},{"p":"org.jdbi.v3.postgres","c":"PgLobApi","l":"createLob()"},{"p":"org.jdbi.v3.freemarker","c":"FreemarkerConfig","l":"createLocator()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata","l":"createMethodConfiguration(Method, ConfigRegistry)","u":"createMethodConfiguration(java.lang.reflect.Method,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"createQuery(CharSequence)","u":"createQuery(java.lang.CharSequence)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"createQuery(String)","u":"createQuery(java.lang.String)"},{"p":"org.jdbi.v3.core.result","c":"ResultProducers","l":"createResultBearing(Supplier, ResultProducers.ResultSetCreator, StatementContext)","u":"createResultBearing(java.util.function.Supplier,org.jdbi.v3.core.result.ResultProducers.ResultSetCreator,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.result","c":"ResultProducers.ResultSetCreator","l":"createResultSet(Statement)","u":"createResultSet(java.sql.Statement)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"createScript(CharSequence)","u":"createScript(java.lang.CharSequence)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"createScript(String)","u":"createScript(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"StatementBuilderFactory","l":"createStatementBuilder(Connection)","u":"createStatementBuilder(java.sql.Connection)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"createUpdate(CharSequence)","u":"createUpdate(java.lang.CharSequence)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"createUpdate(String)","u":"createUpdate(java.lang.String)"},{"p":"org.jdbi.v3.core.config","c":"ConfigCustomizer","l":"customize(ConfigRegistry)","u":"customize(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiOtjPostgresExtension","l":"customize(Consumer)","u":"customize(java.util.function.Consumer)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionHandlerCustomizer","l":"customize(ExtensionHandler, Class, Method)","u":"customize(org.jdbi.v3.core.extension.ExtensionHandler,java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.sqlobject","c":"HandlerDecorator","l":"customize(ExtensionHandler, Class, Method)","u":"customize(org.jdbi.v3.core.extension.ExtensionHandler,java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.guice","c":"GuiceJdbiCustomizer","l":"customize(Jdbi)","u":"customize(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.core.spi","c":"JdbiPlugin","l":"customizeConnection(Connection)","u":"customizeConnection(java.sql.Connection)"},{"p":"org.jdbi.v3.core.spi","c":"JdbiPlugin","l":"customizeHandle(Handle)","u":"customizeHandle(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.postgres","c":"PostgresPlugin","l":"customizeHandle(Handle)","u":"customizeHandle(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.cache.caffeine","c":"CaffeineCachePlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.cache.noop","c":"NoopCachePlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.core.config","c":"ConfiguringPlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.core.h2","c":"H2DatabasePlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.core.spi","c":"JdbiPlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.gson2","c":"Gson2Plugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.guava","c":"GuavaPlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.jackson2","c":"Jackson2Plugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.jodatime2","c":"JodaTimePlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.jpa","c":"JpaPlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.json","c":"JsonPlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.moshi","c":"MoshiPlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.postgis","c":"PostgisPlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.postgres","c":"PostgresPlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.sqlite3","c":"SQLitePlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjectPlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.vavr","c":"VavrPlugin","l":"customizeJdbi(Jdbi)","u":"customizeJdbi(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.jodatime2","c":"DateTimeArgumentFactory","l":"DateTimeArgumentFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.jodatime2","c":"DateTimeMapper","l":"DateTimeMapper()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core","c":"HandleCallbackDecorator","l":"decorate(HandleCallback)","u":"decorate(org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.sqlobject","c":"HandlerDecorator","l":"decorateHandler(Handler, Class, Method)","u":"decorateHandler(org.jdbi.v3.sqlobject.Handler,java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.core.statement","c":"DefaultStatementBuilder","l":"DefaultStatementBuilder()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.statement","c":"EmptyHandling","l":"DEFINE_NULL"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindList.EmptyHandling","l":"define(SqlStatement, String)","u":"define(org.jdbi.v3.core.statement.SqlStatement,java.lang.String)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"define(String, Object)","u":"define(java.lang.String,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"define(String, Object)","u":"define(java.lang.String,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"define(String, Object)","u":"define(java.lang.String,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"DefinedAttributeTemplateEngine","l":"DefinedAttributeTemplateEngine()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"defineList(String, List)","u":"defineList(java.lang.String,java.util.List)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"defineList(String, Object...)","u":"defineList(java.lang.String,java.lang.Object...)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"defineMap(Map)","u":"defineMap(java.util.Map)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"defineNamedBindings()"},{"p":"org.jdbi.v3.core.transaction","c":"DelegatingTransactionHandler","l":"DelegatingTransactionHandler(TransactionHandler)","u":"%3Cinit%3E(org.jdbi.v3.core.transaction.TransactionHandler)"},{"p":"org.jdbi.v3.postgres","c":"PgLobApi","l":"deleteLob(long)"},{"p":"org.jdbi.v3.core.statement","c":"StatementExceptions.MessageRendering","l":"DETAIL"},{"p":"org.jdbi.v3.core.argument","c":"DirectArgumentFactory","l":"DirectArgumentFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMappers","l":"disableAccessibleObjectStrategy()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"AccessibleObjectStrategy","l":"DO_NOT_MAKE_ACCESSIBLE"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionFactory.FactoryFlag","l":"DONT_USE_PROXY"},{"p":"org.jdbi.v3.postgres","c":"DurationArgumentFactory","l":"DurationArgumentFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.postgres","c":"DurationColumnMapperFactory","l":"DurationColumnMapperFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.collector","c":"BuiltInCollectorFactory","l":"elementType(Type)","u":"elementType(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.collector","c":"CollectorFactory","l":"elementType(Type)","u":"elementType(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.collector","c":"ElementTypeNotFoundException","l":"ElementTypeNotFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.jdbi.v3.core.collector","c":"ElementTypeNotFoundException","l":"ElementTypeNotFoundException(String, Throwable)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"org.jdbi.v3.core.collector","c":"ElementTypeNotFoundException","l":"ElementTypeNotFoundException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"embeddedPostgres()"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"embeddedPostgres(Consumer)","u":"embeddedPostgres(java.util.function.Consumer)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"enableLeakChecker(boolean)"},{"p":"org.jdbi.v3.jpa","c":"EntityMemberAccessException","l":"EntityMemberAccessException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.jdbi.v3.jpa","c":"EntityMemberAccessException","l":"EntityMemberAccessException(String, Throwable)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"org.jdbi.v3.jpa","c":"EntityMemberAccessException","l":"EntityMemberAccessException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.core.mapper","c":"EnumByNameMapperFactory","l":"EnumByNameMapperFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper","c":"EnumByOrdinalMapperFactory","l":"EnumByOrdinalMapperFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.enums","c":"Enums","l":"Enums()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionHandler","l":"EQUALS_HANDLER"},{"p":"org.jdbi.v3.core","c":"Handle","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core.spi","c":"JdbiPlugin.Singleton","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core","c":"Sql","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"Batch","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"MetaData","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"Script","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"Update","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"ParsedParameters","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"ParsedSql","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.jdbi.v3.commonstext","c":"UseStringSubstitutorTemplateEngine","l":"escape()"},{"p":"org.jdbi.v3.core.statement","c":"Batch","l":"execute()"},{"p":"org.jdbi.v3.core.statement","c":"MetaData","l":"execute()"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"execute()"},{"p":"org.jdbi.v3.core.statement","c":"Script","l":"execute()"},{"p":"org.jdbi.v3.core.statement","c":"Update","l":"execute()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"execute(CharSequence, Object...)","u":"execute(java.lang.CharSequence,java.lang.Object...)"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"execute(ResultProducer)","u":"execute(org.jdbi.v3.core.result.ResultProducer)"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"execute(ResultProducer)","u":"execute(org.jdbi.v3.core.result.ResultProducer)"},{"p":"org.jdbi.v3.core.statement","c":"Update","l":"execute(ResultProducer)","u":"execute(org.jdbi.v3.core.result.ResultProducer)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"execute(String, Object...)","u":"execute(java.lang.String,java.lang.Object...)"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"executeAndGetModCount()"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"executeAndReturnGeneratedKeys(String...)","u":"executeAndReturnGeneratedKeys(java.lang.String...)"},{"p":"org.jdbi.v3.core.statement","c":"Update","l":"executeAndReturnGeneratedKeys(String...)","u":"executeAndReturnGeneratedKeys(java.lang.String...)"},{"p":"org.jdbi.v3.core.statement","c":"Script","l":"executeAsSeparateStatements()"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"executePreparedBatch(String...)","u":"executePreparedBatch(java.lang.String...)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"exposeBinding(Class)","u":"exposeBinding(java.lang.Class)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"exposeBinding(TypeLiteral)","u":"exposeBinding(com.google.inject.TypeLiteral)"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjectFactory","l":"EXTENSION_ID"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionContext","l":"ExtensionContext(ConfigRegistry, ExtensionMethod)","u":"%3Cinit%3E(org.jdbi.v3.core.config.ConfigRegistry,org.jdbi.v3.core.extension.ExtensionMethod)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMethod","l":"ExtensionMethod(Class, Method)","u":"%3Cinit%3E(java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"Extensions()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata","l":"extensionType()"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"externalPostgres(String, Integer, String, String, String)","u":"externalPostgres(java.lang.String,java.lang.Integer,java.lang.String,java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"externalPostgres(String, Integer, String, String, String)","u":"externalPostgres(java.lang.String,java.lang.Integer,java.lang.String,java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"DefaultStatementBuilder","l":"FACTORY"},{"p":"org.jdbi.v3.guava","c":"GuavaArguments","l":"factory()"},{"p":"org.jdbi.v3.guava","c":"GuavaCollectors","l":"factory()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"BeanMapper","l":"factory(Class)","u":"factory(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ConstructorMapper","l":"factory(Class)","u":"factory(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"FieldMapper","l":"factory(Class)","u":"factory(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"BeanMapper","l":"factory(Class, String)","u":"factory(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ConstructorMapper","l":"factory(Class, String)","u":"factory(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"FieldMapper","l":"factory(Class, String)","u":"factory(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ConstructorMapper","l":"factory(Constructor)","u":"factory(java.lang.reflect.Constructor)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ConstructorMapper","l":"factory(Constructor, String)","u":"factory(java.lang.reflect.Constructor,java.lang.String)"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"failFast()"},{"p":"org.jdbi.v3.core.statement","c":"StatementCustomizers","l":"fetchSize(int)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"filter(Predicate)","u":"filter(java.util.function.Predicate)"},{"p":"org.jdbi.v3.core.argument","c":"MapArguments","l":"find(String, StatementContext)","u":"find(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.argument","c":"NamedArgumentFinder","l":"find(String, StatementContext)","u":"find(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findArgumentFor(QualifiedType, Object)","u":"findArgumentFor(org.jdbi.v3.core.qualifier.QualifiedType,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findArgumentFor(Type, Object)","u":"findArgumentFor(java.lang.reflect.Type,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findCollectorFor(Type)","u":"findCollectorFor(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMapperUtil","l":"findColumnIndex(String, List, List, Supplier)","u":"findColumnIndex(java.lang.String,java.util.List,java.util.List,java.util.function.Supplier)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findColumnMapperFor(Class)","u":"findColumnMapperFor(java.lang.Class)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findColumnMapperFor(GenericType)","u":"findColumnMapperFor(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findColumnMapperFor(QualifiedType)","u":"findColumnMapperFor(org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findColumnMapperFor(Type)","u":"findColumnMapperFor(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"JdbiConstructors","l":"findConstructorFor(Class)","u":"findConstructorFor(java.lang.Class)"},{"p":"org.jdbi.v3.core.collector","c":"JdbiCollectors","l":"findElementTypeFor(Type)","u":"findElementTypeFor(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findElementTypeFor(Type)","u":"findElementTypeFor(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"findFactory(Class)","u":"findFactory(java.lang.Class)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"findFirst()"},{"p":"org.jdbi.v3.core.qualifier","c":"Qualifiers","l":"findFor(AnnotatedElement...)","u":"findFor(java.lang.reflect.AnnotatedElement...)"},{"p":"org.jdbi.v3.sqlobject","c":"Handlers","l":"findFor(Class, Method)","u":"findFor(java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"findFor(Class, HandleSupplier)","u":"findFor(java.lang.Class,org.jdbi.v3.core.extension.HandleSupplier)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"findFor(Class)","u":"findFor(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper","c":"Mappers","l":"findFor(Class)","u":"findFor(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMappers","l":"findFor(Class)","u":"findFor(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"findFor(GenericType)","u":"findFor(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.mapper","c":"Mappers","l":"findFor(GenericType)","u":"findFor(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMappers","l":"findFor(GenericType)","u":"findFor(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"findFor(QualifiedType, Object)","u":"findFor(org.jdbi.v3.core.qualifier.QualifiedType,java.lang.Object)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"findFor(QualifiedType)","u":"findFor(org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.core.mapper","c":"Mappers","l":"findFor(QualifiedType)","u":"findFor(org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayTypes","l":"findFor(Type)","u":"findFor(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.collector","c":"JdbiCollectors","l":"findFor(Type)","u":"findFor(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"findFor(Type)","u":"findFor(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.mapper","c":"Mappers","l":"findFor(Type)","u":"findFor(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMappers","l":"findFor(Type)","u":"findFor(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"findFor(Type, Object)","u":"findFor(java.lang.reflect.Type,java.lang.Object)"},{"p":"org.jdbi.v3.core.statement","c":"Binding","l":"findForName(String, StatementContext)","u":"findForName(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"Binding","l":"findForPosition(int)"},{"p":"org.jdbi.v3.core.generic","c":"GenericTypes","l":"findGenericParameter(Type, Class)","u":"findGenericParameter(java.lang.reflect.Type,java.lang.Class)"},{"p":"org.jdbi.v3.core.generic","c":"GenericTypes","l":"findGenericParameter(Type, Class, int)","u":"findGenericParameter(java.lang.reflect.Type,java.lang.Class,int)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findMapperFor(Class)","u":"findMapperFor(java.lang.Class)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findMapperFor(GenericType)","u":"findMapperFor(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findMapperFor(QualifiedType)","u":"findMapperFor(org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findMapperFor(Type)","u":"findMapperFor(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"findMetadata(Class, ExtensionFactory)","u":"findMetadata(java.lang.Class,org.jdbi.v3.core.extension.ExtensionFactory)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"findOne()"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"findOnly()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findRowMapperFor(Class)","u":"findRowMapperFor(java.lang.Class)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findRowMapperFor(GenericType)","u":"findRowMapperFor(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findRowMapperFor(Type)","u":"findRowMapperFor(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"findSqlArrayTypeFor(Type)","u":"findSqlArrayTypeFor(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.locator","c":"ClasspathSqlLocator","l":"findSqlOnClasspath(Class, String)","u":"findSqlOnClasspath(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.core.locator","c":"ClasspathSqlLocator","l":"findSqlOnClasspath(String)","u":"findSqlOnClasspath(java.lang.String)"},{"p":"org.jdbi.v3.stringtemplate4","c":"StringTemplateSqlLocator","l":"findStringTemplate(Class, String)","u":"findStringTemplate(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.stringtemplate4","c":"StringTemplateSqlLocator","l":"findStringTemplate(ClassLoader, String, String)","u":"findStringTemplate(java.lang.ClassLoader,java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.stringtemplate4","c":"StringTemplateSqlLocator","l":"findStringTemplate(String, String)","u":"findStringTemplate(java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.stringtemplate4","c":"StringTemplateSqlLocator","l":"findStringTemplateGroup(Class)","u":"findStringTemplateGroup(java.lang.Class)"},{"p":"org.jdbi.v3.stringtemplate4","c":"StringTemplateSqlLocator","l":"findStringTemplateGroup(ClassLoader, String)","u":"findStringTemplateGroup(java.lang.ClassLoader,java.lang.String)"},{"p":"org.jdbi.v3.stringtemplate4","c":"StringTemplateSqlLocator","l":"findStringTemplateGroup(String)","u":"findStringTemplateGroup(java.lang.String)"},{"p":"org.jdbi.v3.freemarker","c":"FreemarkerSqlLocator","l":"findTemplate(Class, String)","u":"findTemplate(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.freemarker","c":"FreemarkerSqlLocator","l":"findTemplate(Configuration, Class, String)","u":"findTemplate(freemarker.template.Configuration,java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"first()"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"flatMapType(Function>)","u":"flatMapType(java.util.function.Function)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiFlywayMigration","l":"flywayMigration()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"AccessibleObjectStrategy","l":"FORCE_MAKE_ACCESSIBLE"},{"p":"org.jdbi.v3.core.mapper","c":"GetObjectColumnMapperFactory","l":"forClasses(Class...)","u":"forClasses(java.lang.Class...)"},{"p":"org.jdbi.v3.core.argument","c":"SetObjectArgumentFactory","l":"forClasses(Map, Integer>)","u":"forClasses(java.util.Map)"},{"p":"org.jdbi.v3.core.mapper","c":"GetObjectColumnMapperFactory","l":"forClasses(Set>)","u":"forClasses(java.util.Set)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionContext","l":"forConfig(ConfigRegistry)","u":"forConfig(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"forEach(Consumer)","u":"forEach(java.util.function.Consumer)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterator","l":"forEachRemaining(Consumer)","u":"forEachRemaining(java.util.function.Consumer)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"forEachWithCount(Consumer)","u":"forEachWithCount(java.util.function.Consumer)"},{"p":"org.jdbi.v3.core.extension","c":"ConfigCustomizerFactory","l":"forExtensionMethod(Class, Method)","u":"forExtensionMethod(java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionContext","l":"forExtensionMethod(ConfigRegistry, Class, Method)","u":"forExtensionMethod(org.jdbi.v3.core.config.ConfigRegistry,java.lang.Class,java.lang.reflect.Method)"},{"p":"org.jdbi.v3.core.extension","c":"ConfigCustomizerFactory","l":"forExtensionType(Class)","u":"forExtensionType(java.lang.Class)"},{"p":"org.jdbi.v3.core.codec","c":"CodecFactory","l":"forSingleCodec(QualifiedType, Codec)","u":"forSingleCodec(org.jdbi.v3.core.qualifier.QualifiedType,org.jdbi.v3.core.codec.Codec)"},{"p":"org.jdbi.v3.guava.codec","c":"TypeResolvingCodecFactory","l":"forSingleCodec(QualifiedType, Codec)","u":"forSingleCodec(org.jdbi.v3.core.qualifier.QualifiedType,org.jdbi.v3.core.codec.Codec)"},{"p":"org.jdbi.v3.testing.junit5.tc","c":"TestcontainersDatabaseInformation","l":"forTestcontainerClass(Class)","u":"forTestcontainerClass(java.lang.Class)"},{"p":"org.jdbi.v3.json","c":"JsonMapper","l":"forType(Type, ConfigRegistry)","u":"forType(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"JoinRowMapper","l":"forTypes(Type...)","u":"forTypes(java.lang.reflect.Type...)"},{"p":"org.jdbi.v3.freemarker","c":"FreemarkerConfig","l":"FreemarkerConfig()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.freemarker","c":"FreemarkerEngine","l":"FreemarkerEngine()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.json","c":"JsonMapper.TypedJsonMapper","l":"fromJson(String, ConfigRegistry)","u":"fromJson(java.lang.String,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.json","c":"JsonMapper","l":"fromJson(Type, String, ConfigRegistry)","u":"fromJson(java.lang.reflect.Type,java.lang.String,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.generator","c":"GenerateSqlObjectProcessor","l":"GENERATE_SQL_OBJECT_ANNOTATION_NAME"},{"p":"org.jdbi.v3.generator","c":"GenerateSqlObjectProcessor","l":"GenerateSqlObjectProcessor()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper","c":"GenericMapMapperFactory","l":"GenericMapMapperFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core","c":"HandleScope","l":"get()"},{"p":"org.jdbi.v3.core.config","c":"ConfigRegistry","l":"get(Class)","u":"get(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper","c":"JoinRow","l":"get(Class)","u":"get(java.lang.Class)"},{"p":"org.jdbi.v3.cache.caffeine","c":"CaffeineCache","l":"get(K)"},{"p":"org.jdbi.v3.cache.caffeine","c":"CaffeineLoadingCache","l":"get(K)"},{"p":"org.jdbi.v3.cache.noop","c":"NoopCache","l":"get(K)"},{"p":"org.jdbi.v3.core.cache","c":"JdbiCache","l":"get(K)"},{"p":"org.jdbi.v3.core.mapper","c":"JoinRow","l":"get(Type)","u":"get(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.codec","c":"Codec","l":"getArgumentFunction()"},{"p":"org.jdbi.v3.core.codec","c":"Codec","l":"getArgumentFunction(ConfigRegistry)","u":"getArgumentFunction(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayTypes","l":"getArgumentStrategy()"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayType","l":"getArrayElementClass()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"getAttribute(String)","u":"getAttribute(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getAttribute(String)","u":"getAttribute(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"getAttributes()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getAttributes()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getBinding()"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getBytes(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getBytes(String)","u":"getBytes(java.lang.String)"},{"p":"org.jdbi.v3.core.mapper","c":"MapMappers","l":"getCaseChange()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMappers","l":"getCaseChange()"},{"p":"org.jdbi.v3.core","c":"ConnectionFactory","l":"getCleanableFor(Connection)","u":"getCleanableFor(java.sql.Connection)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"getCoalesceNullPrimitivesToDefaults()"},{"p":"org.jdbi.v3.vavr","c":"TupleMappers","l":"getColumn(int)"},{"p":"org.jdbi.v3.core.result","c":"RowView","l":"getColumn(int, Class)","u":"getColumn(int,java.lang.Class)"},{"p":"org.jdbi.v3.core.result","c":"RowView","l":"getColumn(int, GenericType)","u":"getColumn(int,org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.result","c":"RowView","l":"getColumn(int, QualifiedType)","u":"getColumn(int,org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.core.result","c":"RowView","l":"getColumn(int, Type)","u":"getColumn(int,java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.result","c":"RowView","l":"getColumn(String, Class)","u":"getColumn(java.lang.String,java.lang.Class)"},{"p":"org.jdbi.v3.core.result","c":"RowView","l":"getColumn(String, GenericType)","u":"getColumn(java.lang.String,org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.result","c":"RowView","l":"getColumn(String, QualifiedType)","u":"getColumn(java.lang.String,org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.core.result","c":"RowView","l":"getColumn(String, Type)","u":"getColumn(java.lang.String,java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.codec","c":"Codec","l":"getColumnMapper()"},{"p":"org.jdbi.v3.core.codec","c":"Codec","l":"getColumnMapper(ConfigRegistry)","u":"getColumnMapper(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMappers","l":"getColumnNameMatchers()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMapperUtil","l":"getColumnNames(ResultSet)","u":"getColumnNames(java.sql.ResultSet)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMapperUtil","l":"getColumnNames(ResultSet, UnaryOperator)","u":"getColumnNames(java.sql.ResultSet,java.util.function.UnaryOperator)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getCompletionMoment()"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"getConfig()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionContext","l":"getConfig()"},{"p":"org.jdbi.v3.core.extension","c":"HandleSupplier","l":"getConfig()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"getConfig()"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"getConfig()"},{"p":"org.jdbi.v3.core.statement","c":"Batch","l":"getConfig()"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"getConfig()"},{"p":"org.jdbi.v3.core.statement","c":"MetaData","l":"getConfig()"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"getConfig()"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"getConfig()"},{"p":"org.jdbi.v3.core.statement","c":"Script","l":"getConfig()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"getConfig()"},{"p":"org.jdbi.v3.core.statement","c":"Update","l":"getConfig()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getConfig()"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"getConfig(Class)","u":"getConfig(java.lang.Class)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getConfig(Class)","u":"getConfig(java.lang.Class)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionFactory","l":"getConfigCustomizerFactories(ConfigRegistry)","u":"getConfigCustomizerFactories(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjectFactory","l":"getConfigCustomizerFactories(ConfigRegistry)","u":"getConfigCustomizerFactories(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"getConnection()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getConnection()"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable.ResultIteratorDelegate","l":"getContext()"},{"p":"org.jdbi.v3.core.result","c":"ResultIterator","l":"getContext()"},{"p":"org.jdbi.v3.core.statement","c":"Batch","l":"getContext()"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"getContext()"},{"p":"org.jdbi.v3.core.statement","c":"MetaData","l":"getContext()"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"getContext()"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"getContext()"},{"p":"org.jdbi.v3.core.statement","c":"Script","l":"getContext()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"getContext()"},{"p":"org.jdbi.v3.core.statement","c":"Update","l":"getContext()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindList.EmptyHandling","l":"getCoreImpl()"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getDate(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getDate(String)","u":"getDate(java.lang.String)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMapper","l":"getDefaultColumnMapper()"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjects","l":"getDefaultParameterCustomizerFactory()"},{"p":"org.jdbi.v3.core.enums","c":"Enums","l":"getDefaultStrategy()"},{"p":"org.jdbi.v3.jackson2","c":"Jackson2Config","l":"getDeserializationView()"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getDouble(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getDouble(String)","u":"getDouble(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getDoubleValue(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getDoubleValue(String)","u":"getDoubleValue(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getElapsedTime(ChronoUnit)","u":"getElapsedTime(java.time.temporal.ChronoUnit)"},{"p":"org.jdbi.v3.core.generic","c":"GenericTypes","l":"getErasedType(Type)","u":"getErasedType(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getExceptionMoment()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getExecutionMoment()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionFactory","l":"getExtensionHandlerCustomizers(ConfigRegistry)","u":"getExtensionHandlerCustomizers(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjectFactory","l":"getExtensionHandlerCustomizers(ConfigRegistry)","u":"getExtensionHandlerCustomizers(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionFactory","l":"getExtensionHandlerFactories(ConfigRegistry)","u":"getExtensionHandlerFactories(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjectFactory","l":"getExtensionHandlerFactories(ConfigRegistry)","u":"getExtensionHandlerFactories(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionContext","l":"getExtensionMethod()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"getExtensionMethod()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getExtensionMethod()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata","l":"getExtensionMethods()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata.Builder","l":"getExtensionType()"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"getFactories()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionFactory","l":"getFactoryFlags()"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getFloat(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getFloat(String)","u":"getFloat(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getFloatValue(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getFloatValue(String)","u":"getFloatValue(java.lang.String)"},{"p":"org.jdbi.v3.freemarker","c":"FreemarkerConfig","l":"getFreemarkerConfiguration()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getGeneratedKeysColumnNames()"},{"p":"org.jdbi.v3.gson2","c":"Gson2Config","l":"getGson()"},{"p":"org.jdbi.v3.core.extension","c":"HandleSupplier","l":"getHandle()"},{"p":"org.jdbi.v3.core.statement","c":"Batch","l":"getHandle()"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"getHandle()"},{"p":"org.jdbi.v3.core.statement","c":"MetaData","l":"getHandle()"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"getHandle()"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"getHandle()"},{"p":"org.jdbi.v3.core.statement","c":"Script","l":"getHandle()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"getHandle()"},{"p":"org.jdbi.v3.core.statement","c":"Update","l":"getHandle()"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObject","l":"getHandle()"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"getHandle()"},{"p":"org.jdbi.v3.spring5","c":"JdbiUtil","l":"getHandle(Jdbi)","u":"getHandle(org.jdbi.v3.core.Jdbi)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"getHandleCallbackDecorator()"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"getHandleScope()"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayTypes","l":"getInferenceInterceptors()"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"getInferenceInterceptors()"},{"p":"org.jdbi.v3.core.mapper","c":"RowMappers","l":"getInferenceInterceptors()"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getInt(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getInt(String)","u":"getInt(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getIntValue(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getIntValue(String)","u":"getIntValue(java.lang.String)"},{"p":"org.jdbi.v3.core.extension","c":"HandleSupplier","l":"getJdbi()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"getJdbi()"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"getJdbi()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"getJdbi()"},{"p":"org.jdbi.v3.json","c":"JsonConfig","l":"getJsonMapper()"},{"p":"org.jdbi.v3.core.mapper","c":"MapEntryConfig","l":"getKeyColumn()"},{"p":"org.jdbi.v3.core.mapper","c":"MapEntryMappers","l":"getKeyColumn()"},{"p":"org.jdbi.v3.vavr","c":"TupleMappers","l":"getKeyColumn()"},{"p":"org.jdbi.v3.core.statement","c":"StatementExceptions","l":"getLengthLimit()"},{"p":"org.jdbi.v3.core","c":"Handles","l":"getListeners()"},{"p":"org.jdbi.v3.postgres","c":"PostgresTypes","l":"getLobApi()"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getLong(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getLong(String)","u":"getLong(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getLongValue(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getLongValue(String)","u":"getLongValue(java.lang.String)"},{"p":"org.jdbi.v3.jackson2","c":"Jackson2Config","l":"getMapper()"},{"p":"org.jdbi.v3.core.mapper","c":"GenericMapMapperFactory","l":"getMapperForValueType(Class, ConfigRegistry)","u":"getMapperForValueType(java.lang.Class,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"GenericMapMapperFactory","l":"getMapperForValueType(GenericType, ConfigRegistry)","u":"getMapperForValueType(org.jdbi.v3.core.generic.GenericType,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.statement","c":"StatementException","l":"getMessage()"},{"p":"org.jdbi.v3.core.statement","c":"StatementExceptions","l":"getMessageRendering()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMethod","l":"getMethod()"},{"p":"org.jdbi.v3.moshi","c":"MoshiConfig","l":"getMoshi()"},{"p":"org.jdbi.v3.core.argument","c":"MapArguments","l":"getNames()"},{"p":"org.jdbi.v3.core.argument","c":"NamedArgumentFinder","l":"getNames()"},{"p":"org.jdbi.v3.core.statement","c":"Binding","l":"getNames()"},{"p":"org.jdbi.v3.spring5","c":"JdbiRepositoryFactoryBean","l":"getObject()"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getObject(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getObject(int, Class)","u":"getObject(int,java.lang.Class)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getObject(String)","u":"getObject(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getObject(String, Class)","u":"getObject(java.lang.String,java.lang.Class)"},{"p":"org.jdbi.v3.spring5","c":"JdbiFactoryBean","l":"getObjectType()"},{"p":"org.jdbi.v3.spring5","c":"JdbiRepositoryFactoryBean","l":"getObjectType()"},{"p":"org.jdbi.v3.core.statement","c":"ParsedParameters","l":"getParameterCount()"},{"p":"org.jdbi.v3.core.statement","c":"ParsedParameters","l":"getParameterNames()"},{"p":"org.jdbi.v3.core.statement","c":"ParsedSql","l":"getParameters()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getParsedSql()"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"getQualifiers()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"getQueryTimeout()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getRawSql()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getRenderedSql()"},{"p":"org.jdbi.v3.core.locator","c":"ClasspathSqlLocator","l":"getResource(ClassLoader, String)","u":"getResource(java.lang.ClassLoader,java.lang.String)"},{"p":"org.jdbi.v3.core.locator","c":"ClasspathSqlLocator","l":"getResource(String)","u":"getResource(java.lang.String)"},{"p":"org.jdbi.v3.core.locator","c":"ClasspathSqlLocator","l":"getResourceOnClasspath(ClassLoader, String)","u":"getResourceOnClasspath(java.lang.ClassLoader,java.lang.String)"},{"p":"org.jdbi.v3.core.locator","c":"ClasspathSqlLocator","l":"getResourceOnClasspath(String)","u":"getResourceOnClasspath(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getResultSet()"},{"p":"org.jdbi.v3.core.result","c":"RowView","l":"getRow(Class)","u":"getRow(java.lang.Class)"},{"p":"org.jdbi.v3.core.result","c":"RowView","l":"getRow(GenericType)","u":"getRow(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.result","c":"RowView","l":"getRow(Type)","u":"getRow(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getRowSet(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getRowSet(String)","u":"getRowSet(java.lang.String)"},{"p":"org.jdbi.v3.jackson2","c":"Jackson2Config","l":"getSerializationView()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"getSharedHandle()"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getShort(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getShort(String)","u":"getShort(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"StatementException","l":"getShortMessage()"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getShortValue(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getShortValue(String)","u":"getShortValue(java.lang.String)"},{"p":"org.jdbi.v3.testing.junit5.tc","c":"TestcontainersDatabaseInformation","l":"getShutdownWaitTimeInSeconds()"},{"p":"org.jdbi.v3.core.statement","c":"ParsedSql","l":"getSql()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getSqlArrayArgumentStrategy()"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjects","l":"getSqlLocator()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"getSqlLogger()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"getSqlParser()"},{"p":"org.jdbi.v3.core.argument","c":"NullArgument","l":"getSqlType()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"getStatement()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"getStatementBuilder()"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"getStatementBuilderFactory()"},{"p":"org.jdbi.v3.core.statement","c":"StatementException","l":"getStatementContext()"},{"p":"org.jdbi.v3.core.statement","c":"Script","l":"getStatements()"},{"p":"org.jdbi.v3.cache.caffeine","c":"CaffeineCache","l":"getStats()"},{"p":"org.jdbi.v3.cache.caffeine","c":"CaffeineLoadingCache","l":"getStats()"},{"p":"org.jdbi.v3.cache.noop","c":"NoopCache","l":"getStats()"},{"p":"org.jdbi.v3.core.cache","c":"JdbiCache","l":"getStats()"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getString(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getString(String)","u":"getString(java.lang.String)"},{"p":"org.jdbi.v3.generator","c":"GenerateSqlObjectProcessor","l":"getSupportedSourceVersion()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"getTemplateEngine()"},{"p":"org.jdbi.v3.core.argument","c":"ObjectFieldArguments","l":"getter(String, ConfigRegistry)","u":"getter(java.lang.String,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.argument","c":"ObjectMethodArguments","l":"getter(String, ConfigRegistry)","u":"getter(java.lang.String,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getTimestamp(int)"},{"p":"org.jdbi.v3.core.statement","c":"OutParameters","l":"getTimestamp(String)","u":"getTimestamp(java.lang.String)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"TimestampedConfig","l":"getTimezone()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"getTimingCollector()"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"getTransactionHandler()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"getTransactionIsolationLevel()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMethod","l":"getType()"},{"p":"org.jdbi.v3.core.generic","c":"GenericType","l":"getType()"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"getType()"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayType","l":"getTypeName()"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"getUntypedNullArgument()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"getUrl()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExternalPostgresExtension","l":"getUrl()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiGenericExtension","l":"getUrl()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiH2Extension","l":"getUrl()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiOtjPostgresExtension","l":"getUrl()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiPostgresExtension","l":"getUrl()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiSqliteExtension","l":"getUrl()"},{"p":"org.jdbi.v3.testing.junit5.tc","c":"JdbiTestcontainersExtension","l":"getUrl()"},{"p":"org.jdbi.v3.core.mapper","c":"MapEntryConfig","l":"getValueColumn()"},{"p":"org.jdbi.v3.core.mapper","c":"MapEntryMappers","l":"getValueColumn()"},{"p":"org.jdbi.v3.vavr","c":"TupleMappers","l":"getValueColumn()"},{"p":"org.jdbi.v3.cache.caffeine","c":"CaffeineCache","l":"getWithLoader(K, JdbiCacheLoader)","u":"getWithLoader(K,org.jdbi.v3.core.cache.JdbiCacheLoader)"},{"p":"org.jdbi.v3.cache.caffeine","c":"CaffeineLoadingCache","l":"getWithLoader(K, JdbiCacheLoader)","u":"getWithLoader(K,org.jdbi.v3.core.cache.JdbiCacheLoader)"},{"p":"org.jdbi.v3.cache.noop","c":"NoopCache","l":"getWithLoader(K, JdbiCacheLoader)","u":"getWithLoader(K,org.jdbi.v3.core.cache.JdbiCacheLoader)"},{"p":"org.jdbi.v3.core.cache","c":"JdbiCache","l":"getWithLoader(K, JdbiCacheLoader)","u":"getWithLoader(K,org.jdbi.v3.core.cache.JdbiCacheLoader)"},{"p":"org.jdbi.v3.gson2","c":"Gson2Config","l":"Gson2Config()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.gson2","c":"Gson2Plugin","l":"Gson2Plugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.guava","c":"GuavaPlugin","l":"GuavaPlugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"h2()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"h2()"},{"p":"org.jdbi.v3.core.h2","c":"H2DatabasePlugin","l":"H2DatabasePlugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core","c":"HandleListener","l":"handleClosed(Handle)","u":"handleClosed(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core","c":"HandleListener","l":"handleCreated(Handle)","u":"handleCreated(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.sqlobject","c":"HandlerDecorators","l":"HandlerDecorators()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.sqlobject","c":"Handlers","l":"Handlers()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core","c":"Handles","l":"Handles()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"hasExtensionFor(Class)","u":"hasExtensionFor(java.lang.Class)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionHandler","l":"HASHCODE_HANDLER"},{"p":"org.jdbi.v3.core","c":"Handle","l":"hashCode()"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"hashCode()"},{"p":"org.jdbi.v3.core.spi","c":"JdbiPlugin.Singleton","l":"hashCode()"},{"p":"org.jdbi.v3.core","c":"Sql","l":"hashCode()"},{"p":"org.jdbi.v3.core.statement","c":"Batch","l":"hashCode()"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"hashCode()"},{"p":"org.jdbi.v3.core.statement","c":"MetaData","l":"hashCode()"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"hashCode()"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"hashCode()"},{"p":"org.jdbi.v3.core.statement","c":"Script","l":"hashCode()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"hashCode()"},{"p":"org.jdbi.v3.core.statement","c":"Update","l":"hashCode()"},{"p":"org.jdbi.v3.core.statement","c":"ParsedParameters","l":"hashCode()"},{"p":"org.jdbi.v3.core.statement","c":"ParsedSql","l":"hashCode()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"hashCode()"},{"p":"org.jdbi.v3.core.statement","c":"HashPrefixSqlParser","l":"HashPrefixSqlParser()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.statement","c":"HashPrefixSqlParser","l":"HashPrefixSqlParser(JdbiCacheBuilder)","u":"%3Cinit%3E(org.jdbi.v3.core.cache.JdbiCacheBuilder)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable.ResultIteratorDelegate","l":"hasNext()"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"hasQualifier(Class)","u":"hasQualifier(java.lang.Class)"},{"p":"org.jdbi.v3.postgres","c":"HStoreArgumentFactory","l":"HStoreArgumentFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.postgres","c":"HStoreColumnMapper","l":"HStoreColumnMapper()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.extension.annotation","c":"UseExtensionHandler","l":"id()"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"importBinding(Class)","u":"importBinding(java.lang.Class)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"importBinding(LinkedBindingBuilder, Class)","u":"importBinding(com.google.inject.binder.LinkedBindingBuilder,java.lang.Class)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"importBinding(LinkedBindingBuilder, TypeLiteral)","u":"importBinding(com.google.inject.binder.LinkedBindingBuilder,com.google.inject.TypeLiteral)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"importBinding(TypeLiteral)","u":"importBinding(com.google.inject.TypeLiteral)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"importBindingLoosely(Class)","u":"importBindingLoosely(java.lang.Class)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"importBindingLoosely(LinkedBindingBuilder, Class)","u":"importBindingLoosely(com.google.inject.binder.LinkedBindingBuilder,java.lang.Class)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"importBindingLoosely(LinkedBindingBuilder, TypeLiteral)","u":"importBindingLoosely(com.google.inject.binder.LinkedBindingBuilder,com.google.inject.TypeLiteral)"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"importBindingLoosely(TypeLiteral)","u":"importBindingLoosely(com.google.inject.TypeLiteral)"},{"p":"org.jdbi.v3.postgres","c":"InetArgumentFactory","l":"InetArgumentFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMapper","l":"init(ConfigRegistry)","u":"init(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMapper","l":"init(ConfigRegistry)","u":"init(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.generator","c":"GenerateSqlObjectProcessor","l":"init(ProcessingEnvironment)","u":"init(javax.annotation.processing.ProcessingEnvironment)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtensionInitializer","l":"initialize(DataSource, Handle)","u":"initialize(javax.sql.DataSource,org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiFlywayMigration","l":"initialize(DataSource, Handle)","u":"initialize(javax.sql.DataSource,org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.argument","c":"InputStreamArgument","l":"InputStreamArgument(InputStream, int, boolean)","u":"%3Cinit%3E(java.io.InputStream,int,boolean)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"installPlugin(JdbiPlugin)","u":"installPlugin(org.jdbi.v3.core.spi.JdbiPlugin)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"installPlugins()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"installPlugins()"},{"p":"org.jdbi.v3.core.argument","c":"BuiltInArgumentFactory","l":"INSTANCE"},{"p":"org.jdbi.v3.cache.caffeine","c":"CaffeineCacheBuilder","l":"instance()"},{"p":"org.jdbi.v3.freemarker","c":"FreemarkerEngine","l":"instance()"},{"p":"org.jdbi.v3.testing.junit5.tc","c":"JdbiTestcontainersExtension","l":"instance(JdbcDatabaseContainer)","u":"instance(org.testcontainers.containers.JdbcDatabaseContainer)"},{"p":"org.jdbi.v3.testing.junit5.tc","c":"JdbiTestcontainersExtension","l":"instance(TestcontainersDatabaseInformation, JdbcDatabaseContainer)","u":"instance(org.jdbi.v3.testing.junit5.tc.TestcontainersDatabaseInformation,org.testcontainers.containers.JdbcDatabaseContainer)"},{"p":"org.jdbi.v3.core.interceptor","c":"JdbiInterceptor","l":"intercept(S, JdbiInterceptionChain)","u":"intercept(S,org.jdbi.v3.core.interceptor.JdbiInterceptionChain)"},{"p":"org.jdbi.v3.core.transaction","c":"CMTTransactionHandler","l":"inTransaction(Handle, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.Handle,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core.transaction","c":"DelegatingTransactionHandler","l":"inTransaction(Handle, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.Handle,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core.transaction","c":"LocalTransactionHandler","l":"inTransaction(Handle, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.Handle,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core.transaction","c":"SerializableTransactionRunner","l":"inTransaction(Handle, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.Handle,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionHandler","l":"inTransaction(Handle, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.Handle,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core.transaction","c":"CMTTransactionHandler","l":"inTransaction(Handle, TransactionIsolationLevel, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.Handle,org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core.transaction","c":"DelegatingTransactionHandler","l":"inTransaction(Handle, TransactionIsolationLevel, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.Handle,org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core.transaction","c":"LocalTransactionHandler","l":"inTransaction(Handle, TransactionIsolationLevel, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.Handle,org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core.transaction","c":"SerializableTransactionRunner","l":"inTransaction(Handle, TransactionIsolationLevel, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.Handle,org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionHandler","l":"inTransaction(Handle, TransactionIsolationLevel, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.Handle,org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core.async","c":"AbstractJdbiExecutor","l":"inTransaction(HandleCallback)","u":"inTransaction(org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core.async","c":"JdbiExecutor","l":"inTransaction(HandleCallback)","u":"inTransaction(org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"inTransaction(HandleCallback)","u":"inTransaction(org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"inTransaction(HandleCallback)","u":"inTransaction(org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"TransactionalCallback","l":"inTransaction(T)"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"Transactional","l":"inTransaction(TransactionalCallback)","u":"inTransaction(org.jdbi.v3.sqlobject.transaction.TransactionalCallback)"},{"p":"org.jdbi.v3.core.async","c":"AbstractJdbiExecutor","l":"inTransaction(TransactionIsolationLevel, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core.async","c":"JdbiExecutor","l":"inTransaction(TransactionIsolationLevel, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"inTransaction(TransactionIsolationLevel, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"inTransaction(TransactionIsolationLevel, HandleCallback)","u":"inTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"Transactional","l":"inTransaction(TransactionIsolationLevel, TransactionalCallback)","u":"inTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.sqlobject.transaction.TransactionalCallback)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionIsolationLevel","l":"intValue()"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"invoke()"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"invoke(Consumer)","u":"invoke(java.util.function.Consumer)"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"invoke(Function)","u":"invoke(java.util.function.Function)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionHandler","l":"invoke(HandleSupplier, Object, Object...)","u":"invoke(org.jdbi.v3.core.extension.HandleSupplier,java.lang.Object,java.lang.Object...)"},{"p":"org.jdbi.v3.sqlobject","c":"Handler","l":"invoke(HandleSupplier, Object, Object...)","u":"invoke(org.jdbi.v3.core.extension.HandleSupplier,java.lang.Object,java.lang.Object...)"},{"p":"org.jdbi.v3.sqlobject","c":"Handler","l":"invoke(Object, Object[], HandleSupplier)","u":"invoke(java.lang.Object,java.lang.Object[],org.jdbi.v3.core.extension.HandleSupplier)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMetadata.ExtensionHandlerInvoker","l":"invoke(Object...)","u":"invoke(java.lang.Object...)"},{"p":"org.jdbi.v3.core.extension","c":"HandleSupplier","l":"invokeInContext(ExtensionContext, Callable)","u":"invokeInContext(org.jdbi.v3.core.extension.ExtensionContext,java.util.concurrent.Callable)"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"isAllowProxy()"},{"p":"org.jdbi.v3.core.generic","c":"GenericTypes","l":"isArray(Type)","u":"isArray(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"isAttachAllStatementsForCleanup()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"isAttachCallbackStatementsForCleanup()"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"isBindingNullToPrimitivesPermitted()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"isClean()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"isClosed()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"isConcurrentUpdatable()"},{"p":"org.jdbi.v3.core.statement","c":"Binding","l":"isEmpty()"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"isFailFast()"},{"p":"org.jdbi.v3.stringtemplate4","c":"StringTemplates","l":"isFailOnMissingAttribute()"},{"p":"org.jdbi.v3.core","c":"Handles","l":"isForceEndTransactions()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"isInTransaction()"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"Transactional","l":"isInTransaction()"},{"p":"org.jdbi.v3.core.transaction","c":"CMTTransactionHandler","l":"isInTransaction(Handle)","u":"isInTransaction(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"DelegatingTransactionHandler","l":"isInTransaction(Handle)","u":"isInTransaction(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"LocalTransactionHandler","l":"isInTransaction(Handle)","u":"isInTransaction(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionHandler","l":"isInTransaction(Handle)","u":"isInTransaction(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.statement","c":"ParsedParameters","l":"isPositional()"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"isPreparedArgumentsEnabled()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"isReadOnly()"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"isReturningGeneratedKeys()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"isScriptStatementsNeedSemicolon()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMappers","l":"isStrictMatching()"},{"p":"org.jdbi.v3.core.generic","c":"GenericTypes","l":"isSuperType(Type, Type)","u":"isSuperType(java.lang.reflect.Type,java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"isUnusedBindingAllowed()"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"iterator()"},{"p":"org.jdbi.v3.jackson2","c":"Jackson2Config","l":"Jackson2Config()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.jackson2","c":"Jackson2Plugin","l":"Jackson2Plugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.postgres","c":"JavaTimeArgumentFactory","l":"JavaTimeArgumentFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.postgres","c":"JavaTimeMapperFactory","l":"JavaTimeMapperFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.argument","c":"JavaTimeZoneIdArgumentFactory","l":"JavaTimeZoneIdArgumentFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiConfigurationModule","l":"jdbiBinder()"},{"p":"org.jdbi.v3.guice","c":"AbstractJdbiDefinitionModule","l":"jdbiBinder()"},{"p":"org.jdbi.v3.guice","c":"JdbiBinder","l":"jdbiBinder()"},{"p":"org.jdbi.v3.core.collector","c":"JdbiCollectors","l":"JdbiCollectors()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.spring5","c":"JdbiFactoryBean","l":"JdbiFactoryBean()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.spring5","c":"JdbiFactoryBean","l":"JdbiFactoryBean(DataSource)","u":"%3Cinit%3E(javax.sql.DataSource)"},{"p":"org.jdbi.v3.core.mapper.freebuilder","c":"JdbiFreeBuilders","l":"JdbiFreeBuilders()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiGenericExtension","l":"JdbiGenericExtension(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiH2Extension","l":"JdbiH2Extension()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiH2Extension","l":"JdbiH2Extension(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.jdbi.v3.core.mapper.immutables","c":"JdbiImmutables","l":"JdbiImmutables()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.interceptor","c":"JdbiInterceptionChainHolder","l":"JdbiInterceptionChainHolder()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.interceptor","c":"JdbiInterceptionChainHolder","l":"JdbiInterceptionChainHolder(Function)","u":"%3Cinit%3E(java.util.function.Function)"},{"p":"org.jdbi.v3.core.interceptor","c":"JdbiInterceptionChainHolder","l":"JdbiInterceptionChainHolder(JdbiInterceptionChainHolder)","u":"%3Cinit%3E(org.jdbi.v3.core.interceptor.JdbiInterceptionChainHolder)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiOtjPostgresExtension","l":"JdbiOtjPostgresExtension()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiPostgresExtension","l":"JdbiPostgresExtension()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.spring5","c":"JdbiRepository","l":"jdbiQualifier()"},{"p":"org.jdbi.v3.spring5","c":"JdbiRepositoryFactoryBean","l":"JdbiRepositoryFactoryBean()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.spring5","c":"JdbiRepositoryRegistrar","l":"JdbiRepositoryRegistrar()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"JdbiRule()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiSqliteExtension","l":"JdbiSqliteExtension()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.jodatime2","c":"JodaTimePlugin","l":"JodaTimePlugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.jpa","c":"JpaMapperFactory","l":"JpaMapperFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.jpa","c":"JpaPlugin","l":"JpaPlugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.json","c":"JsonConfig","l":"JsonConfig()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.json","c":"JsonPlugin","l":"JsonPlugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"Definition","l":"key()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindMap","l":"keys()"},{"p":"org.jdbi.v3.postgres","c":"LargeObjectException","l":"LargeObjectException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.core","c":"Sql","l":"length()"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"list()"},{"p":"org.jdbi.v3.core.result","c":"BatchResultIterable","l":"listPerBatch()"},{"p":"org.jdbi.v3.core.mapper","c":"CaseStrategy","l":"LOCALE_LOWER"},{"p":"org.jdbi.v3.core.mapper","c":"CaseStrategy","l":"LOCALE_UPPER"},{"p":"org.jdbi.v3.core.transaction","c":"LocalTransactionHandler","l":"LocalTransactionHandler()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.sqlobject.locator","c":"AnnotationSqlLocator","l":"locate(Class, Method, ConfigRegistry)","u":"locate(java.lang.Class,java.lang.reflect.Method,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.sqlobject.locator","c":"SqlLocator","l":"locate(Class, Method, ConfigRegistry)","u":"locate(java.lang.Class,java.lang.reflect.Method,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.sqlobject.locator","c":"SqlObjectClasspathSqlLocator","l":"locate(Class, Method, ConfigRegistry)","u":"locate(java.lang.Class,java.lang.reflect.Method,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.locator","c":"ClasspathSqlLocator","l":"locate(Class, String)","u":"locate(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.freemarker","c":"FreemarkerSqlLocator","l":"locate(Class, String)","u":"locate(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.core.locator","c":"ClasspathSqlLocator","l":"locate(String)","u":"locate(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"Slf4JSqlLogger","l":"logAfterExecution(StatementContext)","u":"logAfterExecution(org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"SqlLogger","l":"logAfterExecution(StatementContext)","u":"logAfterExecution(org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"SqlLogger","l":"logBeforeExecution(StatementContext)","u":"logBeforeExecution(org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"Slf4JSqlLogger","l":"logException(StatementContext, SQLException)","u":"logException(org.jdbi.v3.core.statement.StatementContext,java.sql.SQLException)"},{"p":"org.jdbi.v3.core.statement","c":"SqlLogger","l":"logException(StatementContext, SQLException)","u":"logException(org.jdbi.v3.core.statement.StatementContext,java.sql.SQLException)"},{"p":"org.jdbi.v3.core.mapper","c":"CaseStrategy","l":"LOWER"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMappers","l":"makeAccessible(T)"},{"p":"org.jdbi.v3.core.annotation","c":"JdbiProperty","l":"map()"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"map(ColumnMapper)","u":"map(org.jdbi.v3.core.mapper.ColumnMapper)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"map(ColumnMapper)","u":"map(org.jdbi.v3.core.mapper.ColumnMapper)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"map(Function)","u":"map(java.util.function.Function)"},{"p":"org.jdbi.v3.core.statement","c":"CallableStatementMapper","l":"map(int, CallableStatement)","u":"map(int,java.sql.CallableStatement)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMapper","l":"map(ResultSet, int, StatementContext)","u":"map(java.sql.ResultSet,int,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.jodatime2","c":"DateTimeMapper","l":"map(ResultSet, int, StatementContext)","u":"map(java.sql.ResultSet,int,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.postgres","c":"HStoreColumnMapper","l":"map(ResultSet, int, StatementContext)","u":"map(java.sql.ResultSet,int,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper","c":"JoinRowMapper","l":"map(ResultSet, StatementContext)","u":"map(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper","c":"MapEntryMapper","l":"map(ResultSet, StatementContext)","u":"map(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper","c":"MapMapper","l":"map(ResultSet, StatementContext)","u":"map(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ConstructorMapper","l":"map(ResultSet, StatementContext)","u":"map(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"FieldMapper","l":"map(ResultSet, StatementContext)","u":"map(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMapper","l":"map(ResultSet, StatementContext)","u":"map(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper","c":"RowViewMapper","l":"map(ResultSet, StatementContext)","u":"map(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper","c":"SingleColumnMapper","l":"map(ResultSet, StatementContext)","u":"map(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.jpa","c":"JpaMapper","l":"map(ResultSet, StatementContext)","u":"map(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMapper","l":"map(ResultSet, String, StatementContext)","u":"map(java.sql.ResultSet,java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"map(RowMapper)","u":"map(org.jdbi.v3.core.mapper.RowMapper)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"map(RowMapper)","u":"map(org.jdbi.v3.core.mapper.RowMapper)"},{"p":"org.jdbi.v3.core.mapper","c":"RowViewMapper","l":"map(RowView)","u":"map(org.jdbi.v3.core.result.RowView)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"map(RowViewMapper)","u":"map(org.jdbi.v3.core.mapper.RowViewMapper)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"map(RowViewMapper)","u":"map(org.jdbi.v3.core.mapper.RowViewMapper)"},{"p":"org.jdbi.v3.core.argument","c":"MapArguments","l":"MapArguments(Map)","u":"%3Cinit%3E(java.util.Map)"},{"p":"org.jdbi.v3.core.mapper","c":"MapEntryMappers","l":"MapEntryMappers()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper","c":"MapMapper","l":"MapMapper()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper","c":"MapMapper","l":"MapMapper(boolean)","u":"%3Cinit%3E(boolean)"},{"p":"org.jdbi.v3.core.mapper","c":"MapMappers","l":"MapMappers()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper","c":"Mappers","l":"Mappers()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper","c":"MappingException","l":"MappingException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.jdbi.v3.core.mapper","c":"MappingException","l":"MappingException(String, Throwable)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"org.jdbi.v3.core.mapper","c":"MappingException","l":"MappingException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"mapTo(Class)","u":"mapTo(java.lang.Class)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"mapTo(Class)","u":"mapTo(java.lang.Class)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"mapTo(GenericType)","u":"mapTo(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"mapTo(GenericType)","u":"mapTo(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"mapTo(QualifiedType)","u":"mapTo(org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"mapTo(QualifiedType)","u":"mapTo(org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"mapTo(Type)","u":"mapTo(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"mapTo(Type)","u":"mapTo(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"mapToBean(Class)","u":"mapToBean(java.lang.Class)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"mapToBean(Class)","u":"mapToBean(java.lang.Class)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"mapToMap()"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"mapToMap()"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"mapToMap(Class)","u":"mapToMap(java.lang.Class)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"mapToMap(Class)","u":"mapToMap(java.lang.Class)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"mapToMap(GenericType)","u":"mapToMap(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"mapToMap(GenericType)","u":"mapToMap(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"mapType(Function)","u":"mapType(java.util.function.Function)"},{"p":"org.jdbi.v3.core.statement","c":"StatementCustomizers","l":"maxFieldSize(int)"},{"p":"org.jdbi.v3.core.statement","c":"StatementCustomizers","l":"maxRows(int)"},{"p":"org.jdbi.v3.core.cache","c":"JdbiCacheStats","l":"maxSize()"},{"p":"org.jdbi.v3.cache.caffeine","c":"CaffeineCacheBuilder","l":"maxSize(int)"},{"p":"org.jdbi.v3.cache.noop","c":"NoopCacheBuilder","l":"maxSize(int)"},{"p":"org.jdbi.v3.core.cache","c":"JdbiCacheBuilder","l":"maxSize(int)"},{"p":"org.jdbi.v3.core.statement","c":"MessageFormatTemplateEngine","l":"MessageFormatTemplateEngine()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.statement","c":"MetaData","l":"MetaData(Handle, MetaData.MetaDataValueProvider)","u":"%3Cinit%3E(org.jdbi.v3.core.Handle,org.jdbi.v3.core.statement.MetaData.MetaDataValueProvider)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindMethodsList","l":"methodNames()"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"migrateWithFlyway()"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"migrateWithFlyway(String...)","u":"migrateWithFlyway(java.lang.String...)"},{"p":"org.jdbi.v3.testing","c":"Migration","l":"Migration()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionHandler","l":"missingExtensionHandler(Method)","u":"missingExtensionHandler(java.lang.reflect.Method)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"modifiedRowCounts()"},{"p":"org.jdbi.v3.moshi","c":"MoshiConfig","l":"MoshiConfig()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.moshi","c":"MoshiPlugin","l":"MoshiPlugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"OutParameter","l":"name()"},{"p":"org.jdbi.v3.core.statement","c":"ParsedParameters","l":"named(List)","u":"named(java.util.List)"},{"p":"org.jdbi.v3.core.statement","c":"ColonPrefixSqlParser","l":"nameParameter(String, StatementContext)","u":"nameParameter(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"HashPrefixSqlParser","l":"nameParameter(String, StatementContext)","u":"nameParameter(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"SqlParser","l":"nameParameter(String, StatementContext)","u":"nameParameter(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.interceptor","c":"JdbiInterceptionChain","l":"next()"},{"p":"org.jdbi.v3.core.statement","c":"Cleanable","l":"NO_OP"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"Bind","l":"NO_VALUE"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionFactory.FactoryFlag","l":"NON_VIRTUAL_FACTORY"},{"p":"org.jdbi.v3.core.statement","c":"StatementExceptions.MessageRendering","l":"NONE"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionIsolationLevel","l":"NONE"},{"p":"org.jdbi.v3.cache.noop","c":"NoopCachePlugin","l":"NoopCachePlugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper","c":"CaseStrategy","l":"NOP"},{"p":"org.jdbi.v3.core.statement","c":"TemplateEngine","l":"NOP"},{"p":"org.jdbi.v3.guice","c":"GuiceJdbiCustomizer","l":"NOP"},{"p":"org.jdbi.v3.core.statement","c":"SqlLogger","l":"NOP_SQL_LOGGER"},{"p":"org.jdbi.v3.core.statement","c":"TimingCollector","l":"NOP_TIMING_COLLECTOR"},{"p":"org.jdbi.v3.core.result","c":"NoResultsException","l":"NoResultsException(String, StatementContext)","u":"%3Cinit%3E(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.result","c":"NoResultsException","l":"NoResultsException(String, Throwable, StatementContext)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.result","c":"NoResultsException","l":"NoResultsException(Throwable, StatementContext)","u":"%3Cinit%3E(java.lang.Throwable,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.collector","c":"NoSuchCollectorException","l":"NoSuchCollectorException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.jdbi.v3.core.collector","c":"NoSuchCollectorException","l":"NoSuchCollectorException(String, Throwable)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"org.jdbi.v3.core.collector","c":"NoSuchCollectorException","l":"NoSuchCollectorException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.core.extension","c":"NoSuchExtensionException","l":"NoSuchExtensionException(Class)","u":"%3Cinit%3E(java.lang.Class)"},{"p":"org.jdbi.v3.core.extension","c":"NoSuchExtensionException","l":"NoSuchExtensionException(Class, String)","u":"%3Cinit%3E(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.core.extension","c":"NoSuchExtensionException","l":"NoSuchExtensionException(Class, String, Throwable)","u":"%3Cinit%3E(java.lang.Class,java.lang.String,java.lang.Throwable)"},{"p":"org.jdbi.v3.core.extension","c":"NoSuchExtensionException","l":"NoSuchExtensionException(Class, Throwable)","u":"%3Cinit%3E(java.lang.Class,java.lang.Throwable)"},{"p":"org.jdbi.v3.core.mapper","c":"NoSuchMapperException","l":"NoSuchMapperException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.jdbi.v3.core.mapper","c":"NoSuchMapperException","l":"NoSuchMapperException(String, Throwable)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"org.jdbi.v3.core.mapper","c":"NoSuchMapperException","l":"NoSuchMapperException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.core.statement","c":"NoTemplateEngine","l":"NoTemplateEngine()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.postgres","c":"PostgresPlugin","l":"noUnqualifiedHstoreBindings()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindList.EmptyHandling","l":"NULL"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionHandler","l":"NULL_HANDLER"},{"p":"org.jdbi.v3.core.statement","c":"EmptyHandling","l":"NULL_KEYWORD"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindList.EmptyHandling","l":"NULL_STRING"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindList.EmptyHandling","l":"NULL_VALUE"},{"p":"org.jdbi.v3.core.argument","c":"NullArgument","l":"NullArgument(int)","u":"%3Cinit%3E(int)"},{"p":"org.jdbi.v3.core.argument","c":"NullArgument","l":"NullArgument(Integer)","u":"%3Cinit%3E(java.lang.Integer)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayArgumentStrategy","l":"OBJECT_ARRAY"},{"p":"org.jdbi.v3.core.argument","c":"ObjectArgument","l":"ObjectArgument(Object, Integer)","u":"%3Cinit%3E(java.lang.Object,java.lang.Integer)"},{"p":"org.jdbi.v3.core.argument","c":"ObjectFieldArguments","l":"ObjectFieldArguments(String, Object)","u":"%3Cinit%3E(java.lang.String,java.lang.Object)"},{"p":"org.jdbi.v3.core.argument","c":"ObjectMethodArguments","l":"ObjectMethodArguments(String, Object)","u":"%3Cinit%3E(java.lang.String,java.lang.Object)"},{"p":"org.jdbi.v3.core","c":"Sql","l":"of(CharSequence...)","u":"of(java.lang.CharSequence...)"},{"p":"org.jdbi.v3.core.config","c":"ConfiguringPlugin","l":"of(Class, Consumer)","u":"of(java.lang.Class,java.util.function.Consumer)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"BeanMapper","l":"of(Class)","u":"of(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ConstructorMapper","l":"of(Class)","u":"of(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"FieldMapper","l":"of(Class)","u":"of(java.lang.Class)"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"of(Class)","u":"of(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"BeanMapper","l":"of(Class, String)","u":"of(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ConstructorMapper","l":"of(Class, String)","u":"of(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"FieldMapper","l":"of(Class, String)","u":"of(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayTypeFactory","l":"of(Class, String, Function)","u":"of(java.lang.Class,java.lang.String,java.util.function.Function)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ConstructorMapper","l":"of(Constructor)","u":"of(java.lang.reflect.Constructor)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ConstructorMapper","l":"of(Constructor, String)","u":"of(java.lang.reflect.Constructor,java.lang.String)"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"of(GenericType)","u":"of(org.jdbi.v3.core.generic.GenericType)"},{"p":"org.jdbi.v3.core","c":"Sql","l":"of(Iterable)","u":"of(java.lang.Iterable)"},{"p":"org.jdbi.v3.core.argument","c":"ObjectArgument","l":"of(Object)","u":"of(java.lang.Object)"},{"p":"org.jdbi.v3.core.argument","c":"ObjectArgument","l":"of(Object, Integer)","u":"of(java.lang.Object,java.lang.Integer)"},{"p":"org.jdbi.v3.core.mapper","c":"QualifiedColumnMapperFactory","l":"of(QualifiedType, ColumnMapper)","u":"of(org.jdbi.v3.core.qualifier.QualifiedType,org.jdbi.v3.core.mapper.ColumnMapper)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultIterable","l":"of(ResultIterable, Supplier)","u":"of(org.jdbi.v3.core.result.ResultIterable,java.util.function.Supplier)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"of(ResultIterator)","u":"of(org.jdbi.v3.core.result.ResultIterator)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayType","l":"of(String, Function)","u":"of(java.lang.String,java.util.function.Function)"},{"p":"org.jdbi.v3.core.statement","c":"ParsedSql","l":"of(String, ParsedParameters)","u":"of(java.lang.String,org.jdbi.v3.core.statement.ParsedParameters)"},{"p":"org.jdbi.v3.testing.junit5.tc","c":"TestcontainersDatabaseInformation","l":"of(String, String, String, BiFunction)","u":"of(java.lang.String,java.lang.String,java.lang.String,java.util.function.BiFunction)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"of(Supplier, RowMapper, StatementContext)","u":"of(java.util.function.Supplier,org.jdbi.v3.core.mapper.RowMapper,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"of(Supplier, StatementContext)","u":"of(java.util.function.Supplier,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"of(Type)","u":"of(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMapperFactory","l":"of(Type, ColumnMapper)","u":"of(java.lang.reflect.Type,org.jdbi.v3.core.mapper.ColumnMapper)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMapperFactory","l":"of(Type, RowMapper)","u":"of(java.lang.reflect.Type,org.jdbi.v3.core.mapper.RowMapper)"},{"p":"org.jdbi.v3.testing.junit5.tc","c":"TestcontainersDatabaseInformation","l":"ofScript(String, String, String, BiFunction>)","u":"ofScript(java.lang.String,java.lang.String,java.lang.String,java.util.function.BiFunction)"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"onCreateProxy()"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"onDemand(Class)","u":"onDemand(java.lang.Class)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"one()"},{"p":"org.jdbi.v3.core.statement","c":"Update","l":"one()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindList","l":"onEmpty()"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"open()"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"open(Connection)","u":"open(java.sql.Connection)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"open(ConnectionFactory)","u":"open(org.jdbi.v3.core.ConnectionFactory)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"open(DataSource)","u":"open(javax.sql.DataSource)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"open(String)","u":"open(java.lang.String)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"open(String, Properties)","u":"open(java.lang.String,java.util.Properties)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"open(String, String, String)","u":"open(java.lang.String,java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.core","c":"ConnectionFactory","l":"openConnection()"},{"p":"org.jdbi.v3.spring5","c":"SpringConnectionFactory","l":"openConnection()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"openHandle()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"otjEmbeddedPostgres()"},{"p":"org.jdbi.v3.core.generic","c":"GenericTypes","l":"parameterizeClass(Class, Type...)","u":"parameterizeClass(java.lang.Class,java.lang.reflect.Type...)"},{"p":"org.jdbi.v3.core.statement","c":"StatementExceptions.MessageRendering","l":"PARAMETERS"},{"p":"org.jdbi.v3.core.statement","c":"DefinedAttributeTemplateEngine","l":"parse(String, ConfigRegistry)","u":"parse(java.lang.String,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.statement","c":"TemplateEngine","l":"parse(String, ConfigRegistry)","u":"parse(java.lang.String,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.statement","c":"TemplateEngine.Parsing","l":"parse(String, ConfigRegistry)","u":"parse(java.lang.String,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.freemarker","c":"FreemarkerEngine","l":"parse(String, ConfigRegistry)","u":"parse(java.lang.String,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.statement","c":"CachingSqlParser","l":"parse(String, StatementContext)","u":"parse(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"SqlParser","l":"parse(String, StatementContext)","u":"parse(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"CachingSqlParser","l":"PARSED_SQL_CACHE_SIZE"},{"p":"org.jdbi.v3.postgres","c":"PeriodArgumentFactory","l":"PeriodArgumentFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.postgres","c":"PeriodColumnMapperFactory","l":"PeriodColumnMapperFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.statement","c":"ParsedParameters","l":"positional(int)"},{"p":"org.jdbi.v3.postgis","c":"PostgisPlugin","l":"PostgisPlugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"postgres(EmbeddedPgExtension)","u":"postgres(de.softwareforge.testing.postgres.junit5.EmbeddedPgExtension)"},{"p":"org.jdbi.v3.postgres","c":"PostgresPlugin","l":"PostgresPlugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.postgres","c":"PostgresTypes","l":"PostgresTypes()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.commonstext","c":"UseStringSubstitutorTemplateEngine","l":"prefix()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterBeanMapper","l":"prefix()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterConstructorMapper","l":"prefix()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterFieldMapper","l":"prefix()"},{"p":"org.jdbi.v3.core.argument","c":"QualifiedArgumentFactory.Preparable","l":"prepare(QualifiedType, ConfigRegistry)","u":"prepare(org.jdbi.v3.core.qualifier.QualifiedType,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.codec","c":"CodecFactory","l":"prepare(QualifiedType, ConfigRegistry)","u":"prepare(org.jdbi.v3.core.qualifier.QualifiedType,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.argument","c":"AbstractArgumentFactory","l":"prepare(Type, ConfigRegistry)","u":"prepare(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.argument","c":"ArgumentFactory.Preparable","l":"prepare(Type, ConfigRegistry)","u":"prepare(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.argument","c":"BuiltInArgumentFactory","l":"prepare(Type, ConfigRegistry)","u":"prepare(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.argument","c":"ObjectArgumentFactory","l":"prepare(Type, ConfigRegistry)","u":"prepare(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.argument","c":"SetObjectArgumentFactory","l":"prepare(Type, ConfigRegistry)","u":"prepare(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayArgumentFactory","l":"prepare(Type, ConfigRegistry)","u":"prepare(java.lang.reflect.Type,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"prepareBatch(CharSequence)","u":"prepareBatch(java.lang.CharSequence)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"prepareBatch(String)","u":"prepareBatch(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"PreparedBatch(Handle, CharSequence)","u":"%3Cinit%3E(org.jdbi.v3.core.Handle,java.lang.CharSequence)"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"PreparedBatch(Handle, String)","u":"%3Cinit%3E(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"prepareFor(QualifiedType)","u":"prepareFor(org.jdbi.v3.core.qualifier.QualifiedType)"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"prepareFor(Type)","u":"prepareFor(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.argument","c":"AbstractArgumentFactory","l":"prePreparedTypes()"},{"p":"org.jdbi.v3.core.argument","c":"ArgumentFactory.Preparable","l":"prePreparedTypes()"},{"p":"org.jdbi.v3.core.argument","c":"BuiltInArgumentFactory","l":"prePreparedTypes()"},{"p":"org.jdbi.v3.core.argument","c":"QualifiedArgumentFactory.Preparable","l":"prePreparedTypes()"},{"p":"org.jdbi.v3.core.argument","c":"SetObjectArgumentFactory","l":"prePreparedTypes()"},{"p":"org.jdbi.v3.core.codec","c":"CodecFactory","l":"prePreparedTypes()"},{"p":"org.jdbi.v3.postgres","c":"InetArgumentFactory","l":"prePreparedTypes()"},{"p":"org.jdbi.v3.core.interceptor","c":"JdbiInterceptionChainHolder","l":"process(S)"},{"p":"org.jdbi.v3.generator","c":"GenerateSqlObjectProcessor","l":"process(Set, RoundEnvironment)","u":"process(java.util.Set,javax.annotation.processing.RoundEnvironment)"},{"p":"org.jdbi.v3.core.result","c":"ResultProducer","l":"produce(Supplier, StatementContext)","u":"produce(java.util.function.Supplier,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindBeanList","l":"propertyNames()"},{"p":"org.jdbi.v3.core.statement","c":"MetaData.MetaDataResultSetProvider","l":"provideValue(DatabaseMetaData)","u":"provideValue(java.sql.DatabaseMetaData)"},{"p":"org.jdbi.v3.core.statement","c":"MetaData.MetaDataValueProvider","l":"provideValue(DatabaseMetaData)","u":"provideValue(java.sql.DatabaseMetaData)"},{"p":"org.jdbi.v3.core.qualifier","c":"Qualifiers","l":"qualifiedTypeOf(ELEM)"},{"p":"org.jdbi.v3.core.qualifier","c":"Qualifiers","l":"Qualifiers()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"Query(Handle, CharSequence)","u":"%3Cinit%3E(org.jdbi.v3.core.Handle,java.lang.CharSequence)"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"Query(Handle, String)","u":"%3Cinit%3E(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"queryMetadata(MetaData.MetaDataResultSetProvider)","u":"queryMetadata(org.jdbi.v3.core.statement.MetaData.MetaDataResultSetProvider)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"queryMetadata(MetaData.MetaDataValueProvider)","u":"queryMetadata(org.jdbi.v3.core.statement.MetaData.MetaDataValueProvider)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionIsolationLevel","l":"READ_COMMITTED"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionIsolationLevel","l":"READ_UNCOMMITTED"},{"p":"org.jdbi.v3.postgres","c":"PgLobApi","l":"readLob(long)"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"Transaction","l":"readOnly()"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"reduce(U, BiFunction)","u":"reduce(U,java.util.function.BiFunction)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"reduceResultSet(U, ResultSetAccumulator)","u":"reduceResultSet(U,org.jdbi.v3.core.result.ResultSetAccumulator)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"reduceResultSet(U, ResultSetAccumulator)","u":"reduceResultSet(U,org.jdbi.v3.core.result.ResultSetAccumulator)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"reduceRows(BiConsumer, RowView>)","u":"reduceRows(java.util.function.BiConsumer)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"reduceRows(BiConsumer, RowView>)","u":"reduceRows(java.util.function.BiConsumer)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"reduceRows(RowReducer)","u":"reduceRows(org.jdbi.v3.core.result.RowReducer)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"reduceRows(RowReducer)","u":"reduceRows(org.jdbi.v3.core.result.RowReducer)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"reduceRows(U, BiFunction)","u":"reduceRows(U,java.util.function.BiFunction)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"reduceRows(U, BiFunction)","u":"reduceRows(U,java.util.function.BiFunction)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMappers","l":"ReflectionMappers()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"register(ArgumentFactory)","u":"register(org.jdbi.v3.core.argument.ArgumentFactory)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayTypes","l":"register(Class, String)","u":"register(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.core.collector","c":"JdbiCollectors","l":"register(CollectorFactory)","u":"register(org.jdbi.v3.core.collector.CollectorFactory)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"register(ColumnMapper)","u":"register(org.jdbi.v3.core.mapper.ColumnMapper)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"register(ColumnMapperFactory)","u":"register(org.jdbi.v3.core.mapper.ColumnMapperFactory)"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"register(ExtensionFactory)","u":"register(org.jdbi.v3.core.extension.ExtensionFactory)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"register(GenericType, ColumnMapper)","u":"register(org.jdbi.v3.core.generic.GenericType,org.jdbi.v3.core.mapper.ColumnMapper)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMappers","l":"register(GenericType, RowMapper)","u":"register(org.jdbi.v3.core.generic.GenericType,org.jdbi.v3.core.mapper.RowMapper)"},{"p":"org.jdbi.v3.sqlobject","c":"HandlerDecorators","l":"register(HandlerDecorator)","u":"register(org.jdbi.v3.sqlobject.HandlerDecorator)"},{"p":"org.jdbi.v3.sqlobject","c":"Handlers","l":"register(HandlerFactory)","u":"register(org.jdbi.v3.sqlobject.HandlerFactory)"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"register(QualifiedArgumentFactory)","u":"register(org.jdbi.v3.core.argument.QualifiedArgumentFactory)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"register(QualifiedColumnMapperFactory)","u":"register(org.jdbi.v3.core.mapper.QualifiedColumnMapperFactory)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"register(QualifiedType, ColumnMapper)","u":"register(org.jdbi.v3.core.qualifier.QualifiedType,org.jdbi.v3.core.mapper.ColumnMapper)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMappers","l":"register(RowMapper)","u":"register(org.jdbi.v3.core.mapper.RowMapper)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMappers","l":"register(RowMapperFactory)","u":"register(org.jdbi.v3.core.mapper.RowMapperFactory)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayTypes","l":"register(SqlArrayType)","u":"register(org.jdbi.v3.core.array.SqlArrayType)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayTypes","l":"register(SqlArrayTypeFactory)","u":"register(org.jdbi.v3.core.array.SqlArrayTypeFactory)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"register(Type, ColumnMapper)","u":"register(java.lang.reflect.Type,org.jdbi.v3.core.mapper.ColumnMapper)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMappers","l":"register(Type, RowMapper)","u":"register(java.lang.reflect.Type,org.jdbi.v3.core.mapper.RowMapper)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerArgument(ArgumentFactory)","u":"registerArgument(org.jdbi.v3.core.argument.ArgumentFactory)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerArgument(QualifiedArgumentFactory)","u":"registerArgument(org.jdbi.v3.core.argument.QualifiedArgumentFactory)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerArrayType(Class, String)","u":"registerArrayType(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerArrayType(Class, String, Function)","u":"registerArrayType(java.lang.Class,java.lang.String,java.util.function.Function)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerArrayType(SqlArrayType)","u":"registerArrayType(org.jdbi.v3.core.array.SqlArrayType)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerArrayType(SqlArrayTypeFactory)","u":"registerArrayType(org.jdbi.v3.core.array.SqlArrayTypeFactory)"},{"p":"org.jdbi.v3.spring5","c":"JdbiRepositoryRegistrar","l":"registerBeanDefinitions(AnnotationMetadata, BeanDefinitionRegistry)","u":"registerBeanDefinitions(org.springframework.core.type.AnnotationMetadata,org.springframework.beans.factory.support.BeanDefinitionRegistry)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerCodecFactory(CodecFactory)","u":"registerCodecFactory(org.jdbi.v3.core.codec.CodecFactory)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerCollector(CollectorFactory)","u":"registerCollector(org.jdbi.v3.core.collector.CollectorFactory)"},{"p":"org.jdbi.v3.core.collector","c":"JdbiCollectors","l":"registerCollector(Type, Collector)","u":"registerCollector(java.lang.reflect.Type,java.util.stream.Collector)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerCollector(Type, Collector)","u":"registerCollector(java.lang.reflect.Type,java.util.stream.Collector)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerColumnMapper(ColumnMapper)","u":"registerColumnMapper(org.jdbi.v3.core.mapper.ColumnMapper)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerColumnMapper(ColumnMapperFactory)","u":"registerColumnMapper(org.jdbi.v3.core.mapper.ColumnMapperFactory)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerColumnMapper(GenericType, ColumnMapper)","u":"registerColumnMapper(org.jdbi.v3.core.generic.GenericType,org.jdbi.v3.core.mapper.ColumnMapper)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerColumnMapper(QualifiedColumnMapperFactory)","u":"registerColumnMapper(org.jdbi.v3.core.mapper.QualifiedColumnMapperFactory)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerColumnMapper(QualifiedType, ColumnMapper)","u":"registerColumnMapper(org.jdbi.v3.core.qualifier.QualifiedType,org.jdbi.v3.core.mapper.ColumnMapper)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerColumnMapper(Type, ColumnMapper)","u":"registerColumnMapper(java.lang.reflect.Type,org.jdbi.v3.core.mapper.ColumnMapper)"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"registerConfigCustomizerFactory(ConfigCustomizerFactory)","u":"registerConfigCustomizerFactory(org.jdbi.v3.core.extension.ConfigCustomizerFactory)"},{"p":"org.jdbi.v3.postgres","c":"PostgresTypes","l":"registerCustomType(Class, String)","u":"registerCustomType(java.lang.Class,java.lang.String)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerExtension(ExtensionFactory)","u":"registerExtension(org.jdbi.v3.core.extension.ExtensionFactory)"},{"p":"org.jdbi.v3.core.mapper.freebuilder","c":"JdbiFreeBuilders","l":"registerFreeBuilder(Class...)","u":"registerFreeBuilder(java.lang.Class...)"},{"p":"org.jdbi.v3.core.mapper.freebuilder","c":"JdbiFreeBuilders","l":"registerFreeBuilder(Class)","u":"registerFreeBuilder(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper.freebuilder","c":"JdbiFreeBuilders","l":"registerFreeBuilder(Class, Class, Supplier)","u":"registerFreeBuilder(java.lang.Class,java.lang.Class,java.util.function.Supplier)"},{"p":"org.jdbi.v3.core.mapper.freebuilder","c":"JdbiFreeBuilders","l":"registerFreeBuilder(Iterable>)","u":"registerFreeBuilder(java.lang.Iterable)"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"registerHandlerCustomizer(ExtensionHandlerCustomizer)","u":"registerHandlerCustomizer(org.jdbi.v3.core.extension.ExtensionHandlerCustomizer)"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"registerHandlerFactory(ExtensionHandlerFactory)","u":"registerHandlerFactory(org.jdbi.v3.core.extension.ExtensionHandlerFactory)"},{"p":"org.jdbi.v3.core.mapper.immutables","c":"JdbiImmutables","l":"registerImmutable(Class...)","u":"registerImmutable(java.lang.Class...)"},{"p":"org.jdbi.v3.core.mapper.immutables","c":"JdbiImmutables","l":"registerImmutable(Class)","u":"registerImmutable(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper.immutables","c":"JdbiImmutables","l":"registerImmutable(Class, Class, Supplier)","u":"registerImmutable(java.lang.Class,java.lang.Class,java.util.function.Supplier)"},{"p":"org.jdbi.v3.core.mapper.immutables","c":"JdbiImmutables","l":"registerImmutable(Iterable>)","u":"registerImmutable(java.lang.Iterable)"},{"p":"org.jdbi.v3.core.mapper.immutables","c":"JdbiImmutables","l":"registerModifiable(Class...)","u":"registerModifiable(java.lang.Class...)"},{"p":"org.jdbi.v3.core.mapper.immutables","c":"JdbiImmutables","l":"registerModifiable(Class)","u":"registerModifiable(java.lang.Class)"},{"p":"org.jdbi.v3.core.mapper.immutables","c":"JdbiImmutables","l":"registerModifiable(Class, Class, Supplier)","u":"registerModifiable(java.lang.Class,java.lang.Class,java.util.function.Supplier)"},{"p":"org.jdbi.v3.core.mapper.immutables","c":"JdbiImmutables","l":"registerModifiable(Iterable>)","u":"registerModifiable(java.lang.Iterable)"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"registerOutParameter(int, int)","u":"registerOutParameter(int,int)"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"registerOutParameter(int, int, CallableStatementMapper)","u":"registerOutParameter(int,int,org.jdbi.v3.core.statement.CallableStatementMapper)"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"registerOutParameter(String, int)","u":"registerOutParameter(java.lang.String,int)"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"registerOutParameter(String, int, CallableStatementMapper)","u":"registerOutParameter(java.lang.String,int,org.jdbi.v3.core.statement.CallableStatementMapper)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerRowMapper(GenericType, RowMapper)","u":"registerRowMapper(org.jdbi.v3.core.generic.GenericType,org.jdbi.v3.core.mapper.RowMapper)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerRowMapper(RowMapper)","u":"registerRowMapper(org.jdbi.v3.core.mapper.RowMapper)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerRowMapper(RowMapperFactory)","u":"registerRowMapper(org.jdbi.v3.core.mapper.RowMapperFactory)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"registerRowMapper(Type, RowMapper)","u":"registerRowMapper(java.lang.reflect.Type,org.jdbi.v3.core.mapper.RowMapper)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"release(String)","u":"release(java.lang.String)"},{"p":"org.jdbi.v3.core.transaction","c":"CMTTransactionHandler","l":"releaseSavepoint(Handle, String)","u":"releaseSavepoint(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core.transaction","c":"DelegatingTransactionHandler","l":"releaseSavepoint(Handle, String)","u":"releaseSavepoint(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core.transaction","c":"LocalTransactionHandler","l":"releaseSavepoint(Handle, String)","u":"releaseSavepoint(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionHandler","l":"releaseSavepoint(Handle, String)","u":"releaseSavepoint(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"releaseSavepoint(String)","u":"releaseSavepoint(java.lang.String)"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"Transactional","l":"releaseSavepoint(String)","u":"releaseSavepoint(java.lang.String)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"removeCleanable(Cleanable)","u":"removeCleanable(org.jdbi.v3.core.statement.Cleanable)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"removeHandleListener(HandleListener)","u":"removeHandleListener(org.jdbi.v3.core.HandleListener)"},{"p":"org.jdbi.v3.core","c":"Handles","l":"removeListener(HandleListener)","u":"removeListener(org.jdbi.v3.core.HandleListener)"},{"p":"org.jdbi.v3.core.locator","c":"ClasspathSqlLocator","l":"removingComments()"},{"p":"org.jdbi.v3.commonstext","c":"StringSubstitutorTemplateEngine","l":"render(String, StatementContext)","u":"render(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"MessageFormatTemplateEngine","l":"render(String, StatementContext)","u":"render(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"NoTemplateEngine","l":"render(String, StatementContext)","u":"render(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"TemplateEngine.Parsing","l":"render(String, StatementContext)","u":"render(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"TemplateEngine","l":"render(String, StatementContext)","u":"render(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.stringtemplate4","c":"StringTemplateEngine","l":"render(String, StatementContext)","u":"render(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionIsolationLevel","l":"REPEATABLE_READ"},{"p":"org.jdbi.v3.spring5","c":"EnableJdbiRepositories","l":"repositories()"},{"p":"org.jdbi.v3.core.transaction","c":"LocalTransactionHandler","l":"reset(Handle)","u":"reset(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.generic","c":"GenericTypes","l":"resolveMapEntryType(Type)","u":"resolveMapEntryType(java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.generic","c":"GenericTypes","l":"resolveMapEntryType(Type, Type)","u":"resolveMapEntryType(java.lang.reflect.Type,java.lang.reflect.Type)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"resolveParameter(ParameterContext, ExtensionContext)","u":"resolveParameter(org.junit.jupiter.api.extension.ParameterContext,org.junit.jupiter.api.extension.ExtensionContext)"},{"p":"org.jdbi.v3.core.generic","c":"GenericTypes","l":"resolveType(Type, Type)","u":"resolveType(java.lang.reflect.Type,java.lang.reflect.Type)"},{"p":"org.jdbi.v3.core.result","c":"ResultProducers","l":"ResultProducers()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.result","c":"ResultSetException","l":"ResultSetException(String, Exception, StatementContext)","u":"%3Cinit%3E(java.lang.String,java.lang.Exception,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.result","c":"ResultProducers","l":"returningGeneratedKeys(String...)","u":"returningGeneratedKeys(java.lang.String...)"},{"p":"org.jdbi.v3.core.result","c":"ResultProducers","l":"returningResults()"},{"p":"org.jdbi.v3.core.result","c":"ResultProducers","l":"returningUpdateCount()"},{"p":"org.jdbi.v3.core","c":"Handle","l":"rollback()"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"Transactional","l":"rollback()"},{"p":"org.jdbi.v3.core.transaction","c":"CMTTransactionHandler","l":"rollback(Handle)","u":"rollback(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"DelegatingTransactionHandler","l":"rollback(Handle)","u":"rollback(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"LocalTransactionHandler","l":"rollback(Handle)","u":"rollback(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionHandler","l":"rollback(Handle)","u":"rollback(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"RollbackOnlyTransactionHandler","l":"RollbackOnlyTransactionHandler()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.transaction","c":"RollbackOnlyTransactionHandler","l":"RollbackOnlyTransactionHandler(TransactionHandler)","u":"%3Cinit%3E(org.jdbi.v3.core.transaction.TransactionHandler)"},{"p":"org.jdbi.v3.core.transaction","c":"CMTTransactionHandler","l":"rollbackToSavepoint(Handle, String)","u":"rollbackToSavepoint(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core.transaction","c":"DelegatingTransactionHandler","l":"rollbackToSavepoint(Handle, String)","u":"rollbackToSavepoint(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core.transaction","c":"LocalTransactionHandler","l":"rollbackToSavepoint(Handle, String)","u":"rollbackToSavepoint(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionHandler","l":"rollbackToSavepoint(Handle, String)","u":"rollbackToSavepoint(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"rollbackToSavepoint(String)","u":"rollbackToSavepoint(java.lang.String)"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"Transactional","l":"rollbackToSavepoint(String)","u":"rollbackToSavepoint(java.lang.String)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMappers","l":"RowMappers()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.result","c":"RowView","l":"RowView()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.transaction","c":"CMTTransactionHandler","l":"savepoint(Handle, String)","u":"savepoint(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core.transaction","c":"DelegatingTransactionHandler","l":"savepoint(Handle, String)","u":"savepoint(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core.transaction","c":"LocalTransactionHandler","l":"savepoint(Handle, String)","u":"savepoint(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionHandler","l":"savepoint(Handle, String)","u":"savepoint(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"savepoint(String)","u":"savepoint(java.lang.String)"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"Transactional","l":"savepoint(String)","u":"savepoint(java.lang.String)"},{"p":"org.jdbi.v3.core.result","c":"BatchResultBearing","l":"scanResultSet(ResultSetScanner)","u":"scanResultSet(org.jdbi.v3.core.result.ResultSetScanner)"},{"p":"org.jdbi.v3.core.result","c":"ResultBearing","l":"scanResultSet(ResultSetScanner)","u":"scanResultSet(org.jdbi.v3.core.result.ResultSetScanner)"},{"p":"org.jdbi.v3.core.statement","c":"MetaData","l":"scanResultSet(ResultSetScanner)","u":"scanResultSet(org.jdbi.v3.core.result.ResultSetScanner)"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"scanResultSet(ResultSetScanner)","u":"scanResultSet(org.jdbi.v3.core.result.ResultSetScanner)"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"scanResultSet(ResultSetScanner)","u":"scanResultSet(org.jdbi.v3.core.result.ResultSetScanner)"},{"p":"org.jdbi.v3.core.result","c":"ResultSetScanner","l":"scanResultSet(Supplier, StatementContext)","u":"scanResultSet(java.util.function.Supplier,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"Script","l":"Script(Handle, CharSequence)","u":"%3Cinit%3E(org.jdbi.v3.core.Handle,java.lang.CharSequence)"},{"p":"org.jdbi.v3.core.statement","c":"Script","l":"Script(Handle, String)","u":"%3Cinit%3E(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"select(CharSequence, Object...)","u":"select(java.lang.CharSequence,java.lang.Object...)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"select(String, Object...)","u":"select(java.lang.String,java.lang.Object...)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionIsolationLevel","l":"SERIALIZABLE"},{"p":"org.jdbi.v3.core.transaction","c":"SerializableTransactionRunner","l":"SerializableTransactionRunner()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.transaction","c":"SerializableTransactionRunner","l":"SerializableTransactionRunner(TransactionHandler)","u":"%3Cinit%3E(org.jdbi.v3.core.transaction.TransactionHandler)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"set()"},{"p":"org.jdbi.v3.core","c":"HandleScope","l":"set(Handle)","u":"set(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core","c":"HandleScope","l":"set(HandleSupplier)","u":"set(org.jdbi.v3.core.extension.HandleSupplier)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMappers","l":"setAccessibleObjectStrategy(Consumer)","u":"setAccessibleObjectStrategy(java.util.function.Consumer)"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"setAllowProxy(boolean)"},{"p":"org.jdbi.v3.spring5","c":"JdbiRepositoryFactoryBean","l":"setApplicationContext(ApplicationContext)","u":"setApplicationContext(org.springframework.context.ApplicationContext)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayTypes","l":"setArgumentStrategy(SqlArrayArgumentStrategy)","u":"setArgumentStrategy(org.jdbi.v3.core.array.SqlArrayArgumentStrategy)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"setAttachAllStatementsForCleanup(boolean)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"setAttachCallbackStatementsForCleanup(boolean)"},{"p":"org.jdbi.v3.spring5","c":"JdbiFactoryBean","l":"setAutoInstallPlugins(boolean)"},{"p":"org.jdbi.v3.spring5","c":"JdbiRepositoryFactoryBean","l":"setBeanFactory(BeanFactory)","u":"setBeanFactory(org.springframework.beans.factory.BeanFactory)"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"setBindingNullToPrimitivesPermitted(boolean)"},{"p":"org.jdbi.v3.core.mapper","c":"MapMappers","l":"setCaseChange(UnaryOperator)","u":"setCaseChange(java.util.function.UnaryOperator)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMappers","l":"setCaseChange(UnaryOperator)","u":"setCaseChange(java.util.function.UnaryOperator)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"setCoalesceNullPrimitivesToDefaults(boolean)"},{"p":"org.jdbi.v3.vavr","c":"TupleMappers","l":"setColumn(int, String)","u":"setColumn(int,java.lang.String)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMappers","l":"setColumnNameMatchers(List)","u":"setColumnNameMatchers(java.util.List)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"setCompletionMoment(Instant)","u":"setCompletionMoment(java.time.Instant)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"setConcurrentUpdatable(boolean)"},{"p":"org.jdbi.v3.spring5","c":"JdbiFactoryBean","l":"setDataSource(DataSource)","u":"setDataSource(javax.sql.DataSource)"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjects","l":"setDefaultParameterCustomizerFactory(ParameterCustomizerFactory)","u":"setDefaultParameterCustomizerFactory(org.jdbi.v3.sqlobject.statement.ParameterCustomizerFactory)"},{"p":"org.jdbi.v3.jackson2","c":"Jackson2Config","l":"setDeserializationView(Class)","u":"setDeserializationView(java.lang.Class)"},{"p":"org.jdbi.v3.core.enums","c":"Enums","l":"setEnumStrategy(EnumStrategy)","u":"setEnumStrategy(org.jdbi.v3.core.enums.EnumStrategy)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"setExceptionMoment(Instant)","u":"setExceptionMoment(java.time.Instant)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"setExecutionMoment(Instant)","u":"setExecutionMoment(java.time.Instant)"},{"p":"org.jdbi.v3.stringtemplate4","c":"StringTemplates","l":"setFailOnMissingAttribute(boolean)"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"setFetchSize(int)"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"setFetchSize(int)"},{"p":"org.jdbi.v3.core","c":"Handles","l":"setForceEndTransactions(boolean)"},{"p":"org.jdbi.v3.freemarker","c":"FreemarkerConfig","l":"setFreemarkerConfiguration(Configuration)","u":"setFreemarkerConfiguration(freemarker.template.Configuration)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"setGeneratedKeysColumnNames(String[])","u":"setGeneratedKeysColumnNames(java.lang.String[])"},{"p":"org.jdbi.v3.spring5","c":"JdbiFactoryBean","l":"setGlobalDefines(Map)","u":"setGlobalDefines(java.util.Map)"},{"p":"org.jdbi.v3.gson2","c":"Gson2Config","l":"setGson(Gson)","u":"setGson(com.google.gson.Gson)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"setHandleCallbackDecorator(HandleCallbackDecorator)","u":"setHandleCallbackDecorator(org.jdbi.v3.core.HandleCallbackDecorator)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"setHandleScope(HandleScope)","u":"setHandleScope(org.jdbi.v3.core.HandleScope)"},{"p":"org.jdbi.v3.spring5","c":"JdbiRepositoryFactoryBean","l":"setJdbiQualifier(String)","u":"setJdbiQualifier(java.lang.String)"},{"p":"org.jdbi.v3.json","c":"JsonConfig","l":"setJsonMapper(JsonMapper)","u":"setJsonMapper(org.jdbi.v3.json.JsonMapper)"},{"p":"org.jdbi.v3.core.mapper","c":"MapEntryConfig","l":"setKeyColumn(String)","u":"setKeyColumn(java.lang.String)"},{"p":"org.jdbi.v3.core.mapper","c":"MapEntryMappers","l":"setKeyColumn(String)","u":"setKeyColumn(java.lang.String)"},{"p":"org.jdbi.v3.vavr","c":"TupleMappers","l":"setKeyColumn(String)","u":"setKeyColumn(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"StatementExceptions","l":"setLengthLimit(int)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"setMapKeyColumn(String)","u":"setMapKeyColumn(java.lang.String)"},{"p":"org.jdbi.v3.jackson2","c":"Jackson2Config","l":"setMapper(ObjectMapper)","u":"setMapper(com.fasterxml.jackson.databind.ObjectMapper)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"setMapValueColumn(String)","u":"setMapValueColumn(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"setMaxFieldSize(int)"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"setMaxFieldSize(int)"},{"p":"org.jdbi.v3.core.transaction","c":"SerializableTransactionRunner.Configuration","l":"setMaxRetries(int)"},{"p":"org.jdbi.v3.core.statement","c":"Call","l":"setMaxRows(int)"},{"p":"org.jdbi.v3.core.statement","c":"Query","l":"setMaxRows(int)"},{"p":"org.jdbi.v3.core.statement","c":"StatementExceptions","l":"setMessageRendering(Function)","u":"setMessageRendering(java.util.function.Function)"},{"p":"org.jdbi.v3.moshi","c":"MoshiConfig","l":"setMoshi(Moshi)","u":"setMoshi(com.squareup.moshi.Moshi)"},{"p":"org.jdbi.v3.spring5","c":"JdbiRepositoryFactoryBean","l":"setObjectType(Class)","u":"setObjectType(java.lang.Class)"},{"p":"org.jdbi.v3.core.transaction","c":"SerializableTransactionRunner.Configuration","l":"setOnFailure(Consumer>)","u":"setOnFailure(java.util.function.Consumer)"},{"p":"org.jdbi.v3.core.transaction","c":"SerializableTransactionRunner.Configuration","l":"setOnSuccess(Consumer>)","u":"setOnSuccess(java.util.function.Consumer)"},{"p":"org.jdbi.v3.spring5","c":"JdbiFactoryBean","l":"setPlugins(Collection)","u":"setPlugins(java.util.Collection)"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"setPreparedArgumentsEnabled(boolean)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"setQueryTimeout(int)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"setQueryTimeout(Integer)","u":"setQueryTimeout(java.lang.Integer)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"setReadOnly(boolean)"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"setRegistry(ConfigRegistry)","u":"setRegistry(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayTypes","l":"setRegistry(ConfigRegistry)","u":"setRegistry(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.config","c":"JdbiConfig","l":"setRegistry(ConfigRegistry)","u":"setRegistry(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.extension","c":"Extensions","l":"setRegistry(ConfigRegistry)","u":"setRegistry(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"ColumnMappers","l":"setRegistry(ConfigRegistry)","u":"setRegistry(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper.freebuilder","c":"JdbiFreeBuilders","l":"setRegistry(ConfigRegistry)","u":"setRegistry(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper.immutables","c":"JdbiImmutables","l":"setRegistry(ConfigRegistry)","u":"setRegistry(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"Mappers","l":"setRegistry(ConfigRegistry)","u":"setRegistry(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMappers","l":"setRegistry(ConfigRegistry)","u":"setRegistry(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.qualifier","c":"Qualifiers","l":"setRegistry(ConfigRegistry)","u":"setRegistry(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.postgres","c":"PostgresTypes","l":"setRegistry(ConfigRegistry)","u":"setRegistry(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.vavr","c":"TupleMappers","l":"setRegistry(ConfigRegistry)","u":"setRegistry(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.statement","c":"StatementContext","l":"setReturningGeneratedKeys(boolean)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"setScriptStatementsNeedSemicolon(boolean)"},{"p":"org.jdbi.v3.core.transaction","c":"SerializableTransactionRunner.Configuration","l":"setSerializationFailureSqlState(String)","u":"setSerializationFailureSqlState(java.lang.String)"},{"p":"org.jdbi.v3.jackson2","c":"Jackson2Config","l":"setSerializationView(Class)","u":"setSerializationView(java.lang.Class)"},{"p":"org.jdbi.v3.testing.junit5.tc","c":"JdbiTestcontainersExtension","l":"setShutdownWaitTimeInSeconds(int)"},{"p":"org.jdbi.v3.testing.junit5.tc","c":"TestcontainersDatabaseInformation","l":"setShutdownWaitTimeInSeconds(int)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"setSqlArrayArgumentStrategy(SqlArrayArgumentStrategy)","u":"setSqlArrayArgumentStrategy(org.jdbi.v3.core.array.SqlArrayArgumentStrategy)"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjects","l":"setSqlLocator(SqlLocator)","u":"setSqlLocator(org.jdbi.v3.sqlobject.locator.SqlLocator)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"setSqlLogger(SqlLogger)","u":"setSqlLogger(org.jdbi.v3.core.statement.SqlLogger)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"setSqlLogger(SqlLogger)","u":"setSqlLogger(org.jdbi.v3.core.statement.SqlLogger)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"setSqlParser(SqlParser)","u":"setSqlParser(org.jdbi.v3.core.statement.SqlParser)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"setSqlParser(SqlParser)","u":"setSqlParser(org.jdbi.v3.core.statement.SqlParser)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"setStatementBuilder(StatementBuilder)","u":"setStatementBuilder(org.jdbi.v3.core.statement.StatementBuilder)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"setStatementBuilderFactory(StatementBuilderFactory)","u":"setStatementBuilderFactory(org.jdbi.v3.core.statement.StatementBuilderFactory)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ReflectionMappers","l":"setStrictMatching(boolean)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"setTemplateCache(JdbiCacheBuilder)","u":"setTemplateCache(org.jdbi.v3.core.cache.JdbiCacheBuilder)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"setTemplateEngine(TemplateEngine)","u":"setTemplateEngine(org.jdbi.v3.core.statement.TemplateEngine)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"setTemplateEngine(TemplateEngine)","u":"setTemplateEngine(org.jdbi.v3.core.statement.TemplateEngine)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"TimestampedConfig","l":"setTimezone(ZoneId)","u":"setTimezone(java.time.ZoneId)"},{"p":"org.jdbi.v3.core.config","c":"Configurable","l":"setTimingCollector(TimingCollector)","u":"setTimingCollector(org.jdbi.v3.core.statement.TimingCollector)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"setTimingCollector(TimingCollector)","u":"setTimingCollector(org.jdbi.v3.core.statement.TimingCollector)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"setTransactionHandler(TransactionHandler)","u":"setTransactionHandler(org.jdbi.v3.core.transaction.TransactionHandler)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"setTransactionIsolation(int)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"setTransactionIsolation(TransactionIsolationLevel)","u":"setTransactionIsolation(org.jdbi.v3.core.transaction.TransactionIsolationLevel)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"setTransactionIsolationLevel(int)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"setTransactionIsolationLevel(TransactionIsolationLevel)","u":"setTransactionIsolationLevel(org.jdbi.v3.core.transaction.TransactionIsolationLevel)"},{"p":"org.jdbi.v3.core.argument","c":"Arguments","l":"setUntypedNullArgument(Argument)","u":"setUntypedNullArgument(org.jdbi.v3.core.argument.Argument)"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"setUnusedBindingAllowed(boolean)"},{"p":"org.jdbi.v3.core.mapper","c":"MapEntryConfig","l":"setValueColumn(String)","u":"setValueColumn(java.lang.String)"},{"p":"org.jdbi.v3.core.mapper","c":"MapEntryMappers","l":"setValueColumn(String)","u":"setValueColumn(java.lang.String)"},{"p":"org.jdbi.v3.vavr","c":"TupleMappers","l":"setValueColumn(String)","u":"setValueColumn(java.lang.String)"},{"p":"org.jdbi.v3.jackson2","c":"Jackson2Config","l":"setView(Class)","u":"setView(java.lang.Class)"},{"p":"org.jdbi.v3.core.statement","c":"StatementExceptions.MessageRendering","l":"SHORT_STATEMENT"},{"p":"org.jdbi.v3.core.extension","c":"SimpleExtensionConfigurer","l":"SimpleExtensionConfigurer()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.mapper","c":"SingleColumnMapper","l":"SingleColumnMapper(ColumnMapper)","u":"%3Cinit%3E(org.jdbi.v3.core.mapper.ColumnMapper)"},{"p":"org.jdbi.v3.core.mapper","c":"SingleColumnMapper","l":"SingleColumnMapper(ColumnMapper, int)","u":"%3Cinit%3E(org.jdbi.v3.core.mapper.ColumnMapper,int)"},{"p":"org.jdbi.v3.core.mapper","c":"SingleColumnMapper","l":"SingleColumnMapper(ColumnMapper, String)","u":"%3Cinit%3E(org.jdbi.v3.core.mapper.ColumnMapper,java.lang.String)"},{"p":"org.jdbi.v3.core.spi","c":"JdbiPlugin.Singleton","l":"Singleton()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.statement","c":"PreparedBatch","l":"size()"},{"p":"org.jdbi.v3.core.statement","c":"Slf4JSqlLogger","l":"Slf4JSqlLogger()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.statement","c":"Slf4JSqlLogger","l":"Slf4JSqlLogger(Logger)","u":"%3Cinit%3E(org.slf4j.Logger)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"SnakeCaseColumnNameMatcher","l":"SnakeCaseColumnNameMatcher()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.transaction","c":"SerializableTransactionRunner","l":"specialize(Handle)","u":"specialize(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionHandler","l":"specialize(Handle)","u":"specialize(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.mapper","c":"JoinRowMapper","l":"specialize(ResultSet, StatementContext)","u":"specialize(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper","c":"MapEntryMapper","l":"specialize(ResultSet, StatementContext)","u":"specialize(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper","c":"MapMapper","l":"specialize(ResultSet, StatementContext)","u":"specialize(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ConstructorMapper","l":"specialize(ResultSet, StatementContext)","u":"specialize(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"FieldMapper","l":"specialize(ResultSet, StatementContext)","u":"specialize(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper","c":"RowMapper","l":"specialize(ResultSet, StatementContext)","u":"specialize(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.mapper","c":"RowViewMapper","l":"specialize(ResultSet, StatementContext)","u":"specialize(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.jpa","c":"JpaMapper","l":"specialize(ResultSet, StatementContext)","u":"specialize(java.sql.ResultSet,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.spring5","c":"SpringConnectionFactory","l":"SpringConnectionFactory(DataSource)","u":"%3Cinit%3E(javax.sql.DataSource)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayArgumentStrategy","l":"SQL_ARRAY"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"SQL_TEMPLATE_CACHE_SIZE"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayArgumentFactory","l":"SqlArrayArgumentFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayMapperFactory","l":"SqlArrayMapperFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayTypes","l":"SqlArrayTypes()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"sqlite()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"sqlite()"},{"p":"org.jdbi.v3.sqlite3","c":"SQLitePlugin","l":"SQLitePlugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.sqlobject.locator","c":"SqlObjectClasspathSqlLocator","l":"SqlObjectClasspathSqlLocator()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.sqlobject.locator","c":"SqlObjectClasspathSqlLocator","l":"SqlObjectClasspathSqlLocator(ClasspathSqlLocator)","u":"%3Cinit%3E(org.jdbi.v3.core.locator.ClasspathSqlLocator)"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjectPlugin","l":"SqlObjectPlugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObjects","l":"SqlObjects()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatements","l":"SqlStatements()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterObjectArgumentFactory","l":"sqlType()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"OutParameter","l":"sqlType()"},{"p":"org.jdbi.v3.core","c":"HandleCallbackDecorator","l":"STANDARD_HANDLE_CALLBACK_DECORATOR"},{"p":"org.jdbi.v3.core.statement","c":"StatementException","l":"StatementException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"StatementException","l":"StatementException(String, StatementContext)","u":"%3Cinit%3E(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"StatementException","l":"StatementException(String, Throwable)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"org.jdbi.v3.core.statement","c":"StatementException","l":"StatementException(String, Throwable, StatementContext)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"StatementException","l":"StatementException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.core.statement","c":"StatementException","l":"StatementException(Throwable, StatementContext)","u":"%3Cinit%3E(java.lang.Throwable,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"StatementExceptions","l":"StatementExceptions()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.statement","c":"StatementCustomizers","l":"statementTimeout(int)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"stream()"},{"p":"org.jdbi.v3.core.result","c":"RowReducer","l":"stream(C)"},{"p":"org.jdbi.v3.core.result","c":"LinkedHashMapRowReducer","l":"stream(Map)","u":"stream(java.util.Map)"},{"p":"org.jdbi.v3.commonstext","c":"StringSubstitutorTemplateEngine","l":"StringSubstitutorTemplateEngine()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.commonstext","c":"StringSubstitutorTemplateEngine","l":"StringSubstitutorTemplateEngine(Consumer)","u":"%3Cinit%3E(java.util.function.Consumer)"},{"p":"org.jdbi.v3.stringtemplate4","c":"StringTemplateEngine","l":"StringTemplateEngine()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.stringtemplate4","c":"StringTemplates","l":"StringTemplates()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.sqlobject.locator","c":"UseClasspathSqlLocator","l":"stripComments()"},{"p":"org.jdbi.v3.core","c":"Sql","l":"subSequence(int, int)","u":"subSequence(int,int)"},{"p":"org.jdbi.v3.commonstext","c":"UseStringSubstitutorTemplateEngine","l":"suffix()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"supportsParameter(ParameterContext, ExtensionContext)","u":"supportsParameter(org.junit.jupiter.api.extension.ParameterContext,org.junit.jupiter.api.extension.ExtensionContext)"},{"p":"org.jdbi.v3.core","c":"HandleScope","l":"threadLocal()"},{"p":"org.jdbi.v3.core.statement","c":"EmptyHandling","l":"THROW"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindList.EmptyHandling","l":"THROW"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"TimestampedConfig","l":"TimestampedConfig()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.guava","c":"GuavaCollectors","l":"toArrayListMultimap()"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"toCollection(Supplier)","u":"toCollection(java.util.function.Supplier)"},{"p":"org.jdbi.v3.guava","c":"GuavaCollectors","l":"toHashBiMap()"},{"p":"org.jdbi.v3.guava","c":"GuavaCollectors","l":"toHashMultimap()"},{"p":"org.jdbi.v3.guava","c":"GuavaCollectors","l":"toImmutableListMultimap()"},{"p":"org.jdbi.v3.guava","c":"GuavaCollectors","l":"toImmutableMap()"},{"p":"org.jdbi.v3.guava","c":"GuavaCollectors","l":"toImmutableSetMultimap()"},{"p":"org.jdbi.v3.json","c":"JsonMapper.TypedJsonMapper","l":"toJson(Object, ConfigRegistry)","u":"toJson(java.lang.Object,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.json","c":"JsonMapper","l":"toJson(Type, Object, ConfigRegistry)","u":"toJson(java.lang.reflect.Type,java.lang.Object,org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.guava","c":"GuavaCollectors","l":"toLinkedListMultimap()"},{"p":"org.jdbi.v3.core.collector","c":"BuiltInCollectorFactory","l":"toMap(Supplier)","u":"toMap(java.util.function.Supplier)"},{"p":"org.jdbi.v3.core.collector","c":"MapCollectors","l":"toMap(Supplier)","u":"toMap(java.util.function.Supplier)"},{"p":"org.jdbi.v3.guava","c":"GuavaCollectors","l":"toMultimap(Supplier)","u":"toMultimap(java.util.function.Supplier)"},{"p":"org.jdbi.v3.vavr","c":"VavrCollectors","l":"toOption()"},{"p":"org.jdbi.v3.core.collector","c":"BuiltInCollectorFactory","l":"toOptional()"},{"p":"org.jdbi.v3.core.collector","c":"OptionalCollectors","l":"toOptional()"},{"p":"org.jdbi.v3.guava","c":"GuavaCollectors","l":"toOptional()"},{"p":"org.jdbi.v3.core.collector","c":"OptionalCollectors","l":"toOptional(Supplier, Function)","u":"toOptional(java.util.function.Supplier,java.util.function.Function)"},{"p":"org.jdbi.v3.core.collector","c":"OptionalCollectors","l":"toOptionalDouble()"},{"p":"org.jdbi.v3.core.collector","c":"OptionalCollectors","l":"toOptionalInt()"},{"p":"org.jdbi.v3.core.collector","c":"OptionalCollectors","l":"toOptionalLong()"},{"p":"org.jdbi.v3.core.argument","c":"CharacterStreamArgument","l":"toString()"},{"p":"org.jdbi.v3.core.argument","c":"InputStreamArgument","l":"toString()"},{"p":"org.jdbi.v3.core.argument","c":"MapArguments","l":"toString()"},{"p":"org.jdbi.v3.core.argument","c":"NullArgument","l":"toString()"},{"p":"org.jdbi.v3.core.argument","c":"ObjectArgument","l":"toString()"},{"p":"org.jdbi.v3.core.argument","c":"ObjectFieldArguments","l":"toString()"},{"p":"org.jdbi.v3.core.argument","c":"ObjectMethodArguments","l":"toString()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionMethod","l":"toString()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"CaseInsensitiveColumnNameMatcher","l":"toString()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"SnakeCaseColumnNameMatcher","l":"toString()"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"toString()"},{"p":"org.jdbi.v3.core","c":"Sql","l":"toString()"},{"p":"org.jdbi.v3.core.statement","c":"Binding","l":"toString()"},{"p":"org.jdbi.v3.core.statement","c":"ParsedParameters","l":"toString()"},{"p":"org.jdbi.v3.core.statement","c":"ParsedSql","l":"toString()"},{"p":"org.jdbi.v3.core.statement","c":"SqlStatement","l":"toString()"},{"p":"org.jdbi.v3.testing.junit5.tc","c":"TestcontainersDatabaseInformation","l":"toString()"},{"p":"org.jdbi.v3.guava","c":"GuavaCollectors","l":"toTreeMultimap()"},{"p":"org.jdbi.v3.sqlobject.statement","c":"SqlBatch","l":"transactional()"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionException","l":"TransactionException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionException","l":"TransactionException(String, Throwable)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionException","l":"TransactionException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.vavr","c":"TupleMappers","l":"TupleMappers()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.postgres","c":"TypedEnumArgumentFactory","l":"TypedEnumArgumentFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.guava.codec","c":"TypeResolvingCodecFactory","l":"TypeResolvingCodecFactory(Map, Codec>)","u":"%3Cinit%3E(java.util.Map)"},{"p":"org.jdbi.v3.core.extension","c":"UnableToCreateExtensionException","l":"UnableToCreateExtensionException(String, Object...)","u":"%3Cinit%3E(java.lang.String,java.lang.Object...)"},{"p":"org.jdbi.v3.core.extension","c":"UnableToCreateExtensionException","l":"UnableToCreateExtensionException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.core.extension","c":"UnableToCreateExtensionException","l":"UnableToCreateExtensionException(Throwable, String, Object...)","u":"%3Cinit%3E(java.lang.Throwable,java.lang.String,java.lang.Object...)"},{"p":"org.jdbi.v3.sqlobject","c":"UnableToCreateSqlObjectException","l":"UnableToCreateSqlObjectException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.jdbi.v3.sqlobject","c":"UnableToCreateSqlObjectException","l":"UnableToCreateSqlObjectException(String, Throwable)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"org.jdbi.v3.sqlobject","c":"UnableToCreateSqlObjectException","l":"UnableToCreateSqlObjectException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.core.statement","c":"UnableToCreateStatementException","l":"UnableToCreateStatementException(Exception, StatementContext)","u":"%3Cinit%3E(java.lang.Exception,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"UnableToCreateStatementException","l":"UnableToCreateStatementException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"UnableToCreateStatementException","l":"UnableToCreateStatementException(String, StatementContext)","u":"%3Cinit%3E(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"UnableToCreateStatementException","l":"UnableToCreateStatementException(String, Throwable)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"org.jdbi.v3.core.statement","c":"UnableToCreateStatementException","l":"UnableToCreateStatementException(String, Throwable, StatementContext)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"UnableToCreateStatementException","l":"UnableToCreateStatementException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.core.statement","c":"UnableToExecuteStatementException","l":"UnableToExecuteStatementException(Exception, StatementContext)","u":"%3Cinit%3E(java.lang.Exception,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"UnableToExecuteStatementException","l":"UnableToExecuteStatementException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"UnableToExecuteStatementException","l":"UnableToExecuteStatementException(String, StatementContext)","u":"%3Cinit%3E(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.statement","c":"UnableToExecuteStatementException","l":"UnableToExecuteStatementException(String, Throwable, StatementContext)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.transaction","c":"UnableToManipulateTransactionIsolationLevelException","l":"UnableToManipulateTransactionIsolationLevelException(int, SQLException)","u":"%3Cinit%3E(int,java.sql.SQLException)"},{"p":"org.jdbi.v3.core.transaction","c":"UnableToManipulateTransactionIsolationLevelException","l":"UnableToManipulateTransactionIsolationLevelException(String, SQLException)","u":"%3Cinit%3E(java.lang.String,java.sql.SQLException)"},{"p":"org.jdbi.v3.core.result","c":"UnableToProduceResultException","l":"UnableToProduceResultException(Exception, StatementContext)","u":"%3Cinit%3E(java.lang.Exception,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.result","c":"UnableToProduceResultException","l":"UnableToProduceResultException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.jdbi.v3.core.result","c":"UnableToProduceResultException","l":"UnableToProduceResultException(String, StatementContext)","u":"%3Cinit%3E(java.lang.String,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.result","c":"UnableToProduceResultException","l":"UnableToProduceResultException(String, Throwable, StatementContext)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable,org.jdbi.v3.core.statement.StatementContext)"},{"p":"org.jdbi.v3.core.result","c":"UnableToProduceResultException","l":"UnableToProduceResultException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.core.transaction","c":"UnableToRestoreAutoCommitStateException","l":"UnableToRestoreAutoCommitStateException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"Definition","l":"UNDEFINED"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionIsolationLevel","l":"UNKNOWN"},{"p":"org.jdbi.v3.core.statement","c":"Update","l":"Update(Handle, CharSequence)","u":"%3Cinit%3E(org.jdbi.v3.core.Handle,java.lang.CharSequence)"},{"p":"org.jdbi.v3.core.statement","c":"Update","l":"Update(Handle, String)","u":"%3Cinit%3E(org.jdbi.v3.core.Handle,java.lang.String)"},{"p":"org.jdbi.v3.core.mapper","c":"CaseStrategy","l":"UPPER"},{"p":"org.jdbi.v3.core.async","c":"AbstractJdbiExecutor","l":"useExtension(Class, ExtensionConsumer)","u":"useExtension(java.lang.Class,org.jdbi.v3.core.extension.ExtensionConsumer)"},{"p":"org.jdbi.v3.core.async","c":"JdbiExecutor","l":"useExtension(Class, ExtensionConsumer)","u":"useExtension(java.lang.Class,org.jdbi.v3.core.extension.ExtensionConsumer)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"useExtension(Class, ExtensionConsumer)","u":"useExtension(java.lang.Class,org.jdbi.v3.core.extension.ExtensionConsumer)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionConsumer","l":"useExtension(E)"},{"p":"org.jdbi.v3.core","c":"HandleConsumer","l":"useHandle(Handle)","u":"useHandle(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.async","c":"AbstractJdbiExecutor","l":"useHandle(HandleConsumer)","u":"useHandle(org.jdbi.v3.core.HandleConsumer)"},{"p":"org.jdbi.v3.core.async","c":"JdbiExecutor","l":"useHandle(HandleConsumer)","u":"useHandle(org.jdbi.v3.core.HandleConsumer)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"useHandle(HandleConsumer)","u":"useHandle(org.jdbi.v3.core.HandleConsumer)"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObject","l":"useHandle(HandleConsumer)","u":"useHandle(org.jdbi.v3.core.HandleConsumer)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"useIterator(IteratorConsumer)","u":"useIterator(org.jdbi.v3.core.result.IteratorConsumer)"},{"p":"org.jdbi.v3.core.result","c":"IteratorConsumer","l":"useIterator(ResultIterator)","u":"useIterator(org.jdbi.v3.core.result.ResultIterator)"},{"p":"org.jdbi.v3.core.result","c":"StreamConsumer","l":"useStream(Stream)","u":"useStream(java.util.stream.Stream)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"useStream(StreamConsumer)","u":"useStream(org.jdbi.v3.core.result.StreamConsumer)"},{"p":"org.jdbi.v3.core.async","c":"AbstractJdbiExecutor","l":"useTransaction(HandleConsumer)","u":"useTransaction(org.jdbi.v3.core.HandleConsumer)"},{"p":"org.jdbi.v3.core.async","c":"JdbiExecutor","l":"useTransaction(HandleConsumer)","u":"useTransaction(org.jdbi.v3.core.HandleConsumer)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"useTransaction(HandleConsumer)","u":"useTransaction(org.jdbi.v3.core.HandleConsumer)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"useTransaction(HandleConsumer)","u":"useTransaction(org.jdbi.v3.core.HandleConsumer)"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"TransactionalConsumer","l":"useTransaction(T)"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"Transactional","l":"useTransaction(TransactionalConsumer)","u":"useTransaction(org.jdbi.v3.sqlobject.transaction.TransactionalConsumer)"},{"p":"org.jdbi.v3.core.async","c":"AbstractJdbiExecutor","l":"useTransaction(TransactionIsolationLevel, HandleConsumer)","u":"useTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.core.HandleConsumer)"},{"p":"org.jdbi.v3.core.async","c":"JdbiExecutor","l":"useTransaction(TransactionIsolationLevel, HandleConsumer)","u":"useTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.core.HandleConsumer)"},{"p":"org.jdbi.v3.core","c":"Handle","l":"useTransaction(TransactionIsolationLevel, HandleConsumer)","u":"useTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.core.HandleConsumer)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"useTransaction(TransactionIsolationLevel, HandleConsumer)","u":"useTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.core.HandleConsumer)"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"Transactional","l":"useTransaction(TransactionIsolationLevel, TransactionalConsumer)","u":"useTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel,org.jdbi.v3.sqlobject.transaction.TransactionalConsumer)"},{"p":"org.jdbi.v3.postgres","c":"UUIDArgumentFactory","l":"UUIDArgumentFactory()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.core.enums","c":"DatabaseValue","l":"value()"},{"p":"org.jdbi.v3.core.extension.annotation","c":"ExtensionHandlerCustomizationOrder","l":"value()"},{"p":"org.jdbi.v3.core.extension.annotation","c":"UseExtensionConfigurer","l":"value()"},{"p":"org.jdbi.v3.core.extension.annotation","c":"UseExtensionHandler","l":"value()"},{"p":"org.jdbi.v3.core.extension.annotation","c":"UseExtensionHandlerCustomizer","l":"value()"},{"p":"org.jdbi.v3.core.mapper","c":"Nested","l":"value()"},{"p":"org.jdbi.v3.core.mapper","c":"PropagateNull","l":"value()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"ColumnName","l":"value()"},{"p":"org.jdbi.v3.jpa","c":"BindJpa","l":"value()"},{"p":"org.jdbi.v3.spring5","c":"EnableJdbiRepositories","l":"value()"},{"p":"org.jdbi.v3.spring5","c":"JdbiRepository","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"ConfiguringAnnotation","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"KeyColumn","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterArgumentFactories","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterArgumentFactory","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterBeanMapper","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterBeanMappers","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterCollector","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterCollectorFactory","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterColumnMapper","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterColumnMapperFactories","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterColumnMapperFactory","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterColumnMappers","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterConstructorMapper","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterConstructorMappers","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterFieldMapper","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterFieldMappers","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterJoinRowMapper","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterObjectArgumentFactories","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterObjectArgumentFactory","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterRowMapper","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterRowMapperFactories","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterRowMapperFactory","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"RegisterRowMappers","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"UseEnumStrategy","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"UseSqlParser","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"UseTemplateEngine","l":"value()"},{"p":"org.jdbi.v3.sqlobject.config","c":"ValueColumn","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"AllowUnusedBindings","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"Bind","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindBean","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindBeanList","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindFields","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindList","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindMap","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindMethods","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindMethodsList","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindPojo","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"Define","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"DefineList","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"Definition","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"Definitions","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"FetchSize","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"MaxRows","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"OutParameterList","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"QueryTimeOut","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"SqlStatementCustomizingAnnotation","l":"value()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"Timestamped","l":"value()"},{"p":"org.jdbi.v3.sqlobject","c":"DecoratorOrder","l":"value()"},{"p":"org.jdbi.v3.sqlobject","c":"SqlMethodDecoratingAnnotation","l":"value()"},{"p":"org.jdbi.v3.sqlobject","c":"SqlOperation","l":"value()"},{"p":"org.jdbi.v3.sqlobject.statement","c":"BatchChunkSize","l":"value()"},{"p":"org.jdbi.v3.sqlobject.statement","c":"GetGeneratedKeys","l":"value()"},{"p":"org.jdbi.v3.sqlobject.statement","c":"SqlBatch","l":"value()"},{"p":"org.jdbi.v3.sqlobject.statement","c":"SqlCall","l":"value()"},{"p":"org.jdbi.v3.sqlobject.statement","c":"SqlQuery","l":"value()"},{"p":"org.jdbi.v3.sqlobject.statement","c":"SqlScript","l":"value()"},{"p":"org.jdbi.v3.sqlobject.statement","c":"SqlScripts","l":"value()"},{"p":"org.jdbi.v3.sqlobject.statement","c":"SqlUpdate","l":"value()"},{"p":"org.jdbi.v3.sqlobject.statement","c":"UseRowMapper","l":"value()"},{"p":"org.jdbi.v3.sqlobject.statement","c":"UseRowReducer","l":"value()"},{"p":"org.jdbi.v3.sqlobject.transaction","c":"Transaction","l":"value()"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionIsolationLevel","l":"valueOf(int)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayArgumentStrategy","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.jdbi.v3.core.enums","c":"EnumStrategy","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionFactory.FactoryFlag","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.jdbi.v3.core.mapper","c":"CaseStrategy","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"AccessibleObjectStrategy","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"EmptyHandling","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.jdbi.v3.core.statement","c":"StatementExceptions.MessageRendering","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionIsolationLevel","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindList.EmptyHandling","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.jdbi.v3.core.array","c":"SqlArrayArgumentStrategy","l":"values()"},{"p":"org.jdbi.v3.core.enums","c":"EnumStrategy","l":"values()"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionFactory.FactoryFlag","l":"values()"},{"p":"org.jdbi.v3.core.mapper","c":"CaseStrategy","l":"values()"},{"p":"org.jdbi.v3.core.mapper.reflect","c":"AccessibleObjectStrategy","l":"values()"},{"p":"org.jdbi.v3.core.statement","c":"EmptyHandling","l":"values()"},{"p":"org.jdbi.v3.core.statement","c":"StatementExceptions.MessageRendering","l":"values()"},{"p":"org.jdbi.v3.core.transaction","c":"TransactionIsolationLevel","l":"values()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindList.EmptyHandling","l":"values()"},{"p":"org.jdbi.v3.vavr","c":"VavrPlugin","l":"VavrPlugin()","u":"%3Cinit%3E()"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"BindList.EmptyHandling","l":"VOID"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionHandler","l":"warm(ConfigRegistry)","u":"warm(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"SqlStatementCustomizer","l":"warm(ConfigRegistry)","u":"warm(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.sqlobject.customizer","c":"SqlStatementParameterCustomizer","l":"warm(ConfigRegistry)","u":"warm(org.jdbi.v3.core.config.ConfigRegistry)"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"with(Annotation...)","u":"with(java.lang.annotation.Annotation...)"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"with(Class...)","u":"with(java.lang.Class...)"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"withAnnotationClasses(Iterable>)","u":"withAnnotationClasses(java.lang.Iterable)"},{"p":"org.jdbi.v3.core.qualifier","c":"QualifiedType","l":"withAnnotations(Iterable)","u":"withAnnotations(java.lang.Iterable)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"withConfig(Class, Consumer)","u":"withConfig(java.lang.Class,java.util.function.Consumer)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiGenericExtension","l":"withCredentials(String, String)","u":"withCredentials(java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiH2Extension","l":"withCredentials(String, String)","u":"withCredentials(java.lang.String,java.lang.String)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiFlywayMigration","l":"withDefaultPath()"},{"p":"org.jdbi.v3.testing","c":"Migration","l":"withDefaultPath()"},{"p":"org.jdbi.v3.core.async","c":"AbstractJdbiExecutor","l":"withExtension(Class, ExtensionCallback)","u":"withExtension(java.lang.Class,org.jdbi.v3.core.extension.ExtensionCallback)"},{"p":"org.jdbi.v3.core.async","c":"JdbiExecutor","l":"withExtension(Class, ExtensionCallback)","u":"withExtension(java.lang.Class,org.jdbi.v3.core.extension.ExtensionCallback)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"withExtension(Class, ExtensionCallback)","u":"withExtension(java.lang.Class,org.jdbi.v3.core.extension.ExtensionCallback)"},{"p":"org.jdbi.v3.core.extension","c":"ExtensionCallback","l":"withExtension(E)"},{"p":"org.jdbi.v3.core","c":"HandleCallback","l":"withHandle(Handle)","u":"withHandle(org.jdbi.v3.core.Handle)"},{"p":"org.jdbi.v3.core.async","c":"AbstractJdbiExecutor","l":"withHandle(HandleCallback)","u":"withHandle(org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core.async","c":"JdbiExecutor","l":"withHandle(HandleCallback)","u":"withHandle(org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.core","c":"Jdbi","l":"withHandle(HandleCallback)","u":"withHandle(org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.sqlobject","c":"SqlObject","l":"withHandle(HandleCallback)","u":"withHandle(org.jdbi.v3.core.HandleCallback)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"withInitializer(JdbiExtensionInitializer)","u":"withInitializer(org.jdbi.v3.testing.junit5.JdbiExtensionInitializer)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"withIterator(IteratorCallback)","u":"withIterator(org.jdbi.v3.core.result.IteratorCallback)"},{"p":"org.jdbi.v3.core.result","c":"IteratorCallback","l":"withIterator(ResultIterator)","u":"withIterator(org.jdbi.v3.core.result.ResultIterator)"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"withMigration(Migration)","u":"withMigration(org.jdbi.v3.testing.Migration)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiFlywayMigration","l":"withPath(String)","u":"withPath(java.lang.String)"},{"p":"org.jdbi.v3.testing","c":"Migration","l":"withPath(String)","u":"withPath(java.lang.String)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiFlywayMigration","l":"withPaths(String...)","u":"withPaths(java.lang.String...)"},{"p":"org.jdbi.v3.testing","c":"Migration","l":"withPaths(String...)","u":"withPaths(java.lang.String...)"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"withPlugin(JdbiPlugin)","u":"withPlugin(org.jdbi.v3.core.spi.JdbiPlugin)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"withPlugin(JdbiPlugin)","u":"withPlugin(org.jdbi.v3.core.spi.JdbiPlugin)"},{"p":"org.jdbi.v3.testing","c":"JdbiRule","l":"withPlugins()"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiExtension","l":"withPlugins(JdbiPlugin...)","u":"withPlugins(org.jdbi.v3.core.spi.JdbiPlugin...)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiFlywayMigration","l":"withSchema(String)","u":"withSchema(java.lang.String)"},{"p":"org.jdbi.v3.testing","c":"Migration","l":"withSchema(String)","u":"withSchema(java.lang.String)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiFlywayMigration","l":"withSchemas(String...)","u":"withSchemas(java.lang.String...)"},{"p":"org.jdbi.v3.testing","c":"Migration","l":"withSchemas(String...)","u":"withSchemas(java.lang.String...)"},{"p":"org.jdbi.v3.core.result","c":"StreamCallback","l":"withStream(Stream)","u":"withStream(java.util.stream.Stream)"},{"p":"org.jdbi.v3.core.result","c":"ResultIterable","l":"withStream(StreamCallback)","u":"withStream(org.jdbi.v3.core.result.StreamCallback)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiGenericExtension","l":"withUser(String)","u":"withUser(java.lang.String)"},{"p":"org.jdbi.v3.testing.junit5","c":"JdbiH2Extension","l":"withUser(String)","u":"withUser(java.lang.String)"},{"p":"org.jdbi.v3.postgres","c":"PgLobApi","l":"writeLob(long, InputStream)","u":"writeLob(long,java.io.InputStream)"}];updateSearchResults(); \ No newline at end of file diff --git a/releases/3.45.2/apidocs/module-search-index.js b/releases/3.45.2/apidocs/module-search-index.js new file mode 100644 index 00000000000..0d59754fc4a --- /dev/null +++ b/releases/3.45.2/apidocs/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineCache.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineCache.html new file mode 100644 index 00000000000..8cd5f3e8330 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineCache.html @@ -0,0 +1,221 @@ + + + + +CaffeineCache (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CaffeineCache<K,V>

+
+
java.lang.Object +
org.jdbi.v3.cache.caffeine.CaffeineCache<K,V>
+
+
+
+
+
Type Parameters:
+
K - The key type.
+
V - The value type.
+
+
+
All Implemented Interfaces:
+
JdbiCache<K,V>
+
+
+
public final class CaffeineCache<K,V> +extends Object +implements JdbiCache<K,V>
+
Cache implementation using the caffeine cache library.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      get

      +
      +
      public V get(K key)
      +
      Description copied from interface: JdbiCache
      +
      Returns the cached value for a key.
      +
      +
      Specified by:
      +
      get in interface JdbiCache<K,V>
      +
      Parameters:
      +
      key - The key value. Must not be null.
      +
      Returns:
      +
      The cached value or null if no value was cached.
      +
      +
      +
      +
    • +
    • +
      +

      getWithLoader

      +
      +
      public V getWithLoader(K key, + JdbiCacheLoader<K,V> loader)
      +
      Description copied from interface: JdbiCache
      +
      Returns a cached value for a key. If no value is cached, create a new value using the + provided cache loader.
      +
      +
      Specified by:
      +
      getWithLoader in interface JdbiCache<K,V>
      +
      Parameters:
      +
      key - The key value. Must not be null.
      +
      loader - A JdbiCacheLoader implementation. May be called with the provided key value.
      +
      Returns:
      +
      The cached value or null if no value was cached.
      +
      +
      +
      +
    • +
    • +
      +

      getStats

      +
      +
      public com.github.benmanes.caffeine.cache.stats.CacheStats getStats()
      +
      Description copied from interface: JdbiCache
      +
      Return implementation specific statistics for the cache object. This can be used to expose + statistic information about the underlying implementation.
      +
      +
      Specified by:
      +
      getStats in interface JdbiCache<K,V>
      +
      Returns:
      +
      An implementation specific object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineCacheBuilder.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineCacheBuilder.html new file mode 100644 index 00000000000..459e251ae91 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineCacheBuilder.html @@ -0,0 +1,267 @@ + + + + +CaffeineCacheBuilder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CaffeineCacheBuilder

+
+
java.lang.Object +
org.jdbi.v3.cache.caffeine.CaffeineCacheBuilder
+
+
+
+
+
All Implemented Interfaces:
+
JdbiCacheBuilder
+
+
+
public final class CaffeineCacheBuilder +extends Object +implements JdbiCacheBuilder
+
Cache builder using the caffeine caching library.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CaffeineCacheBuilder

      +
      +
      public CaffeineCacheBuilder(com.github.benmanes.caffeine.cache.Caffeine<Object,Object> caffeine)
      +
      Wraps an existing Caffeine object for Jdbi internal use.
      +
      +
      Parameters:
      +
      caffeine - A Caffeine object.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      instance

      +
      +
      public static JdbiCacheBuilder instance()
      +
      Returns a new JdbiCacheBuilder which can be used to construct the internal caches.
      +
      +
      Returns:
      +
      A JdbiCacheBuilder instance.
      +
      +
      +
      +
    • +
    • +
      +

      build

      +
      +
      public <K, +V> JdbiCache<K,V> build()
      +
      Description copied from interface: JdbiCacheBuilder
      +
      Creates an cache instance from the values in the builder.
      +
      +
      Specified by:
      +
      build in interface JdbiCacheBuilder
      +
      Returns:
      +
      A cache instance.
      +
      +
      +
      +
    • +
    • +
      +

      buildWithLoader

      +
      +
      public <K, +V> JdbiCache<K,V> buildWithLoader(JdbiCacheLoader<K,V> cacheLoader)
      +
      Description copied from interface: JdbiCacheBuilder
      +
      Creates an cache instance from the values in the builder and a supplied cache loader.
      +
      +
      Specified by:
      +
      buildWithLoader in interface JdbiCacheBuilder
      +
      Parameters:
      +
      cacheLoader - A JdbiCacheLoader instance that is used to create a new value if no value is currently stored in the cache.
      +
      +
      +
      +
    • +
    • +
      +

      maxSize

      +
      +
      public JdbiCacheBuilder maxSize(int maxSize)
      +
      Description copied from interface: JdbiCacheBuilder
      +
      Sets an upper boundary to the cache size.
      +
      +
      Specified by:
      +
      maxSize in interface JdbiCacheBuilder
      +
      Parameters:
      +
      maxSize - Sets the maximum size of the cache. If the value is zero or negative, the cache is unbounded.
      +
      Returns:
      +
      The instance of the builder itself.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineCachePlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineCachePlugin.html new file mode 100644 index 00000000000..e55c26d4970 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineCachePlugin.html @@ -0,0 +1,207 @@ + + + + +CaffeineCachePlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CaffeineCachePlugin

+
+
java.lang.Object +
org.jdbi.v3.cache.caffeine.CaffeineCachePlugin
+
+
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public final class CaffeineCachePlugin +extends Object +implements JdbiPlugin
+
Installing this plugin restores the up-to 3.36.0 behavior of using the Caffeine cache library for SQL statements and the colon prefix parser.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CaffeineCachePlugin

      +
      +
      public CaffeineCachePlugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi jdbi)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Specified by:
      +
      customizeJdbi in interface JdbiPlugin
      +
      Parameters:
      +
      jdbi - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineLoadingCache.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineLoadingCache.html new file mode 100644 index 00000000000..ad2aa650dd5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/CaffeineLoadingCache.html @@ -0,0 +1,221 @@ + + + + +CaffeineLoadingCache (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CaffeineLoadingCache<K,V>

+
+
java.lang.Object +
org.jdbi.v3.cache.caffeine.CaffeineLoadingCache<K,V>
+
+
+
+
+
Type Parameters:
+
K - The key type.
+
V - The value type.
+
+
+
All Implemented Interfaces:
+
JdbiCache<K,V>
+
+
+
public final class CaffeineLoadingCache<K,V> +extends Object +implements JdbiCache<K,V>
+
Cache implementation using the caffeine cache library.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      get

      +
      +
      public V get(K key)
      +
      Description copied from interface: JdbiCache
      +
      Returns the cached value for a key.
      +
      +
      Specified by:
      +
      get in interface JdbiCache<K,V>
      +
      Parameters:
      +
      key - The key value. Must not be null.
      +
      Returns:
      +
      The cached value or null if no value was cached.
      +
      +
      +
      +
    • +
    • +
      +

      getWithLoader

      +
      +
      public V getWithLoader(K key, + JdbiCacheLoader<K,V> loader)
      +
      Description copied from interface: JdbiCache
      +
      Returns a cached value for a key. If no value is cached, create a new value using the + provided cache loader.
      +
      +
      Specified by:
      +
      getWithLoader in interface JdbiCache<K,V>
      +
      Parameters:
      +
      key - The key value. Must not be null.
      +
      loader - A JdbiCacheLoader implementation. May be called with the provided key value.
      +
      Returns:
      +
      The cached value or null if no value was cached.
      +
      +
      +
      +
    • +
    • +
      +

      getStats

      +
      +
      public com.github.benmanes.caffeine.cache.stats.CacheStats getStats()
      +
      Description copied from interface: JdbiCache
      +
      Return implementation specific statistics for the cache object. This can be used to expose + statistic information about the underlying implementation.
      +
      +
      Specified by:
      +
      getStats in interface JdbiCache<K,V>
      +
      Returns:
      +
      An implementation specific object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineCache.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineCache.html new file mode 100644 index 00000000000..f0a8d2c3b55 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineCache.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.cache.caffeine.CaffeineCache (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.cache.caffeine.CaffeineCache

+
+No usage of org.jdbi.v3.cache.caffeine.CaffeineCache
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineCacheBuilder.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineCacheBuilder.html new file mode 100644 index 00000000000..cf5d1c3ea1b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineCacheBuilder.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.cache.caffeine.CaffeineCacheBuilder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.cache.caffeine.CaffeineCacheBuilder

+
+No usage of org.jdbi.v3.cache.caffeine.CaffeineCacheBuilder
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineCachePlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineCachePlugin.html new file mode 100644 index 00000000000..f9c5563d863 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineCachePlugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.cache.caffeine.CaffeineCachePlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.cache.caffeine.CaffeineCachePlugin

+
+No usage of org.jdbi.v3.cache.caffeine.CaffeineCachePlugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineLoadingCache.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineLoadingCache.html new file mode 100644 index 00000000000..5002a2fb76d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/class-use/CaffeineLoadingCache.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.cache.caffeine.CaffeineLoadingCache (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.cache.caffeine.CaffeineLoadingCache

+
+No usage of org.jdbi.v3.cache.caffeine.CaffeineLoadingCache
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/package-summary.html new file mode 100644 index 00000000000..aa2b0384840 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/package-summary.html @@ -0,0 +1,110 @@ + + + + +org.jdbi.v3.cache.caffeine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.cache.caffeine

+
+
+
+
package org.jdbi.v3.cache.caffeine
+
+
Cache implementation using the Caffeine cache library.
+
+
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Cache implementation using the caffeine cache library.
    +
    + +
    +
    Cache builder using the caffeine caching library.
    +
    + +
    +
    Installing this plugin restores the up-to 3.36.0 behavior of using the Caffeine cache library for SQL statements and the colon prefix parser.
    +
    + +
    +
    Cache implementation using the caffeine cache library.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/package-tree.html new file mode 100644 index 00000000000..9fc595742eb --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/package-tree.html @@ -0,0 +1,74 @@ + + + + +org.jdbi.v3.cache.caffeine Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.cache.caffeine

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/package-use.html new file mode 100644 index 00000000000..34832ce03ad --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/caffeine/package-use.html @@ -0,0 +1,57 @@ + + + + +Uses of Package org.jdbi.v3.cache.caffeine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.cache.caffeine

+
+No usage of org.jdbi.v3.cache.caffeine
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/NoopCache.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/NoopCache.html new file mode 100644 index 00000000000..c553bdfe6d0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/NoopCache.html @@ -0,0 +1,239 @@ + + + + +NoopCache (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class NoopCache<K,V>

+
+
java.lang.Object +
org.jdbi.v3.cache.noop.NoopCache<K,V>
+
+
+
+
+
Type Parameters:
+
K - The key type.
+
V - The value type.
+
+
+
All Implemented Interfaces:
+
JdbiCache<K,V>
+
+
+
public final class NoopCache<K,V> +extends Object +implements JdbiCache<K,V>
+
A no operation cache implementation.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      builder

      +
      +
      public static JdbiCacheBuilder builder()
      +
      Returns a new JdbiCacheBuilder which can be used to construct the internal caches.
      +
      +
      Returns:
      +
      A JdbiCacheBuilder instance.
      +
      +
      +
      +
    • +
    • +
      +

      get

      +
      +
      public V get(K key)
      +
      Description copied from interface: JdbiCache
      +
      Returns the cached value for a key.
      +
      +
      Specified by:
      +
      get in interface JdbiCache<K,V>
      +
      Parameters:
      +
      key - The key value. Must not be null.
      +
      Returns:
      +
      The cached value or null if no value was cached.
      +
      +
      +
      +
    • +
    • +
      +

      getWithLoader

      +
      +
      public V getWithLoader(K key, + JdbiCacheLoader<K,V> loader)
      +
      Description copied from interface: JdbiCache
      +
      Returns a cached value for a key. If no value is cached, create a new value using the + provided cache loader.
      +
      +
      Specified by:
      +
      getWithLoader in interface JdbiCache<K,V>
      +
      Parameters:
      +
      key - The key value. Must not be null.
      +
      loader - A JdbiCacheLoader implementation. May be called with the provided key value.
      +
      Returns:
      +
      The cached value or null if no value was cached.
      +
      +
      +
      +
    • +
    • +
      +

      getStats

      +
      +
      public Object getStats()
      +
      Description copied from interface: JdbiCache
      +
      Return implementation specific statistics for the cache object. This can be used to expose + statistic information about the underlying implementation.
      +
      +
      Specified by:
      +
      getStats in interface JdbiCache<K,V>
      +
      Returns:
      +
      An implementation specific object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/NoopCacheBuilder.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/NoopCacheBuilder.html new file mode 100644 index 00000000000..dc220852ea6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/NoopCacheBuilder.html @@ -0,0 +1,213 @@ + + + + +NoopCacheBuilder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class NoopCacheBuilder

+
+
java.lang.Object +
org.jdbi.v3.cache.noop.NoopCacheBuilder
+
+
+
+
+
All Implemented Interfaces:
+
JdbiCacheBuilder
+
+
+
public final class NoopCacheBuilder +extends Object +implements JdbiCacheBuilder
+
Cache builder for the no op cache.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      +
      public <K, +V> JdbiCache<K,V> build()
      +
      Description copied from interface: JdbiCacheBuilder
      +
      Creates an cache instance from the values in the builder.
      +
      +
      Specified by:
      +
      build in interface JdbiCacheBuilder
      +
      Returns:
      +
      A cache instance.
      +
      +
      +
      +
    • +
    • +
      +

      buildWithLoader

      +
      +
      public <K, +V> JdbiCache<K,V> buildWithLoader(JdbiCacheLoader<K,V> cacheLoader)
      +
      Description copied from interface: JdbiCacheBuilder
      +
      Creates an cache instance from the values in the builder and a supplied cache loader.
      +
      +
      Specified by:
      +
      buildWithLoader in interface JdbiCacheBuilder
      +
      Parameters:
      +
      cacheLoader - A JdbiCacheLoader instance that is used to create a new value if no value is currently stored in the cache.
      +
      +
      +
      +
    • +
    • +
      +

      maxSize

      +
      +
      public JdbiCacheBuilder maxSize(int maxSize)
      +
      Description copied from interface: JdbiCacheBuilder
      +
      Sets an upper boundary to the cache size.
      +
      +
      Specified by:
      +
      maxSize in interface JdbiCacheBuilder
      +
      Parameters:
      +
      maxSize - Sets the maximum size of the cache. If the value is zero or negative, the cache is unbounded.
      +
      Returns:
      +
      The instance of the builder itself.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/NoopCachePlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/NoopCachePlugin.html new file mode 100644 index 00000000000..4493c899732 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/NoopCachePlugin.html @@ -0,0 +1,207 @@ + + + + +NoopCachePlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class NoopCachePlugin

+
+
java.lang.Object +
org.jdbi.v3.cache.noop.NoopCachePlugin
+
+
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public final class NoopCachePlugin +extends Object +implements JdbiPlugin
+
Installing this plugin uses the no op (no caching) cache.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      NoopCachePlugin

      +
      +
      public NoopCachePlugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi jdbi)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Specified by:
      +
      customizeJdbi in interface JdbiPlugin
      +
      Parameters:
      +
      jdbi - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/class-use/NoopCache.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/class-use/NoopCache.html new file mode 100644 index 00000000000..b74f0df0226 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/class-use/NoopCache.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.cache.noop.NoopCache (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.cache.noop.NoopCache

+
+No usage of org.jdbi.v3.cache.noop.NoopCache
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/class-use/NoopCacheBuilder.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/class-use/NoopCacheBuilder.html new file mode 100644 index 00000000000..b8b5c455511 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/class-use/NoopCacheBuilder.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.cache.noop.NoopCacheBuilder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.cache.noop.NoopCacheBuilder

+
+No usage of org.jdbi.v3.cache.noop.NoopCacheBuilder
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/class-use/NoopCachePlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/class-use/NoopCachePlugin.html new file mode 100644 index 00000000000..9e87f354985 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/class-use/NoopCachePlugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.cache.noop.NoopCachePlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.cache.noop.NoopCachePlugin

+
+No usage of org.jdbi.v3.cache.noop.NoopCachePlugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/package-summary.html new file mode 100644 index 00000000000..d87c99d5eb9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/package-summary.html @@ -0,0 +1,106 @@ + + + + +org.jdbi.v3.cache.noop (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.cache.noop

+
+
+
+
package org.jdbi.v3.cache.noop
+
+
A non-caching cache implementation.
+
+
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    A no operation cache implementation.
    +
    + +
    +
    Cache builder for the no op cache.
    +
    + +
    +
    Installing this plugin uses the no op (no caching) cache.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/package-tree.html new file mode 100644 index 00000000000..7d6b4e49c16 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/package-tree.html @@ -0,0 +1,73 @@ + + + + +org.jdbi.v3.cache.noop Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.cache.noop

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/package-use.html new file mode 100644 index 00000000000..75244016e3a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/cache/noop/package-use.html @@ -0,0 +1,57 @@ + + + + +Uses of Package org.jdbi.v3.cache.noop (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.cache.noop

+
+No usage of org.jdbi.v3.cache.noop
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/StringSubstitutorTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/StringSubstitutorTemplateEngine.html new file mode 100644 index 00000000000..14d3d87f3d2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/StringSubstitutorTemplateEngine.html @@ -0,0 +1,295 @@ + + + + +StringSubstitutorTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class StringSubstitutorTemplateEngine

+
+
java.lang.Object +
org.jdbi.v3.commonstext.StringSubstitutorTemplateEngine
+
+
+
+
+
All Implemented Interfaces:
+
TemplateEngine
+
+
+
public class StringSubstitutorTemplateEngine +extends Object +implements TemplateEngine
+
Register an instance of this class (SqlStatements.setTemplateEngine(org.jdbi.v3.core.statement.TemplateEngine)) to use an Apache Commons Text StringSubstitutor as a TemplateEngine. This lets you use any pair of strings as variable delimiters, enabling the use of syntax like
select * from ${foo}
,
select * from <foo>
,
select * from %foo%
, etc.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      StringSubstitutorTemplateEngine

      +
      +
      public StringSubstitutorTemplateEngine()
      +
      Default is
      ${foo}
      syntax.
      +
      +
      +
    • +
    • +
      +

      StringSubstitutorTemplateEngine

      +
      +
      public StringSubstitutorTemplateEngine(Consumer<org.apache.commons.text.StringSubstitutor> customizer)
      +
      Customize the given StringSubstitutor instance to set your preferred prefix, suffix, escape character, and perhaps other configuration. The instance is created by Jdbi, and is not shared nor re-used. Your customizer function however will be re-used for all instances.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/UseStringSubstitutorTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/UseStringSubstitutorTemplateEngine.html new file mode 100644 index 00000000000..5dbf2c62db3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/UseStringSubstitutorTemplateEngine.html @@ -0,0 +1,170 @@ + + + + +UseStringSubstitutorTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseStringSubstitutorTemplateEngine

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface UseStringSubstitutorTemplateEngine
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    +
    char
    + +
     
    + + +
     
    + + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      prefix

      +
      +
      String prefix
      +
      +
      Default:
      +
      "${"
      +
      +
      +
      +
    • +
    • +
      +

      suffix

      +
      +
      String suffix
      +
      +
      Default:
      +
      "}"
      +
      +
      +
      +
    • +
    • +
      +

      escape

      +
      +
      char escape
      +
      +
      Default:
      +
      '\\'
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/class-use/StringSubstitutorTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/class-use/StringSubstitutorTemplateEngine.html new file mode 100644 index 00000000000..ecad493e276 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/class-use/StringSubstitutorTemplateEngine.html @@ -0,0 +1,97 @@ + + + + +Uses of Class org.jdbi.v3.commonstext.StringSubstitutorTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.commonstext.StringSubstitutorTemplateEngine

+
+ +
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/class-use/UseStringSubstitutorTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/class-use/UseStringSubstitutorTemplateEngine.html new file mode 100644 index 00000000000..f1df5cf01f9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/class-use/UseStringSubstitutorTemplateEngine.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.commonstext.UseStringSubstitutorTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.commonstext.UseStringSubstitutorTemplateEngine

+
+No usage of org.jdbi.v3.commonstext.UseStringSubstitutorTemplateEngine
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/package-summary.html new file mode 100644 index 00000000000..41644614264 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/package-summary.html @@ -0,0 +1,99 @@ + + + + +org.jdbi.v3.commonstext (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.commonstext

+
+
+
+
package org.jdbi.v3.commonstext
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/package-tree.html new file mode 100644 index 00000000000..e0a42e54f16 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/package-tree.html @@ -0,0 +1,77 @@ + + + + +org.jdbi.v3.commonstext Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.commonstext

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/package-use.html new file mode 100644 index 00000000000..c3999d1de2a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/commonstext/package-use.html @@ -0,0 +1,81 @@ + + + + +Uses of Package org.jdbi.v3.commonstext (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.commonstext

+
+
Packages that use org.jdbi.v3.commonstext
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/CloseException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/CloseException.html new file mode 100644 index 00000000000..45bd621f34b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/CloseException.html @@ -0,0 +1,175 @@ + + + + +CloseException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CloseException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class CloseException +extends JdbiException
+
Thrown when an exception occurs while attempting to close a database resource.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CloseException

      +
      +
      public CloseException(String string, + Throwable throwable)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/ConnectionException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/ConnectionException.html new file mode 100644 index 00000000000..e83a6b69fe4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/ConnectionException.html @@ -0,0 +1,172 @@ + + + + +ConnectionException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ConnectionException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class ConnectionException +extends JdbiException
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ConnectionException

      +
      +
      public ConnectionException(Throwable cause)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/ConnectionFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/ConnectionFactory.html new file mode 100644 index 00000000000..55ccfdf1727 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/ConnectionFactory.html @@ -0,0 +1,205 @@ + + + + +ConnectionFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ConnectionFactory

+
+
+
+
+
All Known Implementing Classes:
+
SpringConnectionFactory
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface ConnectionFactory
+
Supplies Connection instances to a created Handle and allows + custom close handling.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/Handle.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/Handle.html new file mode 100644 index 00000000000..b74f618fba6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/Handle.html @@ -0,0 +1,1391 @@ + + + + +Handle (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Handle

+
+
java.lang.Object +
org.jdbi.v3.core.Handle
+
+
+
+
+
All Implemented Interfaces:
+
Closeable, AutoCloseable, Configurable<Handle>
+
+
+
public class Handle +extends Object +implements Closeable, Configurable<Handle>
+
This represents a connection to the database system. It is a wrapper around + a JDBC Connection object. Handle provides essential methods for transaction + management, statement creation, and other operations tied to the database session.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getJdbi

      +
      +
      public Jdbi getJdbi()
      +
      Returns the Jdbi object used to create this handle.
      +
      +
      Returns:
      +
      The Jdbi object used to create this handle.
      +
      +
      +
      +
    • +
    • +
      +

      getConfig

      +
      +
      public ConfigRegistry getConfig()
      +
      The current configuration object associated with this handle.
      +
      +
      Specified by:
      +
      getConfig in interface Configurable<Handle>
      +
      Returns:
      +
      A ConfigRegistry object that is associated with the handle.
      +
      +
      +
      +
    • +
    • +
      +

      getConnection

      +
      +
      public Connection getConnection()
      +
      Get the JDBC Connection this Handle uses.
      +
      +
      Returns:
      +
      the JDBC Connection this Handle uses.
      +
      +
      +
      +
    • +
    • +
      +

      getStatementBuilder

      +
      +
      public StatementBuilder getStatementBuilder()
      +
      Returns the current StatementBuilder which is used to create new JDBC Statement objects.
      +
      +
      Returns:
      +
      the current StatementBuilder.
      +
      +
      +
      +
    • +
    • +
      +

      setStatementBuilder

      +
      +
      public Handle setStatementBuilder(StatementBuilder builder)
      +
      Set the statement builder for this handle.
      +
      +
      Parameters:
      +
      builder - StatementBuilder to be used. Must not be null.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      addHandleListener

      +
      +
      public Handle addHandleListener(HandleListener handleListener)
      +
      Add a specific HandleListener which is called for specific events for this Handle. Note that + it is not possible to add a listener that wants to implement HandleListener.handleCreated(org.jdbi.v3.core.Handle) this way + as the handle has already been created. Use Handles.addListener(org.jdbi.v3.core.HandleListener) in this case. +
      + A listener added through this call is specific to the handle and not shared with other handles.
      +
      +
      Parameters:
      +
      handleListener - A HandleListener object.
      +
      Returns:
      +
      The handle itself.
      +
      +
      +
      +
    • +
    • +
      +

      removeHandleListener

      +
      +
      public Handle removeHandleListener(HandleListener handleListener)
      +
      Remove a HandleListener from this handle. +
      + Removing the listener only affects the current handle. To remove a listener for all future handles, use Handles.removeListener(org.jdbi.v3.core.HandleListener).
      +
      +
      Parameters:
      +
      handleListener - A HandleListener object.
      +
      Returns:
      +
      The handle itself.
      +
      +
      +
      +
    • +
    • +
      +

      addCleanable

      +
      +
      public final void addCleanable(Cleanable cleanable)
      +
      Registers a Cleanable to be invoked when the handle is closed. Any cleanable registered here will only be cleaned once. +

      + Resources cleaned up by Jdbi include ResultSet, Statement, Array, and StatementBuilder.

      +
      +
      Parameters:
      +
      cleanable - the Cleanable to clean on close
      +
      +
      +
      +
    • +
    • +
      +

      removeCleanable

      +
      +
      public final void removeCleanable(Cleanable cleanable)
      +
      Unregister a Cleanable from the Handle.
      +
      +
      Parameters:
      +
      cleanable - the Cleanable to be unregistered.
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      public void close()
      +
      Closes the handle, its connection, and any other database resources it is holding.
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      Specified by:
      +
      close in interface Closeable
      +
      Throws:
      +
      CloseException - if any resources throw exception while closing
      +
      TransactionException - if called while the handle has a transaction open. The open transaction will be + rolled back.
      +
      +
      +
      +
    • +
    • +
      +

      clean

      +
      +
      public void clean()
      +
      Release any database resource that may be held by the handle. This affects + any statement that was created from the Handle.
      +
      +
      +
    • +
    • +
      +

      isClean

      +
      +
      public boolean isClean()
      +
      Returns true if the Handle currently holds no database resources. +
      + Note that this method will return false right after statement creation + as every statement registers its statement context with the handle. Once
      +
      +
      Returns:
      +
      True if the handle holds no database resources.
      +
      +
      +
      +
    • +
    • +
      +

      isClosed

      +
      +
      public boolean isClosed()
      +
      Returns true if the Handle has been closed.
      +
      +
      Returns:
      +
      True if the Handle is closed.
      +
      +
      +
      +
    • +
    • +
      +

      select

      +
      +
      public Query select(CharSequence sql, + Object... args)
      +
      Convenience method which creates a query with the given positional arguments.
      +
      +
      Parameters:
      +
      sql - SQL or named statement
      +
      args - arguments to bind positionally
      +
      Returns:
      +
      query object
      +
      +
      +
      +
    • +
    • +
      +

      select

      +
      +
      public Query select(String sql, + Object... args)
      +
      Convenience method which creates a query with the given positional arguments. Takes a string argument for backwards compatibility reasons.
      +
      +
      Parameters:
      +
      sql - SQL or named statement
      +
      args - arguments to bind positionally
      +
      Returns:
      +
      query object
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      execute

      +
      +
      public int execute(CharSequence sql, + Object... args)
      +
      Execute a SQL statement, and return the number of rows affected by the statement.
      +
      +
      Parameters:
      +
      sql - the SQL statement to execute, using positional parameters (if any).
      +
      args - positional arguments.
      +
      Returns:
      +
      the number of rows affected.
      +
      +
      +
      +
    • +
    • +
      +

      execute

      +
      +
      public int execute(String sql, + Object... args)
      +
      Execute a SQL statement, and return the number of rows affected by the statement. Takes a string argument for backwards compatibility reasons.
      +
      +
      Parameters:
      +
      sql - the SQL statement to execute, using positional parameters (if any).
      +
      args - positional arguments.
      +
      Returns:
      +
      the number of rows affected.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      createBatch

      +
      +
      public Batch createBatch()
      +
      Create a non-prepared (no bound parameters, but different SQL) batch statement.
      +
      +
      Returns:
      +
      empty batch
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      prepareBatch

      +
      +
      public PreparedBatch prepareBatch(CharSequence sql)
      +
      Prepare a batch to execute. This is for efficiently executing more than one + of the same statements with different parameters bound.
      +
      +
      Parameters:
      +
      sql - the batch SQL.
      +
      Returns:
      +
      a batch which can have "statements" added.
      +
      +
      +
      +
    • +
    • +
      +

      prepareBatch

      +
      +
      public PreparedBatch prepareBatch(String sql)
      +
      Prepare a batch to execute. This is for efficiently executing more than one + of the same statements with different parameters bound. Takes a string argument for backwards compatibility reasons.
      +
      +
      Parameters:
      +
      sql - the batch SQL.
      +
      Returns:
      +
      a batch which can have "statements" added.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      createCall

      +
      +
      public Call createCall(CharSequence sql)
      +
      Create a call to a stored procedure.
      +
      +
      Parameters:
      +
      sql - the stored procedure sql.
      +
      Returns:
      +
      the Call.
      +
      +
      +
      +
    • +
    • +
      +

      createCall

      +
      +
      public Call createCall(String sql)
      +
      Create a call to a stored procedure. Takes a string argument for backwards compatibility reasons.
      +
      +
      Parameters:
      +
      sql - the stored procedure sql.
      +
      Returns:
      +
      the Call.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      createQuery

      +
      +
      public Query createQuery(CharSequence sql)
      +
      Return a Query instance that executes a statement + with bound parameters and maps the result set into Java types.
      +
      +
      Parameters:
      +
      sql - SQL that may return results.
      +
      Returns:
      +
      a Query builder.
      +
      +
      +
      +
    • +
    • +
      +

      createQuery

      +
      +
      public Query createQuery(String sql)
      +
      Return a Query instance that executes a statement + with bound parameters and maps the result set into Java types. Takes a string argument for backwards compatibility reasons.
      +
      +
      Parameters:
      +
      sql - SQL that may return results.
      +
      Returns:
      +
      a Query builder.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      createScript

      +
      +
      public Script createScript(CharSequence sql)
      +
      Creates a Script from the given SQL script.
      +
      +
      Parameters:
      +
      sql - the SQL script.
      +
      Returns:
      +
      the created Script.
      +
      +
      +
      +
    • +
    • +
      +

      createScript

      +
      +
      public Script createScript(String sql)
      +
      Create an Insert or Update statement which returns the number of rows modified. Takes a string argument for backwards compatibility reasons.
      +
      +
      Parameters:
      +
      sql - the statement sql.
      +
      Returns:
      +
      the Update builder.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      createUpdate

      +
      +
      public Update createUpdate(CharSequence sql)
      +
      Create an Insert or Update statement which returns the number of rows modified.
      +
      +
      Parameters:
      +
      sql - the statement sql.
      +
      Returns:
      +
      the Update builder.
      +
      +
      +
      +
    • +
    • +
      +

      createUpdate

      +
      +
      public Update createUpdate(String sql)
      +
      Create an Insert or Update statement which returns the number of rows modified. Takes a string argument for backwards compatibility reasons.
      +
      +
      Parameters:
      +
      sql - the statement sql.
      +
      Returns:
      +
      the Update builder.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      queryMetadata

      +
      +
      public ResultBearing queryMetadata(MetaData.MetaDataResultSetProvider metadataFunction)
      +
      Access database metadata that returns a ResultSet. All methods of ResultBearing can be used to format + and map the returned results. + +
      +     List<String> catalogs = h.queryMetadata(DatabaseMetaData::getCatalogs)
      +                                      .mapTo(String.class)
      +                                      .list();
      + 
      +

      + returns the list of catalogs from the current database.

      +
      +
      Parameters:
      +
      metadataFunction - Maps the provided DatabaseMetaData object onto a ResultSet object.
      +
      Returns:
      +
      The metadata builder.
      +
      +
      +
      +
    • +
    • +
      +

      queryMetadata

      +
      +
      public <T> T queryMetadata(MetaData.MetaDataValueProvider<T> metadataFunction)
      +
      Access all database metadata that returns simple values. + +
      +     boolean supportsTransactions = handle.queryMetadata(DatabaseMetaData::supportsTransactions);
      + 
      +
      +
      Parameters:
      +
      metadataFunction - Maps the provided DatabaseMetaData object to a response object.
      +
      Returns:
      +
      The response object.
      +
      +
      +
      +
    • +
    • +
      +

      isInTransaction

      +
      +
      public boolean isInTransaction()
      +
      Returns whether the handle is in a transaction. Delegates to the underlying TransactionHandler.
      +
      +
      Returns:
      +
      True if the handle is in a transaction.
      +
      +
      +
      +
    • +
    • +
      +

      begin

      +
      +
      public Handle begin()
      +
      Start a transaction.
      +
      +
      Returns:
      +
      the same handle.
      +
      +
      +
      +
    • +
    • +
      +

      commit

      +
      +
      public Handle commit()
      +
      Commit a transaction.
      +
      +
      Returns:
      +
      the same handle.
      +
      +
      +
      +
    • +
    • +
      +

      rollback

      +
      +
      public Handle rollback()
      +
      Rollback a transaction.
      +
      +
      Returns:
      +
      the same handle.
      +
      +
      +
      +
    • +
    • +
      +

      afterCommit

      +
      +
      @Beta +public Handle afterCommit(Runnable afterCommit)
      +
      Execute an action the next time this Handle commits, unless it is rolled back first.
      +
      +
      Parameters:
      +
      afterCommit - the action to execute after commit.
      +
      Returns:
      +
      this Handle.
      +
      +
      +
      +
    • +
    • +
      +

      afterRollback

      +
      +
      @Beta +public Handle afterRollback(Runnable afterRollback)
      +
      Execute an action the next time this Handle rolls back, unless it is committed first.
      +
      +
      Parameters:
      +
      afterRollback - the action to execute after rollback.
      +
      Returns:
      +
      this Handle.
      +
      +
      +
      +
    • +
    • +
      +

      rollbackToSavepoint

      +
      +
      public Handle rollbackToSavepoint(String savepointName)
      +
      Rollback a transaction to a named savepoint.
      +
      +
      Parameters:
      +
      savepointName - the name of the savepoint, previously declared with savepoint(java.lang.String).
      +
      Returns:
      +
      the same handle.
      +
      +
      +
      +
    • +
    • +
      +

      savepoint

      +
      +
      public Handle savepoint(String name)
      +
      Create a transaction savepoint with the name provided.
      +
      +
      Parameters:
      +
      name - The name of the savepoint.
      +
      Returns:
      +
      The same handle.
      +
      +
      +
      +
    • +
    • +
      +

      release

      +
      +
      @Deprecated +public Handle release(String savepointName)
      +
      Deprecated. + +
      +
      Release a previously created savepoint.
      +
      +
      Parameters:
      +
      savepointName - the name of the savepoint to release.
      +
      Returns:
      +
      the same handle.
      +
      +
      +
      +
    • +
    • +
      +

      releaseSavepoint

      +
      +
      public Handle releaseSavepoint(String savepointName)
      +
      Release a previously created savepoint.
      +
      +
      Parameters:
      +
      savepointName - the name of the savepoint to release.
      +
      Returns:
      +
      the same handle.
      +
      +
      +
      +
    • +
    • +
      +

      isReadOnly

      +
      +
      public boolean isReadOnly()
      +
      Whether the connection is in read-only mode.
      +
      +
      Returns:
      +
      True if the connection is in read-only mode.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      setReadOnly

      +
      +
      public Handle setReadOnly(boolean readOnly)
      +
      Set the Handle read-only. This acts as a hint to the database to improve performance or concurrency. +
      + May not be called in an active transaction!
      +
      +
      Parameters:
      +
      readOnly - whether the Handle is readOnly.
      +
      Returns:
      +
      this Handle.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      public <R, +X extends Exception> R inTransaction(HandleCallback<R,X> callback) + throws X
      +
      Executes callback in a transaction, and returns the result of the callback.
      +
      +
      Type Parameters:
      +
      R - type returned by callback
      +
      X - exception type thrown by the callback, if any
      +
      Parameters:
      +
      callback - a callback which will receive an open handle, in a transaction.
      +
      Returns:
      +
      value returned from the callback
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      useTransaction

      +
      +
      public <X extends Exception> void useTransaction(HandleConsumer<X> consumer) + throws X
      +
      Executes callback in a transaction.
      +
      +
      Type Parameters:
      +
      X - exception type thrown by the callback, if any
      +
      Parameters:
      +
      consumer - a callback which will receive an open handle, in a transaction.
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      public <R, +X extends Exception> R inTransaction(TransactionIsolationLevel level, + HandleCallback<R,X> callback) + throws X
      +
      Executes callback in a transaction, and returns the result of the callback. +

      + This form accepts a transaction isolation level which will be applied to the connection + for the scope of this transaction, after which the original isolation level will be restored. +

      +
      +
      Type Parameters:
      +
      R - type returned by callback
      +
      X - exception type thrown by the callback, if any
      +
      Parameters:
      +
      level - the transaction isolation level which will be applied to the connection for the scope of this + transaction, after which the original isolation level will be restored.
      +
      callback - a callback which will receive an open handle, in a transaction.
      +
      Returns:
      +
      value returned from the callback
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      useTransaction

      +
      +
      public <X extends Exception> void useTransaction(TransactionIsolationLevel level, + HandleConsumer<X> consumer) + throws X
      +
      Executes callback in a transaction. +

      + This form accepts a transaction isolation level which will be applied to the connection + for the scope of this transaction, after which the original isolation level will be restored. +

      +
      +
      Type Parameters:
      +
      X - exception type thrown by the callback, if any
      +
      Parameters:
      +
      level - the transaction isolation level which will be applied to the connection for the scope of this + transaction, after which the original isolation level will be restored.
      +
      consumer - a callback which will receive an open handle, in a transaction.
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      setTransactionIsolation

      +
      +
      @Deprecated +public void setTransactionIsolation(TransactionIsolationLevel level)
      + +
      Set the transaction isolation level on the underlying connection if it is different from the current isolation level.
      +
      +
      Parameters:
      +
      level - the TransactionIsolationLevel to use.
      +
      Throws:
      +
      UnableToManipulateTransactionIsolationLevelException - if isolation level is not supported by the underlying connection or JDBC driver.
      +
      +
      +
      +
    • +
    • +
      +

      setTransactionIsolationLevel

      +
      +
      public void setTransactionIsolationLevel(TransactionIsolationLevel level)
      +
      Set the transaction isolation level on the underlying connection if it is different from the current isolation level.
      +
      +
      Parameters:
      +
      level - the TransactionIsolationLevel to use.
      +
      Throws:
      +
      UnableToManipulateTransactionIsolationLevelException - if isolation level is not supported by the underlying connection or JDBC driver.
      +
      +
      +
      +
    • +
    • +
      +

      setTransactionIsolation

      +
      +
      @Deprecated +public void setTransactionIsolation(int level)
      + +
      Set the transaction isolation level on the underlying connection if it is different from the current isolation level.
      +
      +
      Parameters:
      +
      level - the isolation level to use.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      setTransactionIsolationLevel

      +
      +
      public void setTransactionIsolationLevel(int level)
      +
      Set the transaction isolation level on the underlying connection if it is different from the current isolation level.
      +
      +
      Parameters:
      +
      level - the isolation level to use.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      getTransactionIsolationLevel

      +
      +
      public TransactionIsolationLevel getTransactionIsolationLevel()
      +
      Obtain the current transaction isolation level.
      +
      +
      Returns:
      +
      the current isolation level on the underlying connection.
      +
      +
      +
      +
    • +
    • +
      +

      attach

      +
      +
      public <T> T attach(Class<T> extensionType)
      +
      Create a Jdbi extension object of the specified type bound to this handle. The returned extension's lifecycle is + coupled to the lifecycle of this handle. Closing the handle will render the extension unusable.
      +
      +
      Type Parameters:
      +
      T - the extension type
      +
      Parameters:
      +
      extensionType - the extension class
      +
      Returns:
      +
      the new extension object bound to this handle
      +
      +
      +
      +
    • +
    • +
      +

      getExtensionMethod

      +
      +
      public ExtensionMethod getExtensionMethod()
      +
      Returns the extension method currently bound to the handle's context.
      +
      +
      Returns:
      +
      the extension method currently bound to the handle's context
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleCallback.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleCallback.html new file mode 100644 index 00000000000..a1034c40b94 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleCallback.html @@ -0,0 +1,162 @@ + + + + +HandleCallback (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface HandleCallback<T,X extends Exception>

+
+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface HandleCallback<T,X extends Exception>
+
Callback that accepts a Handle that remains open for the duration + of the callback invocation. The Handle is not guaranteed to remain + valid past the return from the callback.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Will be invoked with an open Handle.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      withHandle

      +
      +
      T withHandle(Handle handle) + throws X
      +
      Will be invoked with an open Handle. The handle may be closed when this callback returns.
      +
      +
      Parameters:
      +
      handle - Handle to be used only within scope of this callback
      +
      Returns:
      +
      The return value of the callback
      +
      Throws:
      +
      X - optional exception thrown by the callback
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleCallbackDecorator.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleCallbackDecorator.html new file mode 100644 index 00000000000..e7390956226 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleCallbackDecorator.html @@ -0,0 +1,193 @@ + + + + +HandleCallbackDecorator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface HandleCallbackDecorator

+
+
+ +
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleConsumer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleConsumer.html new file mode 100644 index 00000000000..aeee3c018cd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleConsumer.html @@ -0,0 +1,170 @@ + + + + +HandleConsumer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface HandleConsumer<X extends Exception>

+
+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface HandleConsumer<X extends Exception>
+
Callback that accepts a Handle and returns no result. The provided + Handle may not remain valid past return from the consumer.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
     
    +
    void
    +
    useHandle(Handle handle)
    +
    +
    Will be invoked with an open Handle.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      useHandle

      +
      +
      void useHandle(Handle handle) + throws X
      +
      Will be invoked with an open Handle. The handle may be closed when this callback returns.
      +
      +
      Parameters:
      +
      handle - Handle to be used only within scope of this callback
      +
      Throws:
      +
      X - optional exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      asCallback

      +
      +
      default HandleCallback<Void,X> asCallback()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleListener.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleListener.html new file mode 100644 index 00000000000..62fd9d65e53 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleListener.html @@ -0,0 +1,171 @@ + + + + +HandleListener (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface HandleListener

+
+
+
+
+
public interface HandleListener
+
Allows listening to events on the Handle lifecycle. +
+ HandleListener objects are stored in a collection class. To ensure correct operation, they should implement Object.equals(java.lang.Object) and + Object.hashCode() to allow correct addition and deletion from the collection.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default void
    + +
    +
    A handle was closed.
    +
    +
    default void
    + +
    +
    A handle was created.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      handleCreated

      +
      +
      default void handleCreated(Handle handle)
      +
      A handle was created.
      +
      +
      Parameters:
      +
      handle - The Handle object.
      +
      +
      +
      +
    • +
    • +
      +

      handleClosed

      +
      +
      default void handleClosed(Handle handle)
      +
      A handle was closed. This method is only called once, even if the handle is closed multiple times.
      +
      +
      Parameters:
      +
      handle - The Handle object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleScope.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleScope.html new file mode 100644 index 00000000000..2a35d9f5da9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/HandleScope.html @@ -0,0 +1,219 @@ + + + + +HandleScope (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface HandleScope

+
+
+
+
+
public interface HandleScope
+
Jdbi manages Handles to allow transaction nesting and extension + objects to share the same handle as long as they are within a specific scope. +
+ The default scope is "per thread", which is managed by the default implementation + of this interface. +
+ It is possible to provide a different implementation by calling Jdbi.setHandleScope(HandleScope) + to support e.g. structured concurrency in modern Java or Kotlin coroutines.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      threadLocal

      +
      +
      static HandleScope threadLocal()
      +
      +
      +
    • +
    • +
      +

      get

      +
      + +
      Returns a HandleSupplier that provides a Handle in the given context.
      +
      +
      Returns:
      +
      A handle object or null.
      +
      +
      +
      +
    • +
    • +
      +

      set

      +
      +
      void set(HandleSupplier handleSupplier)
      +
      Associate a HandleSupplier with the current scope.
      +
      +
      Parameters:
      +
      handleSupplier - A HandleSupplier object. Must not be null.
      +
      +
      +
      +
    • +
    • +
      +

      set

      +
      +
      default void set(Handle handle)
      +
      Associate a Handle with the current scope.
      +
      +
      Parameters:
      +
      handle - A Handle object. Must not be null.
      +
      +
      +
      +
    • +
    • +
      +

      clear

      +
      +
      void clear()
      +
      Remove a current association. The get() method will + return null after calling this method.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/Handles.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/Handles.html new file mode 100644 index 00000000000..6ff30956ee2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/Handles.html @@ -0,0 +1,304 @@ + + + + +Handles (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Handles

+
+
java.lang.Object +
org.jdbi.v3.core.Handles
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<Handles>
+
+
+
public class Handles +extends Object +implements JdbiConfig<Handles>
+
Configuration class for handles.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Handles

      +
      +
      public Handles()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isForceEndTransactions

      +
      +
      public boolean isForceEndTransactions()
      +
      Returns whether to enforce transaction termination discipline when a + Handle is closed. This check is enabled by default. If enabled, + and a handle is closed while a transaction is active (i.e. not committed + or rolled back), an exception will be thrown. +
      + This check does not apply to handles allocated with a connection that + already has an open transaction.
      +
      +
      Returns:
      +
      whether to enforce transaction termination discipline when a + Handle is closed.
      +
      +
      +
      +
    • +
    • +
      +

      setForceEndTransactions

      +
      +
      public void setForceEndTransactions(boolean forceEndTransactions)
      +
      Sets whether to enforce transaction termination discipline when a + Handle is closed.
      +
      +
      Parameters:
      +
      forceEndTransactions - whether to enforce transaction termination + discipline.
      +
      +
      +
      +
    • +
    • +
      +

      addListener

      +
      +
      public Handles addListener(HandleListener handleListener)
      +
      Add a HandleListener which is called for specific events. Adding a listener will add + it to all Handles that are subsequently created (this call does not affect existing handles).
      +
      +
      Parameters:
      +
      handleListener - A HandleListener object.
      +
      Returns:
      +
      The Handles object itself.
      +
      +
      +
      +
    • +
    • +
      +

      removeListener

      +
      +
      public Handles removeListener(HandleListener handleListener)
      +
      Remove a HandleListener. Removing a listener will only affect Handles that are subsequently created, not existing handles.
      +
      +
      Parameters:
      +
      handleListener - A HandleListener object.
      +
      Returns:
      +
      The Handles object itself.
      +
      +
      +
      +
    • +
    • +
      +

      getListeners

      +
      +
      public Set<HandleListener> getListeners()
      +
      Returns the collection of HandleListener objects. This set is immutable.
      +
      +
      Returns:
      +
      A set of HandleListener objects. The set is never null, can be empty and is immutable.
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public Handles createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<Handles>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/Jdbi.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/Jdbi.html new file mode 100644 index 00000000000..6cb343d0264 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/Jdbi.html @@ -0,0 +1,955 @@ + + + + +Jdbi (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Jdbi

+
+
java.lang.Object +
org.jdbi.v3.core.Jdbi
+
+
+
+
+
All Implemented Interfaces:
+
Configurable<Jdbi>
+
+
+
public class Jdbi +extends Object +implements Configurable<Jdbi>
+
Main entry point; configurable wrapper around a JDBC DataSource. + Use it to obtain Handle instances and provide configuration + for all handles obtained from it.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      create

      +
      +
      public static Jdbi create(Connection connection)
      +
      Creates a new Jdbi object from a Connection.
      +
      +
      Parameters:
      +
      connection - A Connection object.
      +
      Returns:
      +
      A Jdbi instance that uses a single database connection.
      +
      +
      +
      +
    • +
    • +
      +

      create

      +
      +
      public static Jdbi create(DataSource dataSource)
      +
      Creates a new Jdbi object from a DataSource.
      +
      +
      Parameters:
      +
      dataSource - the data source.
      +
      Returns:
      +
      a Jdbi which uses the given data source as a connection factory.
      +
      +
      +
      +
    • +
    • +
      +

      create

      +
      +
      public static Jdbi create(ConnectionFactory connectionFactory)
      +
      Factory used to allow for obtaining a Connection in a customized manner. + +

      + The ConnectionFactory.openConnection() method will be invoked to obtain a connection instance + whenever a Handle is opened. +

      +
      +
      Parameters:
      +
      connectionFactory - Provides JDBC connections to Handle instances
      +
      Returns:
      +
      a Jdbi which uses the given connection factory.
      +
      +
      +
      +
    • +
    • +
      +

      create

      +
      +
      public static Jdbi create(String url)
      +
      Creates a new Jdbi instance from a database URL.
      +
      +
      Parameters:
      +
      url - A JDBC URL for connections.
      +
      Returns:
      +
      a Jdbi which usesDriverManager as a connection factory.
      +
      +
      +
      +
    • +
    • +
      +

      create

      +
      +
      public static Jdbi create(String url, + Properties properties)
      +
      Creates a new Jdbi instance from a database URL.
      +
      +
      Parameters:
      +
      url - JDBC URL for connections
      +
      properties - Properties to pass to DriverManager.getConnection(url, props) for each new handle
      +
      Returns:
      +
      a Jdbi which uses DriverManager as a connection factory.
      +
      +
      +
      +
    • +
    • +
      +

      create

      +
      +
      public static Jdbi create(String url, + String username, + String password)
      +
      Creates a new Jdbi instance from a database URL.
      +
      +
      Parameters:
      +
      url - JDBC URL for connections
      +
      username - User name for connection authentication
      +
      password - Password for connection authentication
      +
      Returns:
      +
      a Jdbi which uses DriverManager as a connection factory.
      +
      +
      +
      +
    • +
    • +
      +

      open

      +
      +
      public static Handle open(DataSource dataSource)
      +
      Convenience method used to obtain a handle from a specific data source
      +
      +
      Parameters:
      +
      dataSource - the JDBC data source.
      +
      Returns:
      +
      Handle using a Connection obtained from the provided DataSource
      +
      +
      +
      +
    • +
    • +
      +

      open

      +
      +
      public static Handle open(ConnectionFactory connectionFactory)
      +
      Convenience method used to obtain a handle from a ConnectionFactory.
      +
      +
      Parameters:
      +
      connectionFactory - the connection factory
      +
      Returns:
      +
      Handle using a Connection obtained from the provided connection factory
      +
      +
      +
      +
    • +
    • +
      +

      open

      +
      +
      public static Handle open(Connection connection)
      +
      Create a Handle wrapping a particular JDBC Connection
      +
      +
      Parameters:
      +
      connection - the JDBC connection
      +
      Returns:
      +
      Handle bound to connection
      +
      +
      +
      +
    • +
    • +
      +

      open

      +
      +
      public static Handle open(String url)
      +
      Obtain a handle with just a JDBC URL
      +
      +
      Parameters:
      +
      url - JDBC Url
      +
      Returns:
      +
      newly opened Handle
      +
      +
      +
      +
    • +
    • +
      +

      open

      +
      +
      public static Handle open(String url, + String username, + String password)
      +
      Obtain a handle with just a JDBC URL
      +
      +
      Parameters:
      +
      url - JDBC Url
      +
      username - JDBC username for authentication
      +
      password - JDBC password for authentication
      +
      Returns:
      +
      newly opened Handle
      +
      +
      +
      +
    • +
    • +
      +

      open

      +
      +
      public static Handle open(String url, + Properties props)
      +
      Obtain a handle with just a JDBC URL
      +
      +
      Parameters:
      +
      url - JDBC Url
      +
      props - JDBC properties
      +
      Returns:
      +
      newly opened Handle
      +
      +
      +
      +
    • +
    • +
      +

      installPlugins

      +
      +
      public Jdbi installPlugins()
      +
      Use the ServiceLoader API to detect and install plugins automagically. + Some people consider this feature dangerous; some consider it essential -- + use at your own risk.
      +
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      installPlugin

      +
      +
      public Jdbi installPlugin(JdbiPlugin plugin)
      +
      Install a given JdbiPlugin instance that will configure any + provided Handle instances.
      +
      +
      Parameters:
      +
      plugin - the plugin to install
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      setStatementBuilderFactory

      +
      +
      public Jdbi setStatementBuilderFactory(StatementBuilderFactory factory)
      +
      Allows customization of how prepared statements are created. When a Handle is created + against this Jdbi instance the factory will be used to create a StatementBuilder for + that specific handle. When the handle is closed, the StatementBuilder's close method + will be invoked.
      +
      +
      Parameters:
      +
      factory - the new statement builder factory.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getStatementBuilderFactory

      +
      +
      public StatementBuilderFactory getStatementBuilderFactory()
      +
      Returns the current StatementBuilderFactory.
      +
      +
      Returns:
      +
      the current StatementBuilderFactory
      +
      +
      +
      +
    • +
    • +
      +

      getConfig

      +
      +
      public ConfigRegistry getConfig()
      +
      Description copied from interface: Configurable
      +
      Returns the configuration registry associated with this object.
      +
      +
      Specified by:
      +
      getConfig in interface Configurable<Jdbi>
      +
      Returns:
      +
      the configuration registry associated with this object.
      +
      +
      +
      +
    • +
    • +
      +

      setTransactionHandler

      +
      +
      public Jdbi setTransactionHandler(TransactionHandler handler)
      +
      Specify the TransactionHandler instance to use. This allows overriding + transaction semantics, or mapping into different transaction + management systems. +

      + The default version uses local transactions on the database Connection + instances obtained. +

      +
      +
      Parameters:
      +
      handler - The TransactionHandler to use for all Handle instances obtained + from this Jdbi
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getTransactionHandler

      +
      +
      public TransactionHandler getTransactionHandler()
      +
      Returns the TransactionHandler.
      +
      +
      Returns:
      +
      the TransactionHandler
      +
      +
      +
      +
    • +
    • +
      +

      setHandleCallbackDecorator

      +
      +
      @Alpha +public Jdbi setHandleCallbackDecorator(HandleCallbackDecorator handleCallbackDecorator)
      +
      Specify the HandleCallbackDecorator instance to use. This allows overriding + callbacks for useHandle(org.jdbi.v3.core.HandleConsumer<X>), withHandle(org.jdbi.v3.core.HandleCallback<R, X>), useTransaction(HandleConsumer) and + inTransaction(HandleCallback). The default version is a pass-through that returns the callback unchanged.
      +
      +
      Parameters:
      +
      handleCallbackDecorator - The HandleCallbackDecorator to use for all useHandle(org.jdbi.v3.core.HandleConsumer<X>), withHandle(org.jdbi.v3.core.HandleCallback<R, X>), + useTransaction(HandleConsumer) and inTransaction(HandleCallback) from this Jdbi. Must not be null
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getHandleCallbackDecorator

      +
      +
      @Alpha +public HandleCallbackDecorator getHandleCallbackDecorator()
      + +
      +
      Returns:
      +
      the HandleCallbackDecorator
      +
      +
      +
      +
    • +
    • +
      +

      getHandleScope

      +
      +
      public final HandleScope getHandleScope()
      +
      Returns the internal HandleScope object. The Jdbi instance uses this to provide handles in a given scope. + The default scope is per-thread, so every thread manages its own handle. +
      + This is an internal method and not part of the public API!
      +
      +
      Returns:
      +
      A HandleScope object
      +
      +
      +
      +
    • +
    • +
      +

      setHandleScope

      +
      +
      @Alpha +public final void setHandleScope(HandleScope handleScope)
      +
      Set the HandleScope object. The Jdbi instance uses this to provide handles in a given scope. +
      +
      +
      Parameters:
      +
      handleScope - A HandleScope object. Must not be null!
      +
      +
      +
      +
    • +
    • +
      +

      open

      +
      +
      public Handle open()
      +
      Obtain a Handle to the data source wrapped by this Jdbi instance. + You own this expensive resource and are required to close it or + risk leaks. Using a try-with-resources block is recommended.
      +
      +
      Returns:
      +
      an open Handle instance
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      withHandle

      +
      +
      public <R, +X extends Exception> R withHandle(HandleCallback<R,X> callback) + throws X
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback + for use by clients.
      +
      +
      Type Parameters:
      +
      R - type returned by the callback
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      callback - A callback which will receive an open Handle
      +
      Returns:
      +
      the value returned by callback
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      useHandle

      +
      +
      public <X extends Exception> void useHandle(HandleConsumer<X> consumer) + throws X
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback + for use by clients.
      +
      +
      Type Parameters:
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      consumer - A callback which will receive an open Handle
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      public <R, +X extends Exception> R inTransaction(HandleCallback<R,X> callback) + throws X
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback + for use by clients. The handle will be in a transaction when the callback is invoked, and + that transaction will be committed if the callback finishes normally, or rolled back if the + callback raises an exception.
      +
      +
      Type Parameters:
      +
      R - type returned by the callback
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      callback - A callback which will receive an open Handle, in a transaction
      +
      Returns:
      +
      the value returned by callback
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      useTransaction

      +
      +
      public <X extends Exception> void useTransaction(HandleConsumer<X> callback) + throws X
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback + for use by clients. The handle will be in a transaction when the callback is invoked, and + that transaction will be committed if the callback finishes normally, or rolled back if the + callback raises an exception.
      +
      +
      Type Parameters:
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      callback - A callback which will receive an open Handle, in a transaction
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      public <R, +X extends Exception> R inTransaction(TransactionIsolationLevel level, + HandleCallback<R,X> callback) + throws X
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback + for use by clients. The handle will be in a transaction when the callback is invoked, and + that transaction will be committed if the callback finishes normally, or rolled back if the + callback raises an exception. + +

      + This form accepts a transaction isolation level which will be applied to the connection + for the scope of this transaction, after which the original isolation level will be restored. +

      +
      +
      Type Parameters:
      +
      R - type returned by the callback
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      level - the transaction isolation level which will be applied to the connection for the scope of this + transaction, after which the original isolation level will be restored.
      +
      callback - A callback which will receive an open Handle, in a transaction
      +
      Returns:
      +
      the value returned by callback
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      useTransaction

      +
      +
      public <X extends Exception> void useTransaction(TransactionIsolationLevel level, + HandleConsumer<X> callback) + throws X
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback + for use by clients. The handle will be in a transaction when the callback is invoked, and + that transaction will be committed if the callback finishes normally, or rolled back if the + callback raises an exception. + +

      + This form accepts a transaction isolation level which will be applied to the connection + for the scope of this transaction, after which the original isolation level will be restored. +

      +
      +
      Type Parameters:
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      level - the transaction isolation level which will be applied to the connection for the scope of this + transaction, after which the original isolation level will be restored.
      +
      callback - A callback which will receive an open Handle, in a transaction
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      withExtension

      +
      +
      public <R, +E, +X extends Exception> R withExtension(Class<E> extensionType, + ExtensionCallback<R,E,X> callback) + throws X
      +
      A convenience method which opens an extension of the given type, yields it to a callback, and returns the result + of the callback. A handle is opened if needed by the extension, and closed before returning to the caller.
      +
      +
      Type Parameters:
      +
      R - the return type
      +
      E - the extension type
      +
      X - the exception type optionally thrown by the callback
      +
      Parameters:
      +
      extensionType - the type of extension.
      +
      callback - a callback which will receive the extension.
      +
      Returns:
      +
      the value returned by the callback.
      +
      Throws:
      +
      NoSuchExtensionException - if no ExtensionFactory is registered which supports the given extension + type.
      +
      X - if thrown by the callback.
      +
      +
      +
      +
    • +
    • +
      +

      useExtension

      +
      +
      public <E, +X extends Exception> void useExtension(Class<E> extensionType, + ExtensionConsumer<E,X> callback) + throws X
      +
      A convenience method which opens an extension of the given type, and yields it to a callback. A handle is opened + if needed by the extention, and closed before returning to the caller.
      +
      +
      Type Parameters:
      +
      E - the extension type
      +
      X - the exception type optionally thrown by the callback
      +
      Parameters:
      +
      extensionType - the type of extension
      +
      callback - a callback which will receive the extension
      +
      Throws:
      +
      NoSuchExtensionException - if no ExtensionFactory is registered which supports the given extension type.
      +
      X - if thrown by the callback.
      +
      +
      +
      +
    • +
    • +
      +

      onDemand

      +
      +
      public <E> E onDemand(Class<E> extensionType)
      +
      Creates an extension instance that uses the current Jdbi instance for database operations.
      +
      +
      Type Parameters:
      +
      E - the extension type
      +
      Parameters:
      +
      extensionType - the type of extension. Must be a public interface type.
      +
      Returns:
      +
      an extension which opens and closes handles (as needed) for individual method calls. Only public + interface types may be used as on-demand extensions.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/JdbiException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/JdbiException.html new file mode 100644 index 00000000000..6b1319cf9e4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/JdbiException.html @@ -0,0 +1,142 @@ + + + + +JdbiException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiException

+
+ +
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/Sql.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/Sql.html new file mode 100644 index 00000000000..7565b233117 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/Sql.html @@ -0,0 +1,292 @@ + + + + +Sql (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Sql

+
+
java.lang.Object +
org.jdbi.v3.core.Sql
+
+
+
+
+
All Implemented Interfaces:
+
CharSequence
+
+
+
@Beta +public final class Sql +extends Object +implements CharSequence
+

+ An immutable sql statement string created from multiple tokens + in order to write inline sql statements in an easy-to-read fashion + spread out over multiple lines of code. +

+ +

+ The class implements CharSequence and thus can be used as a drop-in + alternative wherever API supports CharSequence rather than String. +

+ + Please note that the validity of the statement is never checked, + and that null or empty inputs are permitted (no run-time exceptions).
+ + The input of multiple tokens is formatted into a single String by + removing leading and trailing whitespace and concatenating + non-empty tokens by a single space character. + Further, any trailing semicolons are removed from the resulting sql string. + +

Example:

+ +
+     String tblName = "table";
+     Sql.of("SELECT COUNT(*)",
+            "FROM", tblName,
+            " WHERE cond1 = :cond1",
+            "   AND cond2 = :cond2");
+ 
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/JdbiProperty.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/JdbiProperty.html new file mode 100644 index 00000000000..af793f23279 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/JdbiProperty.html @@ -0,0 +1,171 @@ + + + + +JdbiProperty (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type JdbiProperty

+
+
+
+
+
@Target({METHOD,FIELD}) +@Retention(RUNTIME) +public @interface JdbiProperty
+
Configure reflective bean and pojo property attributes. + Most reflective mappers, including field, method, and property mappers, try to respect this.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    +
    boolean
    + +
    +
    Returns true if the property is bound as an argument.
    +
    +
    boolean
    + +
    +
    Returns true if the property is mapped in a result.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      map

      +
      +
      boolean map
      +
      Returns true if the property is mapped in a result. The property will be read from the database into a result.
      +
      +
      Returns:
      +
      true if the property is unmappable
      +
      +
      +
      Default:
      +
      true
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      boolean bind
      +
      Returns true if the property is bound as an argument. Property will be bound as an argument.
      +
      +
      Returns:
      +
      true if the property is unbindable
      +
      +
      +
      Default:
      +
      true
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/class-use/JdbiProperty.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/class-use/JdbiProperty.html new file mode 100644 index 00000000000..b0f53fe0514 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/class-use/JdbiProperty.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.annotation.JdbiProperty (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.annotation.JdbiProperty

+
+No usage of org.jdbi.v3.core.annotation.JdbiProperty
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/package-summary.html new file mode 100644 index 00000000000..ef441d93e04 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/package-summary.html @@ -0,0 +1,109 @@ + + + + +org.jdbi.v3.core.annotation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.annotation

+
+
+
+
package org.jdbi.v3.core.annotation
+
+
+
    +
  • + +
  • +
  • +
    +
    Annotation Types
    +
    +
    Class
    +
    Description
    + +
    +
    Configure reflective bean and pojo property attributes.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/package-tree.html new file mode 100644 index 00000000000..c499dd54488 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/package-tree.html @@ -0,0 +1,67 @@ + + + + +org.jdbi.v3.core.annotation Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.annotation

+
+Package Hierarchies: + +
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/package-use.html new file mode 100644 index 00000000000..8462c52d330 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/annotation/package-use.html @@ -0,0 +1,57 @@ + + + + +Uses of Package org.jdbi.v3.core.annotation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.annotation

+
+No usage of org.jdbi.v3.core.annotation
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/AbstractArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/AbstractArgumentFactory.html new file mode 100644 index 00000000000..7a4c14970e3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/AbstractArgumentFactory.html @@ -0,0 +1,261 @@ + + + + +AbstractArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AbstractArgumentFactory<T>

+
+
java.lang.Object +
org.jdbi.v3.core.argument.AbstractArgumentFactory<T>
+
+
+
+
+
Type Parameters:
+
T - the type of argument supported by this factory.
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
Direct Known Subclasses:
+
CharSequenceArgumentFactory, DateTimeArgumentFactory, DurationArgumentFactory, HStoreArgumentFactory, InetArgumentFactory, JavaTimeZoneIdArgumentFactory, PeriodArgumentFactory, TypedEnumArgumentFactory
+
+
+
public abstract class AbstractArgumentFactory<T> +extends Object +implements ArgumentFactory.Preparable
+
An ArgumentFactory base class for arguments of type T. For values of type T, factories + produces arguments from the build(Object, ConfigRegistry) method. For null values with a known expected type + of T, produces null arguments for the sqlType passed to the constructor. +
+ class ValueType {
+     String value;
+ }
+
+ class ValueTypeArgumentFactory extends AbstractArgumentFactory<ValueType> {
+     ValueTypeArgumentFactory() {
+         super(Types.VARCHAR);
+     }
+
+     @Override
+     protected Argument build(ValueType valueType, ConfigRegistry config) {
+         return (pos, stmt, ctx) -> stmt.setString(pos, valueType.value);
+     }
+ }
+ 
+ + Don't forget to override Object.toString() in your Argument instances if you want to be able to log their values with an SqlLogger.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/Argument.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/Argument.html new file mode 100644 index 00000000000..c0a2dc93dd4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/Argument.html @@ -0,0 +1,172 @@ + + + + +Argument (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface Argument

+
+
+
+
+
All Known Implementing Classes:
+
CharacterStreamArgument, InputStreamArgument, NullArgument, ObjectArgument
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface Argument
+
Represents an argument to a prepared statement. It will be called right before the + statement is executed to bind the parameter. + + Make sure to override Object.toString() if you want to be able to log values with an SqlLogger.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    apply(int position, + PreparedStatement statement, + StatementContext ctx)
    +
    +
    Apply the argument to the given prepared statement.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      void apply(int position, + PreparedStatement statement, + StatementContext ctx) + throws SQLException
      +
      Apply the argument to the given prepared statement.
      +
      +
      Parameters:
      +
      position - the position to which the argument should be bound, using the + stupid JDBC "start at 1" bit
      +
      statement - the prepared statement the argument is to be bound to
      +
      ctx - the statement context
      +
      Throws:
      +
      SQLException - if anything goes wrong
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ArgumentFactory.Preparable.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ArgumentFactory.Preparable.html new file mode 100644 index 00000000000..7a56a451d66 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ArgumentFactory.Preparable.html @@ -0,0 +1,225 @@ + + + + +ArgumentFactory.Preparable (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ArgumentFactory.Preparable

+
+
+
+
+
All Superinterfaces:
+
ArgumentFactory
+
+
+
All Known Implementing Classes:
+
AbstractArgumentFactory, BuiltInArgumentFactory, CharSequenceArgumentFactory, DateTimeArgumentFactory, DurationArgumentFactory, HStoreArgumentFactory, InetArgumentFactory, JavaTimeArgumentFactory, JavaTimeZoneIdArgumentFactory, ObjectArgumentFactory, PeriodArgumentFactory, SetObjectArgumentFactory, SqlArrayArgumentFactory, TypedEnumArgumentFactory, UUIDArgumentFactory
+
+
+
Enclosing interface:
+
ArgumentFactory
+
+
+
@Beta +public static interface ArgumentFactory.Preparable +extends ArgumentFactory
+
ArgumentFactory extension interface that allows preparing arguments for efficient batch binding.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ArgumentFactory.html new file mode 100644 index 00000000000..5e274a6ed68 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ArgumentFactory.html @@ -0,0 +1,200 @@ + + + + +ArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ArgumentFactory

+
+
+
+
+
All Known Subinterfaces:
+
ArgumentFactory.Preparable
+
+
+
All Known Implementing Classes:
+
AbstractArgumentFactory, BuiltInArgumentFactory, CharSequenceArgumentFactory, DateTimeArgumentFactory, DirectArgumentFactory, DurationArgumentFactory, HStoreArgumentFactory, InetArgumentFactory, JavaTimeArgumentFactory, JavaTimeZoneIdArgumentFactory, ObjectArgumentFactory, PeriodArgumentFactory, SetObjectArgumentFactory, SqlArrayArgumentFactory, TypedEnumArgumentFactory, UUIDArgumentFactory
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface ArgumentFactory
+
Inspect a value with optional static type information and produce + an Argument that binds the value to a prepared statement. + + Make sure to override Object.toString() in your Argument instances if you want to be able to log their values with an SqlLogger.
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    Nested Classes
    +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    static interface 
    + +
    +
    ArgumentFactory extension interface that allows preparing arguments for efficient batch binding.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    build(Type type, + Object value, + ConfigRegistry config)
    +
    +
    Returns an Argument for the given value if the factory supports it; empty otherwise.
    +
    +
    +
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/Arguments.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/Arguments.html new file mode 100644 index 00000000000..dc393edba06 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/Arguments.html @@ -0,0 +1,474 @@ + + + + +Arguments (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Arguments

+
+
java.lang.Object +
org.jdbi.v3.core.argument.Arguments
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<Arguments>
+
+
+
public class Arguments +extends Object +implements JdbiConfig<Arguments>
+
A registry for ArgumentFactory instances. + When a statement with bound parameters is executed, Jdbi consults the + Arguments registry to obtain an Argument instance for each bound parameter + (see #findFor(...)). + The factories are consulted in reverse order of registration (i.e. last-registered wins).
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Arguments

      +
      +
      public Arguments(ConfigRegistry registry)
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setRegistry

      +
      +
      public void setRegistry(ConfigRegistry registry)
      +
      Description copied from interface: JdbiConfig
      +
      The 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:
      +
      setRegistry in interface JdbiConfig<Arguments>
      +
      Parameters:
      +
      registry - the registry that owns this configuration object
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public Arguments register(ArgumentFactory factory)
      +
      Registers the given argument factory. + If more than one of the registered factories supports a given parameter type, the last-registered factory wins.
      +
      +
      Parameters:
      +
      factory - the factory to add
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public Arguments register(QualifiedArgumentFactory factory)
      +
      Registers the given qualified argument factory. + If more than one of the registered factories supports a given parameter type, the last-registered factory wins.
      +
      +
      Parameters:
      +
      factory - the qualified factory to add
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public Optional<Argument> findFor(Type type, + Object value)
      +
      Obtain an argument for given value in the given context
      +
      +
      Parameters:
      +
      type - the type of the argument.
      +
      value - the argument value.
      +
      Returns:
      +
      an Argument for the given value.
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public Optional<Argument> findFor(QualifiedType<?> type, + Object value)
      +
      Obtain an argument for given value in the given context.
      +
      +
      Parameters:
      +
      type - the qualified type of the argument.
      +
      value - the argument value.
      +
      Returns:
      +
      an Argument for the given value.
      +
      +
      +
      +
    • +
    • +
      +

      prepareFor

      +
      +
      public Optional<Function<Object,Argument>> prepareFor(Type type)
      +
      Obtain a prepared argument function for given type in the given context.
      +
      +
      Parameters:
      +
      type - the type of the argument.
      +
      Returns:
      +
      an Argument factory function for the given value.
      +
      +
      +
      +
    • +
    • +
      +

      prepareFor

      +
      +
      @Beta +public Optional<Function<Object,Argument>> prepareFor(QualifiedType<?> type)
      +
      Obtain a prepared argument function for given type in the given context.
      +
      +
      Parameters:
      +
      type - the qualified type of the argument.
      +
      Returns:
      +
      an Argument factory function for the given value.
      +
      +
      +
      +
    • +
    • +
      +

      getFactories

      +
      +
      public List<QualifiedArgumentFactory> getFactories()
      +
      +
      +
    • +
    • +
      +

      setUntypedNullArgument

      +
      +
      public void setUntypedNullArgument(Argument untypedNullArgument)
      +
      Configure the Argument to use when binding a null + we don't have a type for.
      +
      +
      Parameters:
      +
      untypedNullArgument - the argument to bind
      +
      +
      +
      +
    • +
    • +
      +

      getUntypedNullArgument

      +
      +
      public Argument getUntypedNullArgument()
      +
      Returns the untyped null argument.
      +
      +
      Returns:
      +
      the untyped null argument.
      +
      +
      +
      +
    • +
    • +
      +

      isBindingNullToPrimitivesPermitted

      +
      +
      public boolean isBindingNullToPrimitivesPermitted()
      +
      Returns true if binding null to a variable declared as a primitive type is allowed.
      +
      +
      Returns:
      +
      true if binding null to a variable declared as a primitive type is allowed.
      +
      +
      +
      +
    • +
    • +
      +

      setBindingNullToPrimitivesPermitted

      +
      +
      public void setBindingNullToPrimitivesPermitted(boolean bindingNullToPrimitivesPermitted)
      +
      Whether binding null to a variable declared as a primitive type should be allowed.
      +
      +
      Parameters:
      +
      bindingNullToPrimitivesPermitted - if true, null can be bound to a variable declared as a primitive type.
      +
      +
      +
      +
    • +
    • +
      +

      isPreparedArgumentsEnabled

      +
      +
      public boolean isPreparedArgumentsEnabled()
      +
      Returns true if prepared arguments binding is enabled. Settings this improves performance.
      +
      +
      Returns:
      +
      true if prepared arguments binding is enabled.
      +
      +
      +
      +
    • +
    • +
      +

      setPreparedArgumentsEnabled

      +
      +
      public void setPreparedArgumentsEnabled(boolean preparedArgumentsEnabled)
      +
      Configure whether ArgumentFactory.Preparable factories will be processed before regular ArgumentFactory + instances are. This improves speed at a small cost to backwards compatibility. Please disable it if you require the old semantics.
      +
      +
      Parameters:
      +
      preparedArgumentsEnabled - whether to enable preparable argument factories
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public Arguments createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<Arguments>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/BeanPropertyArguments.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/BeanPropertyArguments.html new file mode 100644 index 00000000000..43b769d53d2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/BeanPropertyArguments.html @@ -0,0 +1,196 @@ + + + + +BeanPropertyArguments (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BeanPropertyArguments

+
+
java.lang.Object +
org.jdbi.v3.core.argument.internal.ObjectPropertyNamedArgumentFinder +
org.jdbi.v3.core.argument.internal.PojoPropertyArguments +
org.jdbi.v3.core.argument.BeanPropertyArguments
+
+
+
+
+
+
+
All Implemented Interfaces:
+
NamedArgumentFinder
+
+
+
@Deprecated +public class BeanPropertyArguments +extends org.jdbi.v3.core.argument.internal.PojoPropertyArguments
+
Deprecated. +
this should never have been public API
+
+
Inspect a java.beans style object and bind parameters + based on each of its discovered properties.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BeanPropertyArguments

      +
      +
      public BeanPropertyArguments(String prefix, + Object bean)
      +
      Deprecated.
      +
      +
      Parameters:
      +
      prefix - an optional prefix (we insert a '.' as a separator)
      +
      bean - the bean to inspect and bind
      +
      +
      +
      +
    • +
    • +
      +

      BeanPropertyArguments

      +
      +
      public BeanPropertyArguments(String prefix, + Object bean, + ConfigRegistry config)
      +
      Deprecated.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/BuiltInArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/BuiltInArgumentFactory.html new file mode 100644 index 00000000000..2a23f98b3d4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/BuiltInArgumentFactory.html @@ -0,0 +1,311 @@ + + + + +BuiltInArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BuiltInArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.argument.BuiltInArgumentFactory
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
@Deprecated +public class BuiltInArgumentFactory +extends Object +implements ArgumentFactory.Preparable
+
Deprecated. +
will be replaced by a plugin
+
+
The BuiltInArgumentFactory provides instances of Argument for + many core Java types. Generally you should not need to use this + class directly, but instead should bind your object with the + SqlStatement convenience methods.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/CharSequenceArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/CharSequenceArgumentFactory.html new file mode 100644 index 00000000000..2fec09001f6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/CharSequenceArgumentFactory.html @@ -0,0 +1,178 @@ + + + + +CharSequenceArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CharSequenceArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.argument.AbstractArgumentFactory<CharSequence> +
org.jdbi.v3.core.argument.CharSequenceArgumentFactory
+
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
public class CharSequenceArgumentFactory +extends AbstractArgumentFactory<CharSequence>
+
An ArgumentFactory for arguments that implement CharSequence.

+ + The factory is registered by default in Arguments before other more specific or + user-defined factories such EssentialsArgumentFactory (which has + explicit support for String arguments).
+ The factory converts arguments to String by calling their toString() method + and treats them as sql type Types.VARCHAR.

+
+
Since:
+
3.30.1
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CharSequenceArgumentFactory

      +
      +
      public CharSequenceArgumentFactory()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/CharacterStreamArgument.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/CharacterStreamArgument.html new file mode 100644 index 00000000000..4cab967c0b8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/CharacterStreamArgument.html @@ -0,0 +1,226 @@ + + + + +CharacterStreamArgument (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CharacterStreamArgument

+
+
java.lang.Object +
org.jdbi.v3.core.argument.CharacterStreamArgument
+
+
+
+
+
All Implemented Interfaces:
+
Argument
+
+
+
public class CharacterStreamArgument +extends Object +implements Argument
+
Bind a Reader as a character stream parameter.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CharacterStreamArgument

      +
      +
      public CharacterStreamArgument(Reader reader, + int length)
      +
      +
      Parameters:
      +
      reader - the character stream to bind
      +
      length - the length of the stream
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      public void apply(int position, + PreparedStatement statement, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: Argument
      +
      Apply the argument to the given prepared statement.
      +
      +
      Specified by:
      +
      apply in interface Argument
      +
      Parameters:
      +
      position - the position to which the argument should be bound, using the + stupid JDBC "start at 1" bit
      +
      statement - the prepared statement the argument is to be bound to
      +
      ctx - the statement context
      +
      Throws:
      +
      SQLException - if anything goes wrong
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/DirectArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/DirectArgumentFactory.html new file mode 100644 index 00000000000..32e4587e26e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/DirectArgumentFactory.html @@ -0,0 +1,219 @@ + + + + +DirectArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DirectArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.argument.DirectArgumentFactory
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory
+
+
+
public class DirectArgumentFactory +extends Object +implements ArgumentFactory
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/InputStreamArgument.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/InputStreamArgument.html new file mode 100644 index 00000000000..87d52ef4282 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/InputStreamArgument.html @@ -0,0 +1,229 @@ + + + + +InputStreamArgument (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class InputStreamArgument

+
+
java.lang.Object +
org.jdbi.v3.core.argument.InputStreamArgument
+
+
+
+
+
All Implemented Interfaces:
+
Argument
+
+
+
public class InputStreamArgument +extends Object +implements Argument
+
Bind an input stream as either an ASCII (discouraged) or binary stream.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      InputStreamArgument

      +
      +
      public InputStreamArgument(InputStream stream, + int length, + boolean ascii)
      +
      +
      Parameters:
      +
      stream - the stream to bind
      +
      length - the length of the stream
      +
      ascii - true if the stream is ASCII
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      public void apply(int position, + PreparedStatement statement, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: Argument
      +
      Apply the argument to the given prepared statement.
      +
      +
      Specified by:
      +
      apply in interface Argument
      +
      Parameters:
      +
      position - the position to which the argument should be bound, using the + stupid JDBC "start at 1" bit
      +
      statement - the prepared statement the argument is to be bound to
      +
      ctx - the statement context
      +
      Throws:
      +
      SQLException - if anything goes wrong
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/JavaTimeZoneIdArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/JavaTimeZoneIdArgumentFactory.html new file mode 100644 index 00000000000..bb2f65f6ba8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/JavaTimeZoneIdArgumentFactory.html @@ -0,0 +1,167 @@ + + + + +JavaTimeZoneIdArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JavaTimeZoneIdArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.argument.AbstractArgumentFactory<ZoneId> +
org.jdbi.v3.core.argument.JavaTimeZoneIdArgumentFactory
+
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
public class JavaTimeZoneIdArgumentFactory +extends AbstractArgumentFactory<ZoneId>
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JavaTimeZoneIdArgumentFactory

      +
      +
      public JavaTimeZoneIdArgumentFactory()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/MapArguments.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/MapArguments.html new file mode 100644 index 00000000000..afeb60da90d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/MapArguments.html @@ -0,0 +1,241 @@ + + + + +MapArguments (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MapArguments

+
+
java.lang.Object +
org.jdbi.v3.core.argument.MapArguments
+
+
+
+
+
All Implemented Interfaces:
+
NamedArgumentFinder
+
+
+
@Deprecated +public class MapArguments +extends Object +implements NamedArgumentFinder
+
Deprecated. + +
+
Binds all entries of a map as arguments.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MapArguments

      +
      +
      public MapArguments(Map<String,?> args)
      +
      Deprecated.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/NamedArgumentFinder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/NamedArgumentFinder.html new file mode 100644 index 00000000000..ed7f940ef4a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/NamedArgumentFinder.html @@ -0,0 +1,172 @@ + + + + +NamedArgumentFinder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface NamedArgumentFinder

+
+
+
+
+
All Known Implementing Classes:
+
BeanPropertyArguments, MapArguments, ObjectFieldArguments, ObjectMethodArguments, org.jdbi.v3.core.argument.internal.ObjectPropertyNamedArgumentFinder, org.jdbi.v3.core.argument.internal.PojoPropertyArguments
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface NamedArgumentFinder
+
Returns an Argument based on a name. Used to lookup multiple properties e.g. in a Bean or a Map.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      find

      +
      + +
      +
      +
    • +
    • +
      +

      getNames

      +
      +
      default Collection<String> getNames()
      +
      Returns the names this named argument finder can find. Returns an empty collection otherwise.
      +
      +
      Returns:
      +
      the names this named argument finder can find. Returns an empty collection otherwise.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/NullArgument.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/NullArgument.html new file mode 100644 index 00000000000..57ac07bdd49 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/NullArgument.html @@ -0,0 +1,273 @@ + + + + +NullArgument (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class NullArgument

+
+
java.lang.Object +
org.jdbi.v3.core.argument.NullArgument
+
+
+
+
+
All Implemented Interfaces:
+
Argument
+
+
+
public class NullArgument +extends Object +implements Argument
+
A typed SQL null argument.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      NullArgument

      +
      +
      public NullArgument(int sqlType)
      +
      +
      Parameters:
      +
      sqlType - the SQL type of the Null
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      NullArgument

      +
      +
      public NullArgument(Integer sqlType)
      +
      +
      Parameters:
      +
      sqlType - the SQL type of the Null
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      public void apply(int position, + PreparedStatement statement, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: Argument
      +
      Apply the argument to the given prepared statement.
      +
      +
      Specified by:
      +
      apply in interface Argument
      +
      Parameters:
      +
      position - the position to which the argument should be bound, using the + stupid JDBC "start at 1" bit
      +
      statement - the prepared statement the argument is to be bound to
      +
      ctx - the statement context
      +
      Throws:
      +
      SQLException - if anything goes wrong
      +
      +
      +
      +
    • +
    • +
      +

      getSqlType

      +
      +
      public Integer getSqlType()
      +
      Returns the Types value that is used.
      +
      +
      Returns:
      +
      the SQL type of the null.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectArgument.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectArgument.html new file mode 100644 index 00000000000..6d8016c3d1e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectArgument.html @@ -0,0 +1,291 @@ + + + + +ObjectArgument (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ObjectArgument

+
+
java.lang.Object +
org.jdbi.v3.core.argument.ObjectArgument
+
+
+
+
+
All Implemented Interfaces:
+
Argument
+
+
+
public class ObjectArgument +extends Object +implements Argument
+
An Argument which uses setObject to support + vendor specific types.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      of

      +
      +
      public static Argument of(Object value)
      +
      Bind a vendor-supported object with the given SQL type.
      +
      +
      Parameters:
      +
      value - the value to call @link PreparedStatement.setObject(int, Object) with
      +
      Returns:
      +
      the Argument
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static Argument of(Object value, + Integer sqlType)
      +
      Bind a vendor-supported object with the given SQL type.
      +
      +
      Parameters:
      +
      value - the value to call @link PreparedStatement.setObject(int, Object, int) with
      +
      sqlType - the type to bind
      +
      Returns:
      +
      the Argument
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public void apply(int position, + PreparedStatement statement, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: Argument
      +
      Apply the argument to the given prepared statement.
      +
      +
      Specified by:
      +
      apply in interface Argument
      +
      Parameters:
      +
      position - the position to which the argument should be bound, using the + stupid JDBC "start at 1" bit
      +
      statement - the prepared statement the argument is to be bound to
      +
      ctx - the statement context
      +
      Throws:
      +
      SQLException - if anything goes wrong
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectArgumentFactory.html new file mode 100644 index 00000000000..f37c172f2b6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectArgumentFactory.html @@ -0,0 +1,263 @@ + + + + +ObjectArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ObjectArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.argument.ObjectArgumentFactory
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
public class ObjectArgumentFactory +extends Object +implements ArgumentFactory.Preparable
+
Argument factory that matches a specified type and binds + it as an ObjectArgument.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectFieldArguments.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectFieldArguments.html new file mode 100644 index 00000000000..281f5c2f96b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectFieldArguments.html @@ -0,0 +1,228 @@ + + + + +ObjectFieldArguments (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ObjectFieldArguments

+
+
java.lang.Object +
org.jdbi.v3.core.argument.internal.ObjectPropertyNamedArgumentFinder +
org.jdbi.v3.core.argument.ObjectFieldArguments
+
+
+
+
+
+
All Implemented Interfaces:
+
NamedArgumentFinder
+
+
+
@Deprecated +public class ObjectFieldArguments +extends org.jdbi.v3.core.argument.internal.ObjectPropertyNamedArgumentFinder
+
Deprecated. +
this functionality will remain supported, but this class should not be API
+
+
Inspect an object and binds parameters based on each of its public fields.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ObjectFieldArguments

      +
      +
      public ObjectFieldArguments(String prefix, + Object bean)
      +
      Deprecated.
      +
      +
      Parameters:
      +
      prefix - an optional prefix (we insert a '.' as a separator)
      +
      bean - the bean to inspect and bind
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectMethodArguments.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectMethodArguments.html new file mode 100644 index 00000000000..4829052b9a0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/ObjectMethodArguments.html @@ -0,0 +1,228 @@ + + + + +ObjectMethodArguments (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ObjectMethodArguments

+
+
java.lang.Object +
org.jdbi.v3.core.argument.internal.ObjectPropertyNamedArgumentFinder +
org.jdbi.v3.core.argument.ObjectMethodArguments
+
+
+
+
+
+
All Implemented Interfaces:
+
NamedArgumentFinder
+
+
+
@Deprecated +public class ObjectMethodArguments +extends org.jdbi.v3.core.argument.internal.ObjectPropertyNamedArgumentFinder
+
Deprecated. +
this functionality will remain supported, but this class should not be API
+
+
Binds public methods with no parameters on a specified object.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ObjectMethodArguments

      +
      +
      public ObjectMethodArguments(String prefix, + Object object)
      +
      Deprecated.
      +
      +
      Parameters:
      +
      prefix - an optional prefix (we insert a '.' as a separator)
      +
      object - the object to bind functions on
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/QualifiedArgumentFactory.Preparable.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/QualifiedArgumentFactory.Preparable.html new file mode 100644 index 00000000000..720e58c21d6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/QualifiedArgumentFactory.Preparable.html @@ -0,0 +1,212 @@ + + + + +QualifiedArgumentFactory.Preparable (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface QualifiedArgumentFactory.Preparable

+
+
+
+
+
All Superinterfaces:
+
QualifiedArgumentFactory
+
+
+
All Known Implementing Classes:
+
CodecFactory, TypeResolvingCodecFactory
+
+
+
Enclosing interface:
+
QualifiedArgumentFactory
+
+
+
@Beta +public static interface QualifiedArgumentFactory.Preparable +extends QualifiedArgumentFactory
+
QualifiedArgumentFactory extension interface that allows preparing arguments for efficient batch binding.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/QualifiedArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/QualifiedArgumentFactory.html new file mode 100644 index 00000000000..4f4dde86595 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/QualifiedArgumentFactory.html @@ -0,0 +1,249 @@ + + + + +QualifiedArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface QualifiedArgumentFactory

+
+
+
+
+
All Known Subinterfaces:
+
QualifiedArgumentFactory.Preparable
+
+
+
All Known Implementing Classes:
+
CodecFactory, TypeResolvingCodecFactory
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface QualifiedArgumentFactory
+
Inspect a value with optional static qualified type information and produce an Argument + that binds the value to a prepared statement. + +

Make sure to override Object.toString() in your Argument instances if you want + to be able to log their values with an SqlLogger. + +

Note that null is handled specially in a few cases, and a few Jdbi features + assume you'll return an instance of NullArgument when you intend to bind null.

+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/SetObjectArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/SetObjectArgumentFactory.html new file mode 100644 index 00000000000..99ede9aedef --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/SetObjectArgumentFactory.html @@ -0,0 +1,220 @@ + + + + +SetObjectArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SetObjectArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.argument.SetObjectArgumentFactory
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
Direct Known Subclasses:
+
JavaTimeArgumentFactory, UUIDArgumentFactory
+
+
+
public class SetObjectArgumentFactory +extends Object +implements ArgumentFactory.Preparable
+
Factory that uses PreparedStatement.setObject(int, Object, int) to bind values.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/AbstractArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/AbstractArgumentFactory.html new file mode 100644 index 00000000000..2727afad3ae --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/AbstractArgumentFactory.html @@ -0,0 +1,155 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.AbstractArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.AbstractArgumentFactory

+
+
Packages that use AbstractArgumentFactory
+
+
Package
+
Description
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/Argument.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/Argument.html new file mode 100644 index 00000000000..f243a25eecf --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/Argument.html @@ -0,0 +1,395 @@ + + + + +Uses of Interface org.jdbi.v3.core.argument.Argument (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.argument.Argument

+
+
Packages that use Argument
+
+
Package
+
Description
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
 
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ArgumentFactory.Preparable.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ArgumentFactory.Preparable.html new file mode 100644 index 00000000000..88ee7d8a3f3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ArgumentFactory.Preparable.html @@ -0,0 +1,230 @@ + + + + +Uses of Interface org.jdbi.v3.core.argument.ArgumentFactory.Preparable (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.argument.ArgumentFactory.Preparable

+
+
Packages that use ArgumentFactory.Preparable
+
+
Package
+
Description
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ArgumentFactory.html new file mode 100644 index 00000000000..7e7c27e5922 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ArgumentFactory.html @@ -0,0 +1,319 @@ + + + + +Uses of Interface org.jdbi.v3.core.argument.ArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.argument.ArgumentFactory

+
+
Packages that use ArgumentFactory
+
+
Package
+
Description
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ guava provides extra types that are commonly needed beyond built + in JDK types.
+
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/Arguments.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/Arguments.html new file mode 100644 index 00000000000..be940521fdd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/Arguments.html @@ -0,0 +1,95 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.Arguments (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.Arguments

+
+
Packages that use Arguments
+
+
Package
+
Description
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/BeanPropertyArguments.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/BeanPropertyArguments.html new file mode 100644 index 00000000000..d7c69cf32a0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/BeanPropertyArguments.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.BeanPropertyArguments (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.BeanPropertyArguments

+
+No usage of org.jdbi.v3.core.argument.BeanPropertyArguments
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/BuiltInArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/BuiltInArgumentFactory.html new file mode 100644 index 00000000000..59ee0ec2a8e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/BuiltInArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.BuiltInArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.BuiltInArgumentFactory

+
+No usage of org.jdbi.v3.core.argument.BuiltInArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/CharSequenceArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/CharSequenceArgumentFactory.html new file mode 100644 index 00000000000..fe3d9908e7c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/CharSequenceArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.CharSequenceArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.CharSequenceArgumentFactory

+
+No usage of org.jdbi.v3.core.argument.CharSequenceArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/CharacterStreamArgument.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/CharacterStreamArgument.html new file mode 100644 index 00000000000..ab7806e409c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/CharacterStreamArgument.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.CharacterStreamArgument (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.CharacterStreamArgument

+
+No usage of org.jdbi.v3.core.argument.CharacterStreamArgument
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/DirectArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/DirectArgumentFactory.html new file mode 100644 index 00000000000..a3a478167f2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/DirectArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.DirectArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.DirectArgumentFactory

+
+No usage of org.jdbi.v3.core.argument.DirectArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/InputStreamArgument.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/InputStreamArgument.html new file mode 100644 index 00000000000..bbd4001659d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/InputStreamArgument.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.InputStreamArgument (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.InputStreamArgument

+
+No usage of org.jdbi.v3.core.argument.InputStreamArgument
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/JavaTimeZoneIdArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/JavaTimeZoneIdArgumentFactory.html new file mode 100644 index 00000000000..8774ea58f8d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/JavaTimeZoneIdArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.JavaTimeZoneIdArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.JavaTimeZoneIdArgumentFactory

+
+No usage of org.jdbi.v3.core.argument.JavaTimeZoneIdArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/MapArguments.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/MapArguments.html new file mode 100644 index 00000000000..57d7c83ddb9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/MapArguments.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.MapArguments (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.MapArguments

+
+No usage of org.jdbi.v3.core.argument.MapArguments
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/NamedArgumentFinder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/NamedArgumentFinder.html new file mode 100644 index 00000000000..ca8467ad632 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/NamedArgumentFinder.html @@ -0,0 +1,161 @@ + + + + +Uses of Interface org.jdbi.v3.core.argument.NamedArgumentFinder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.argument.NamedArgumentFinder

+
+
Packages that use NamedArgumentFinder
+
+
Package
+
Description
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
 
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/NullArgument.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/NullArgument.html new file mode 100644 index 00000000000..c456145fe42 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/NullArgument.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.NullArgument (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.NullArgument

+
+No usage of org.jdbi.v3.core.argument.NullArgument
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectArgument.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectArgument.html new file mode 100644 index 00000000000..6ec891587cc --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectArgument.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.ObjectArgument (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.ObjectArgument

+
+No usage of org.jdbi.v3.core.argument.ObjectArgument
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectArgumentFactory.html new file mode 100644 index 00000000000..ff0e2aec93d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.ObjectArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.ObjectArgumentFactory

+
+No usage of org.jdbi.v3.core.argument.ObjectArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectFieldArguments.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectFieldArguments.html new file mode 100644 index 00000000000..3992bc3112b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectFieldArguments.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.ObjectFieldArguments (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.ObjectFieldArguments

+
+No usage of org.jdbi.v3.core.argument.ObjectFieldArguments
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectMethodArguments.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectMethodArguments.html new file mode 100644 index 00000000000..d0f0a6a0426 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/ObjectMethodArguments.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.ObjectMethodArguments (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.ObjectMethodArguments

+
+No usage of org.jdbi.v3.core.argument.ObjectMethodArguments
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/QualifiedArgumentFactory.Preparable.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/QualifiedArgumentFactory.Preparable.html new file mode 100644 index 00000000000..0c183e56a30 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/QualifiedArgumentFactory.Preparable.html @@ -0,0 +1,131 @@ + + + + +Uses of Interface org.jdbi.v3.core.argument.QualifiedArgumentFactory.Preparable (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.argument.QualifiedArgumentFactory.Preparable

+
+ +
+
Package
+
Description
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
 
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/QualifiedArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/QualifiedArgumentFactory.html new file mode 100644 index 00000000000..6cc9f336cb3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/QualifiedArgumentFactory.html @@ -0,0 +1,177 @@ + + + + +Uses of Interface org.jdbi.v3.core.argument.QualifiedArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.argument.QualifiedArgumentFactory

+
+
Packages that use QualifiedArgumentFactory
+
+
Package
+
Description
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/SetObjectArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/SetObjectArgumentFactory.html new file mode 100644 index 00000000000..db74e040047 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/class-use/SetObjectArgumentFactory.html @@ -0,0 +1,94 @@ + + + + +Uses of Class org.jdbi.v3.core.argument.SetObjectArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.argument.SetObjectArgumentFactory

+
+
Packages that use SetObjectArgumentFactory
+
+
Package
+
Description
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/package-summary.html new file mode 100644 index 00000000000..f52f881caa1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/package-summary.html @@ -0,0 +1,203 @@ + + + + +org.jdbi.v3.core.argument (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.argument

+
+
+
+
package org.jdbi.v3.core.argument
+
+

+ The argument classes translate Java types into JDBC parameters. + Depending on the static and sometimes the dynamic type, the ArgumentFactory + will select an appropriate representation and JDBC type and create an Argument + that binds a value to the Statement. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/package-tree.html new file mode 100644 index 00000000000..32d57429589 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/package-tree.html @@ -0,0 +1,114 @@ + + + + +org.jdbi.v3.core.argument Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.argument

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/package-use.html new file mode 100644 index 00000000000..3370075447c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/argument/package-use.html @@ -0,0 +1,333 @@ + + + + +Uses of Package org.jdbi.v3.core.argument (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.argument

+
+
Packages that use org.jdbi.v3.core.argument
+
+
Package
+
Description
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
 
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ guava provides extra types that are commonly needed beyond built + in JDK types.
+
+ +
 
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayArgumentFactory.html new file mode 100644 index 00000000000..fd1e5172e46 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayArgumentFactory.html @@ -0,0 +1,219 @@ + + + + +SqlArrayArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SqlArrayArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.array.SqlArrayArgumentFactory
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
public class SqlArrayArgumentFactory +extends Object +implements ArgumentFactory.Preparable
+
Bind a Java array or Collection to a SQL array using the + SqlArrayTypeFactory for the given type information. Note + that due to type erasure, binding Collection arguments with + SqlStatement.bind(int, Object) may + fail to determine the array component type. Provide explicit information with + SqlStatement.bindByType(int, Object, org.jdbi.v3.core.generic.GenericType). + + This factory is registered by default.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayArgumentStrategy.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayArgumentStrategy.html new file mode 100644 index 00000000000..b649feeb4b4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayArgumentStrategy.html @@ -0,0 +1,241 @@ + + + + +SqlArrayArgumentStrategy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum SqlArrayArgumentStrategy

+
+
java.lang.Object +
java.lang.Enum<SqlArrayArgumentStrategy> +
org.jdbi.v3.core.array.SqlArrayArgumentStrategy
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<SqlArrayArgumentStrategy>
+
+
+
public enum SqlArrayArgumentStrategy +extends Enum<SqlArrayArgumentStrategy>
+
Strategies used to bind SQL array arguments to a PreparedStatement.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayMapperFactory.html new file mode 100644 index 00000000000..4b5acfb93ee --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayMapperFactory.html @@ -0,0 +1,209 @@ + + + + +SqlArrayMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SqlArrayMapperFactory

+
+
java.lang.Object +
org.jdbi.v3.core.array.SqlArrayMapperFactory
+
+
+
+
+
All Implemented Interfaces:
+
ColumnMapperFactory
+
+
+
public class SqlArrayMapperFactory +extends Object +implements ColumnMapperFactory
+
Maps SQL array columns into Java arrays or other Java container types. + Supports any Java array type for which a ColumnMapper is registered + for the array element type. Supports any other container type for which a + CollectorFactory is registered, and for which + a ColumnMapper is registered for the container element type.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SqlArrayMapperFactory

      +
      +
      public SqlArrayMapperFactory()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      +
      public Optional<ColumnMapper<?>> build(Type type, + ConfigRegistry config)
      +
      Description copied from interface: ColumnMapperFactory
      +
      Supplies a column mapper which will map columns to type if the factory supports it; empty otherwise.
      +
      +
      Specified by:
      +
      build in interface ColumnMapperFactory
      +
      Parameters:
      +
      type - the target type to map to
      +
      config - the config registry, for composition
      +
      Returns:
      +
      a column mapper for the given type if this factory supports it, or Optional.empty() otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayType.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayType.html new file mode 100644 index 00000000000..aa26e68d032 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayType.html @@ -0,0 +1,218 @@ + + + + +SqlArrayType (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SqlArrayType<T>

+
+
+
+
+
Type Parameters:
+
T - the array element type
+
+
+
public interface SqlArrayType<T>
+
Strategy for converting elements of array-like arguments into SQL array elements.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns an equivalent value in a type supported by the JDBC vendor.
    +
    +
    default Class<?>
    + +
    +
    Returns the element class that is used to create the backing array.
    +
    + + +
    +
    Returns the vendor-specific SQL type name String for the element type T.
    +
    +
    static <T> SqlArrayType<T>
    +
    of(String typeName, + Function<T,?> conversion)
    +
    +
    Create a SqlArrayType from the given type and convert function.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getTypeName

      +
      +
      String getTypeName()
      +
      Returns the vendor-specific SQL type name String for the element type T. This value will be + passed to Connection.createArrayOf(String, Object[]) to create SQL arrays.
      +
      +
      Returns:
      +
      the type name
      +
      +
      +
      +
    • +
    • +
      +

      convertArrayElement

      +
      +
      Object convertArrayElement(T element)
      +
      Returns an equivalent value in a type supported by the JDBC vendor. If element type T is already + supported by the JDBC vendor, this method may return element without modification.
      +
      +
      Parameters:
      +
      element - the element to convert
      +
      Returns:
      +
      the converted element
      +
      +
      +
      +
    • +
    • +
      +

      getArrayElementClass

      +
      +
      default Class<?> getArrayElementClass()
      +
      Returns the element class that is used to create the backing array. By default, Object is used + and the backing array is an Object[] array. Can be overridden if a more specific type is needed.
      +
      +
      Returns:
      +
      A Class instance which is used with Array.newInstance(Class, int).
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      static <T> SqlArrayType<T> of(String typeName, + Function<T,?> conversion)
      +
      Create a SqlArrayType from the given type and convert function.
      +
      +
      Parameters:
      +
      typeName - the vendor sql type to use
      +
      conversion - convert the array element to the jdbc representation
      +
      Returns:
      +
      the created array type
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayTypeFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayTypeFactory.html new file mode 100644 index 00000000000..95c7e62fc34 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayTypeFactory.html @@ -0,0 +1,200 @@ + + + + +SqlArrayTypeFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SqlArrayTypeFactory

+
+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface SqlArrayTypeFactory
+
Factory interface to produce SqlArrayType instances.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    build(Type elementType, + ConfigRegistry config)
    +
    +
    Returns an SqlArrayType for the given elementType if this factory supports it; empty otherwise.
    +
    + +
    of(Class<T> elementType, + String typeName, + Function<T,?> conversion)
    +
    +
    Create a SqlArrayTypeFactory for the given elementType that binds using a + type name and convert function.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      +
      Optional<SqlArrayType<?>> build(Type elementType, + ConfigRegistry config)
      +
      Returns an SqlArrayType for the given elementType if this factory supports it; empty otherwise.
      +
      +
      Parameters:
      +
      elementType - the array element type
      +
      config - the config registry, for composition
      +
      Returns:
      +
      an SqlArrayType for the given elementType if this factory supports it; empty otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      static <T> SqlArrayTypeFactory of(Class<T> elementType, + String typeName, + Function<T,?> conversion)
      +
      Create a SqlArrayTypeFactory for the given elementType that binds using a + type name and convert function.
      +
      +
      Parameters:
      +
      elementType - the array element type
      +
      typeName - the database type name to bind as
      +
      conversion - the function to convert to jdbc representation
      +
      Returns:
      +
      the built factory
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayTypes.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayTypes.html new file mode 100644 index 00000000000..bb4f7aeefd6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/SqlArrayTypes.html @@ -0,0 +1,364 @@ + + + + +SqlArrayTypes (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SqlArrayTypes

+
+
java.lang.Object +
org.jdbi.v3.core.array.SqlArrayTypes
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<SqlArrayTypes>
+
+
+
public class SqlArrayTypes +extends Object +implements JdbiConfig<SqlArrayTypes>
+
Configuration class for SQL array binding and mapping.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SqlArrayTypes

      +
      +
      public SqlArrayTypes()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getArgumentStrategy

      +
      +
      public SqlArrayArgumentStrategy getArgumentStrategy()
      +
      Returns the strategy used to bind array-type arguments to SQL statements.
      +
      +
      Returns:
      +
      the strategy used to bind array-type arguments to SQL statements
      +
      +
      +
      +
    • +
    • +
      +

      setArgumentStrategy

      +
      +
      public SqlArrayTypes setArgumentStrategy(SqlArrayArgumentStrategy argumentStrategy)
      +
      Sets the strategy used when binding array-type arguments to SQL statements.
      +
      +
      Parameters:
      +
      argumentStrategy - the argument strategy to set
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public SqlArrayTypes register(Class<?> elementType, + String sqlTypeName)
      +
      Register an array element type that is supported by the JDBC vendor.
      +
      +
      Parameters:
      +
      elementType - the array element type
      +
      sqlTypeName - the vendor-specific SQL type name for the array type. This value will be passed to + Connection.createArrayOf(String, Object[]) to create SQL arrays.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public SqlArrayTypes register(SqlArrayType<?> arrayType)
      +
      Register a SqlArrayType which will have its parameterized type inspected to determine which element type + it supports. SQL array types are used to convert array-like arguments into SQL arrays. +

      + The parameter must be concretely parameterized; we use the type argument T to determine if it applies to + a given element type.

      +
      +
      Parameters:
      +
      arrayType - the SqlArrayType
      +
      Returns:
      +
      this
      +
      Throws:
      +
      UnsupportedOperationException - if the argument is not a concretely parameterized type
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public SqlArrayTypes register(SqlArrayTypeFactory factory)
      +
      Register a SqlArrayTypeFactory. A factory is provided element types and, if it supports it, provides an + SqlArrayType for it.
      +
      +
      Parameters:
      +
      factory - the factory
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public Optional<SqlArrayType<?>> findFor(Type elementType)
      +
      Obtain an SqlArrayType for the given array element type in the given context
      +
      +
      Parameters:
      +
      elementType - the array element type.
      +
      Returns:
      +
      an SqlArrayType for the given element type.
      +
      +
      +
      +
    • +
    • +
      +

      setRegistry

      +
      +
      public void setRegistry(ConfigRegistry registry)
      +
      Description copied from interface: JdbiConfig
      +
      The 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:
      +
      setRegistry in interface JdbiConfig<SqlArrayTypes>
      +
      Parameters:
      +
      registry - the registry that owns this configuration object
      +
      +
      +
      +
    • +
    • +
      +

      getInferenceInterceptors

      +
      +
      @Alpha +public JdbiInterceptionChainHolder<SqlArrayType<?>,SqlArrayTypeFactory> getInferenceInterceptors()
      +
      Returns the JdbiInterceptionChainHolder for the SqlArrayType inference. This chain allows registration of custom interceptors to change the standard + type inference for the register(SqlArrayType) method.
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public SqlArrayTypes createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<SqlArrayTypes>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayArgumentFactory.html new file mode 100644 index 00000000000..2677e5b8a7d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.array.SqlArrayArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.array.SqlArrayArgumentFactory

+
+No usage of org.jdbi.v3.core.array.SqlArrayArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayArgumentStrategy.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayArgumentStrategy.html new file mode 100644 index 00000000000..5887df9d836 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayArgumentStrategy.html @@ -0,0 +1,154 @@ + + + + +Uses of Enum org.jdbi.v3.core.array.SqlArrayArgumentStrategy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum
org.jdbi.v3.core.array.SqlArrayArgumentStrategy

+
+
Packages that use SqlArrayArgumentStrategy
+
+
Package
+
Description
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayMapperFactory.html new file mode 100644 index 00000000000..a7a9a5a6223 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayMapperFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.array.SqlArrayMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.array.SqlArrayMapperFactory

+
+No usage of org.jdbi.v3.core.array.SqlArrayMapperFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayType.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayType.html new file mode 100644 index 00000000000..5fa1f7a2ab0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayType.html @@ -0,0 +1,167 @@ + + + + +Uses of Interface org.jdbi.v3.core.array.SqlArrayType (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.array.SqlArrayType

+
+
Packages that use SqlArrayType
+
+
Package
+
Description
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayTypeFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayTypeFactory.html new file mode 100644 index 00000000000..86d09e5968b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayTypeFactory.html @@ -0,0 +1,135 @@ + + + + +Uses of Interface org.jdbi.v3.core.array.SqlArrayTypeFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.array.SqlArrayTypeFactory

+
+
Packages that use SqlArrayTypeFactory
+
+
Package
+
Description
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayTypes.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayTypes.html new file mode 100644 index 00000000000..2c1e68af5d5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/class-use/SqlArrayTypes.html @@ -0,0 +1,108 @@ + + + + +Uses of Class org.jdbi.v3.core.array.SqlArrayTypes (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.array.SqlArrayTypes

+
+
Packages that use SqlArrayTypes
+
+
Package
+
Description
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/package-summary.html new file mode 100644 index 00000000000..db80c43c647 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/package-summary.html @@ -0,0 +1,138 @@ + + + + +org.jdbi.v3.core.array (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.array

+
+
+
+
package org.jdbi.v3.core.array
+
+

+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/package-tree.html new file mode 100644 index 00000000000..698423a105d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/package-tree.html @@ -0,0 +1,94 @@ + + + + +org.jdbi.v3.core.array Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.array

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/array/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/package-use.html new file mode 100644 index 00000000000..fc38e553e45 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/array/package-use.html @@ -0,0 +1,147 @@ + + + + +Uses of Package org.jdbi.v3.core.array (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.array

+
+
Packages that use org.jdbi.v3.core.array
+
+
Package
+
Description
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/async/AbstractJdbiExecutor.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/AbstractJdbiExecutor.html new file mode 100644 index 00000000000..b0741e69fff --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/AbstractJdbiExecutor.html @@ -0,0 +1,457 @@ + + + + +AbstractJdbiExecutor (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AbstractJdbiExecutor

+
+
java.lang.Object +
org.jdbi.v3.core.async.AbstractJdbiExecutor
+
+
+
+
+
All Implemented Interfaces:
+
JdbiExecutor
+
+
+
@Beta +public abstract class AbstractJdbiExecutor +extends Object +implements JdbiExecutor
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AbstractJdbiExecutor

      +
      +
      public AbstractJdbiExecutor()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      withHandle

      +
      +
      public <R, +X extends Exception> CompletionStage<R> withHandle(HandleCallback<R,X> callback)
      +
      Description copied from interface: JdbiExecutor
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients. + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Specified by:
      +
      withHandle in interface JdbiExecutor
      +
      Type Parameters:
      +
      R - type returned by the callback
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      callback - A callback which will receive an open Handle
      +
      Returns:
      +
      a completion stage which completes when the callback returns a value or throws an exception
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      public <R, +X extends Exception> CompletionStage<R> inTransaction(HandleCallback<R,X> callback)
      +
      Description copied from interface: JdbiExecutor
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients. The handle will be in a transaction when + the callback is invoked, and that transaction will be committed if the callback finishes normally, or rolled back if the callback raises an exception. + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Specified by:
      +
      inTransaction in interface JdbiExecutor
      +
      Type Parameters:
      +
      R - type returned by the callback
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      callback - A callback which will receive an open Handle, in a transaction
      +
      Returns:
      +
      a completion stage which completes when the callback returns a value or throws an exception
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      public <R, +X extends Exception> CompletionStage<R> inTransaction(TransactionIsolationLevel level, + HandleCallback<R,X> callback)
      +
      Description copied from interface: JdbiExecutor
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients. The handle will be in a transaction when + the callback is invoked, and that transaction will be committed if the callback finishes normally, or rolled back if the callback raises an exception. + +

      + This form accepts a transaction isolation level which will be applied to the connection for the scope of this transaction, after which the original + isolation level will be restored. +

      + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Specified by:
      +
      inTransaction in interface JdbiExecutor
      +
      Type Parameters:
      +
      R - type returned by the callback
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      level - the transaction isolation level which will be applied to the connection for the scope of this transaction, after which the original + isolation level will be restored.
      +
      callback - A callback which will receive an open Handle, in a transaction
      +
      Returns:
      +
      a completion stage which completes when the callback returns a value or throws an exception
      +
      +
      +
      +
    • +
    • +
      +

      useHandle

      +
      +
      public <X extends Exception> CompletionStage<Void> useHandle(HandleConsumer<X> consumer)
      +
      Description copied from interface: JdbiExecutor
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients. + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Specified by:
      +
      useHandle in interface JdbiExecutor
      +
      Type Parameters:
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      consumer - A callback which will receive an open Handle
      +
      Returns:
      +
      a completion stage which completes when the callback returns or throws an exception
      +
      +
      +
      +
    • +
    • +
      +

      useTransaction

      +
      +
      public <X extends Exception> CompletionStage<Void> useTransaction(HandleConsumer<X> callback)
      +
      Description copied from interface: JdbiExecutor
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients. The handle will be in a transaction when + the callback is invoked, and that transaction will be committed if the callback finishes normally, or rolled back if the callback raises an exception. + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Specified by:
      +
      useTransaction in interface JdbiExecutor
      +
      Type Parameters:
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      callback - A callback which will receive an open Handle, in a transaction
      +
      Returns:
      +
      a completion stage which completes when the callback returns or throws an exception
      +
      +
      +
      +
    • +
    • +
      +

      useTransaction

      +
      +
      public <X extends Exception> CompletionStage<Void> useTransaction(TransactionIsolationLevel level, + HandleConsumer<X> callback)
      +
      Description copied from interface: JdbiExecutor
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients. The handle will be in a transaction when + the callback is invoked, and that transaction will be committed if the callback finishes normally, or rolled back if the callback raises an exception. + +

      + This form accepts a transaction isolation level which will be applied to the connection for the scope of this transaction, after which the original + isolation level will be restored. +

      + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Specified by:
      +
      useTransaction in interface JdbiExecutor
      +
      Type Parameters:
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      level - the transaction isolation level which will be applied to the connection for the scope of this transaction, after which the original + isolation level will be restored.
      +
      callback - A callback which will receive an open Handle, in a transaction
      +
      Returns:
      +
      a completion stage which completes when the callback returns or throws an exception
      +
      +
      +
      +
    • +
    • +
      +

      withExtension

      +
      +
      public <R, +E, +X extends Exception> +CompletionStage<R> withExtension(Class<E> extensionType, + ExtensionCallback<R,E,X> callback)
      +
      Description copied from interface: JdbiExecutor
      +
      A convenience method which opens an extension of the given type, yields it to a callback, and returns the result of the callback. A handle is opened if + needed by the extension, and closed before returning to the caller. + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Specified by:
      +
      withExtension in interface JdbiExecutor
      +
      Type Parameters:
      +
      R - the return type
      +
      E - the extension type
      +
      X - the exception type optionally thrown by the callback
      +
      Parameters:
      +
      extensionType - the type of extension.
      +
      callback - a callback which will receive the extension.
      +
      Returns:
      +
      a completion stage which completes when the callback returns a value or throws an exception, or will complete with NoSuchExtensionException if no + ExtensionFactory is registered which supports the given extension type.
      +
      +
      +
      +
    • +
    • +
      +

      useExtension

      +
      +
      public <E, +X extends Exception> +CompletionStage<Void> useExtension(Class<E> extensionType, + ExtensionConsumer<E,X> callback)
      +
      Description copied from interface: JdbiExecutor
      +
      A convenience method which opens an extension of the given type, and yields it to a callback. A handle is opened if needed by the extention, and closed + before returning to the caller. + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Specified by:
      +
      useExtension in interface JdbiExecutor
      +
      Type Parameters:
      +
      E - the extension type
      +
      X - the exception type optionally thrown by the callback
      +
      Parameters:
      +
      extensionType - the type of extension
      +
      callback - a callback which will receive the extension
      +
      Returns:
      +
      a completion stage which completes when the callback returns or throws an exception, or will complete with NoSuchExtensionException if no + ExtensionFactory is registered which supports the given extension type.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/async/JdbiExecutor.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/JdbiExecutor.html new file mode 100644 index 00000000000..0e32c87517a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/JdbiExecutor.html @@ -0,0 +1,422 @@ + + + + +JdbiExecutor (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JdbiExecutor

+
+
+
+
+
All Known Implementing Classes:
+
AbstractJdbiExecutor
+
+
+
@Beta +public interface JdbiExecutor
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      create

      +
      +
      static JdbiExecutor create(Jdbi jdbi, + Executor executor)
      +
      Create a JdbiExecutor. + +

      + The executor to pass in needs to be sized to the use case. A rule of thumb is to have the max number of workers be equal to the max number of connections + in the connection pool. The worker queue in the executor should probably be bounded, unless the caller(s) already has a bound for the number of + outstanding requests. Making the queue bounded will mean you are blocking the calling thread when the queue fills up. Whether or not that is acceptable + depends on if and how your service limits incoming requests +

      +
      +
      Parameters:
      +
      jdbi - the initialized Jdbi class
      +
      executor - an executor to use for all database calls
      +
      +
      +
      +
    • +
    • +
      +

      withHandle

      +
      +
      <R, +X extends Exception> CompletionStage<R> withHandle(HandleCallback<R,X> callback)
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients. + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Type Parameters:
      +
      R - type returned by the callback
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      callback - A callback which will receive an open Handle
      +
      Returns:
      +
      a completion stage which completes when the callback returns a value or throws an exception
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      <R, +X extends Exception> CompletionStage<R> inTransaction(HandleCallback<R,X> callback)
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients. The handle will be in a transaction when + the callback is invoked, and that transaction will be committed if the callback finishes normally, or rolled back if the callback raises an exception. + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Type Parameters:
      +
      R - type returned by the callback
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      callback - A callback which will receive an open Handle, in a transaction
      +
      Returns:
      +
      a completion stage which completes when the callback returns a value or throws an exception
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      <R, +X extends Exception> CompletionStage<R> inTransaction(TransactionIsolationLevel level, + HandleCallback<R,X> callback)
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients. The handle will be in a transaction when + the callback is invoked, and that transaction will be committed if the callback finishes normally, or rolled back if the callback raises an exception. + +

      + This form accepts a transaction isolation level which will be applied to the connection for the scope of this transaction, after which the original + isolation level will be restored. +

      + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Type Parameters:
      +
      R - type returned by the callback
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      level - the transaction isolation level which will be applied to the connection for the scope of this transaction, after which the original + isolation level will be restored.
      +
      callback - A callback which will receive an open Handle, in a transaction
      +
      Returns:
      +
      a completion stage which completes when the callback returns a value or throws an exception
      +
      +
      +
      +
    • +
    • +
      +

      useHandle

      +
      +
      <X extends Exception> CompletionStage<Void> useHandle(HandleConsumer<X> consumer)
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients. + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Type Parameters:
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      consumer - A callback which will receive an open Handle
      +
      Returns:
      +
      a completion stage which completes when the callback returns or throws an exception
      +
      +
      +
      +
    • +
    • +
      +

      useTransaction

      +
      +
      <X extends Exception> CompletionStage<Void> useTransaction(HandleConsumer<X> callback)
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients. The handle will be in a transaction when + the callback is invoked, and that transaction will be committed if the callback finishes normally, or rolled back if the callback raises an exception. + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Type Parameters:
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      callback - A callback which will receive an open Handle, in a transaction
      +
      Returns:
      +
      a completion stage which completes when the callback returns or throws an exception
      +
      +
      +
      +
    • +
    • +
      +

      useTransaction

      +
      +
      <X extends Exception> CompletionStage<Void> useTransaction(TransactionIsolationLevel level, + HandleConsumer<X> callback)
      +
      A convenience function which manages the lifecycle of a handle and yields it to a callback for use by clients. The handle will be in a transaction when + the callback is invoked, and that transaction will be committed if the callback finishes normally, or rolled back if the callback raises an exception. + +

      + This form accepts a transaction isolation level which will be applied to the connection for the scope of this transaction, after which the original + isolation level will be restored. +

      + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Type Parameters:
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      level - the transaction isolation level which will be applied to the connection for the scope of this transaction, after which the original + isolation level will be restored.
      +
      callback - A callback which will receive an open Handle, in a transaction
      +
      Returns:
      +
      a completion stage which completes when the callback returns or throws an exception
      +
      +
      +
      +
    • +
    • +
      +

      withExtension

      +
      +
      <R, +E, +X extends Exception> CompletionStage<R> withExtension(Class<E> extensionType, + ExtensionCallback<R,E,X> callback)
      +
      A convenience method which opens an extension of the given type, yields it to a callback, and returns the result of the callback. A handle is opened if + needed by the extension, and closed before returning to the caller. + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Type Parameters:
      +
      R - the return type
      +
      E - the extension type
      +
      X - the exception type optionally thrown by the callback
      +
      Parameters:
      +
      extensionType - the type of extension.
      +
      callback - a callback which will receive the extension.
      +
      Returns:
      +
      a completion stage which completes when the callback returns a value or throws an exception, or will complete with NoSuchExtensionException if no + ExtensionFactory is registered which supports the given extension type.
      +
      +
      +
      +
    • +
    • +
      +

      useExtension

      +
      +
      <E, +X extends Exception> CompletionStage<Void> useExtension(Class<E> extensionType, + ExtensionConsumer<E,X> callback)
      +
      A convenience method which opens an extension of the given type, and yields it to a callback. A handle is opened if needed by the extention, and closed + before returning to the caller. + +

      + The callback will be executed in a thread supplied by the executor +

      +
      +
      Type Parameters:
      +
      E - the extension type
      +
      X - the exception type optionally thrown by the callback
      +
      Parameters:
      +
      extensionType - the type of extension
      +
      callback - a callback which will receive the extension
      +
      Returns:
      +
      a completion stage which completes when the callback returns or throws an exception, or will complete with NoSuchExtensionException if no + ExtensionFactory is registered which supports the given extension type.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/async/class-use/AbstractJdbiExecutor.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/class-use/AbstractJdbiExecutor.html new file mode 100644 index 00000000000..549445a7faa --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/class-use/AbstractJdbiExecutor.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.async.AbstractJdbiExecutor (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.async.AbstractJdbiExecutor

+
+No usage of org.jdbi.v3.core.async.AbstractJdbiExecutor
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/async/class-use/JdbiExecutor.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/class-use/JdbiExecutor.html new file mode 100644 index 00000000000..9ca0bd98991 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/class-use/JdbiExecutor.html @@ -0,0 +1,94 @@ + + + + +Uses of Interface org.jdbi.v3.core.async.JdbiExecutor (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.async.JdbiExecutor

+
+
Packages that use JdbiExecutor
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/async/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/package-summary.html new file mode 100644 index 00000000000..aae20946b9f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/package-summary.html @@ -0,0 +1,111 @@ + + + + +org.jdbi.v3.core.async (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.async

+
+
+
+
package org.jdbi.v3.core.async
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
     
    + +
     
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/async/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/package-tree.html new file mode 100644 index 00000000000..3afc367d314 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/package-tree.html @@ -0,0 +1,77 @@ + + + + +org.jdbi.v3.core.async Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.async

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/async/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/package-use.html new file mode 100644 index 00000000000..6f46fcf4b34 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/async/package-use.html @@ -0,0 +1,79 @@ + + + + +Uses of Package org.jdbi.v3.core.async (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.async

+
+
Packages that use org.jdbi.v3.core.async
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCache.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCache.html new file mode 100644 index 00000000000..7c3915e0d08 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCache.html @@ -0,0 +1,206 @@ + + + + +JdbiCache (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JdbiCache<K,V>

+
+
+
+
+
Type Parameters:
+
K - A key type for the cache.
+
V - A value type for the cache.
+
+
+
All Known Implementing Classes:
+
CaffeineCache, CaffeineLoadingCache, NoopCache
+
+
+
public interface JdbiCache<K,V>
+
A generic cache implementation for JDBI internal use. +
+ All implementations of this interface must be threadsafe!
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    get(K key)
    +
    +
    Returns the cached value for a key.
    +
    +
    <T> T
    + +
    +
    Return implementation specific statistics for the cache object.
    +
    + +
    getWithLoader(K key, + JdbiCacheLoader<K,V> loader)
    +
    +
    Returns a cached value for a key.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      get

      +
      +
      V get(K key)
      +
      Returns the cached value for a key.
      +
      +
      Parameters:
      +
      key - The key value. Must not be null.
      +
      Returns:
      +
      The cached value or null if no value was cached.
      +
      +
      +
      +
    • +
    • +
      +

      getWithLoader

      +
      +
      V getWithLoader(K key, + JdbiCacheLoader<K,V> loader)
      +
      Returns a cached value for a key. If no value is cached, create a new value using the + provided cache loader.
      +
      +
      Parameters:
      +
      key - The key value. Must not be null.
      +
      loader - A JdbiCacheLoader implementation. May be called with the provided key value.
      +
      Returns:
      +
      The cached value or null if no value was cached.
      +
      +
      +
      +
    • +
    • +
      +

      getStats

      +
      +
      <T> T getStats()
      +
      Return implementation specific statistics for the cache object. This can be used to expose + statistic information about the underlying implementation.
      +
      +
      Returns:
      +
      An implementation specific object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCacheBuilder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCacheBuilder.html new file mode 100644 index 00000000000..19f2598e5ec --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCacheBuilder.html @@ -0,0 +1,196 @@ + + + + +JdbiCacheBuilder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JdbiCacheBuilder

+
+
+
+
+
All Known Implementing Classes:
+
CaffeineCacheBuilder, NoopCacheBuilder
+
+
+
public interface JdbiCacheBuilder
+
Builder class for JdbiCache implementations.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    <K, +V> JdbiCache<K,V>
    + +
    +
    Creates an cache instance from the values in the builder.
    +
    +
    <K, +V> JdbiCache<K,V>
    +
    buildWithLoader(JdbiCacheLoader<K,V> cacheLoader)
    +
    +
    Creates an cache instance from the values in the builder and a supplied cache loader.
    +
    + +
    maxSize(int maxSize)
    +
    +
    Sets an upper boundary to the cache size.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      +
      <K, +V> JdbiCache<K,V> build()
      +
      Creates an cache instance from the values in the builder.
      +
      +
      Returns:
      +
      A cache instance.
      +
      +
      +
      +
    • +
    • +
      +

      buildWithLoader

      +
      +
      <K, +V> JdbiCache<K,V> buildWithLoader(JdbiCacheLoader<K,V> cacheLoader)
      +
      Creates an cache instance from the values in the builder and a supplied cache loader.
      +
      +
      Parameters:
      +
      cacheLoader - A JdbiCacheLoader instance that is used to create a new value if no value is currently stored in the cache.
      +
      +
      +
      +
    • +
    • +
      +

      maxSize

      +
      +
      JdbiCacheBuilder maxSize(int maxSize)
      +
      Sets an upper boundary to the cache size.
      +
      +
      Parameters:
      +
      maxSize - Sets the maximum size of the cache. If the value is zero or negative, the cache is unbounded.
      +
      Returns:
      +
      The instance of the builder itself.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCacheLoader.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCacheLoader.html new file mode 100644 index 00000000000..809ed5dbdbe --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCacheLoader.html @@ -0,0 +1,163 @@ + + + + +JdbiCacheLoader (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JdbiCacheLoader<K,V>

+
+
+
+
+
Type Parameters:
+
K - A key type for the cache.
+
V - A value type for the cache.
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface JdbiCacheLoader<K,V>
+
Creates a new value for a JdbiCache.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    create(K key)
    +
    +
    Create a new value for caching from a cache key.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      create

      +
      +
      V create(K key)
      +
      Create a new value for caching from a cache key.
      +
      +
      Parameters:
      +
      key - The key that the value will be associated with. Never null.
      +
      Returns:
      +
      A value for the cache to store. May return null if no value could be created; the cache is expected to ignore null values and should call the + loader again.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCacheStats.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCacheStats.html new file mode 100644 index 00000000000..54852a8a076 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/JdbiCacheStats.html @@ -0,0 +1,169 @@ + + + + +JdbiCacheStats (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JdbiCacheStats

+
+
+
+
+
public interface JdbiCacheStats
+
Simple statistics about a JdbiCache instance. The values in this object are a snapshot of + the cache status. Calling any method multiple times should be cheap and constant time.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    Returns the current size of the cache.
    +
    +
    int
    + +
    +
    Returns the maximum size of the cache.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      cacheSize

      +
      +
      int cacheSize()
      +
      Returns the current size of the cache.
      +
      +
      Returns:
      +
      The current size of the cache.
      +
      +
      +
      +
    • +
    • +
      +

      maxSize

      +
      +
      int maxSize()
      +
      Returns the maximum size of the cache.
      +
      +
      Returns:
      +
      The maximum size of the cache.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCache.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCache.html new file mode 100644 index 00000000000..0c39f8ffb0d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCache.html @@ -0,0 +1,166 @@ + + + + +Uses of Interface org.jdbi.v3.core.cache.JdbiCache (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.cache.JdbiCache

+
+
Packages that use JdbiCache
+
+
Package
+
Description
+ +
+
Cache implementation using the Caffeine cache library.
+
+ +
+
A non-caching cache implementation.
+
+ +
+
Pluggable cache interface for Jdbi internal caches.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCacheBuilder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCacheBuilder.html new file mode 100644 index 00000000000..37a2a100d08 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCacheBuilder.html @@ -0,0 +1,188 @@ + + + + +Uses of Interface org.jdbi.v3.core.cache.JdbiCacheBuilder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.cache.JdbiCacheBuilder

+
+
Packages that use JdbiCacheBuilder
+
+
Package
+
Description
+ +
+
Cache implementation using the Caffeine cache library.
+
+ +
+
A non-caching cache implementation.
+
+ +
+
Pluggable cache interface for Jdbi internal caches.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCacheLoader.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCacheLoader.html new file mode 100644 index 00000000000..2fffca8e46a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCacheLoader.html @@ -0,0 +1,143 @@ + + + + +Uses of Interface org.jdbi.v3.core.cache.JdbiCacheLoader (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.cache.JdbiCacheLoader

+
+
Packages that use JdbiCacheLoader
+
+
Package
+
Description
+ +
+
Cache implementation using the Caffeine cache library.
+
+ +
+
A non-caching cache implementation.
+
+ +
+
Pluggable cache interface for Jdbi internal caches.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCacheStats.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCacheStats.html new file mode 100644 index 00000000000..5c5ec6146de --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/class-use/JdbiCacheStats.html @@ -0,0 +1,57 @@ + + + + +Uses of Interface org.jdbi.v3.core.cache.JdbiCacheStats (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.cache.JdbiCacheStats

+
+No usage of org.jdbi.v3.core.cache.JdbiCacheStats
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/package-summary.html new file mode 100644 index 00000000000..8ca7c38b8e3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/package-summary.html @@ -0,0 +1,124 @@ + + + + +org.jdbi.v3.core.cache (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.cache

+
+
+
+
package org.jdbi.v3.core.cache
+
+
Pluggable cache interface for Jdbi internal caches.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/package-tree.html new file mode 100644 index 00000000000..2d7b32ab55b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/package-tree.html @@ -0,0 +1,70 @@ + + + + +org.jdbi.v3.core.cache Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.cache

+
+Package Hierarchies: + +
+

Interface Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/package-use.html new file mode 100644 index 00000000000..32bda0a7c28 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/cache/package-use.html @@ -0,0 +1,160 @@ + + + + +Uses of Package org.jdbi.v3.core.cache (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.cache

+
+
Packages that use org.jdbi.v3.core.cache
+
+
Package
+
Description
+ +
+
Cache implementation using the Caffeine cache library.
+
+ +
+
A non-caching cache implementation.
+
+ +
+
Pluggable cache interface for Jdbi internal caches.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/CloseException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/CloseException.html new file mode 100644 index 00000000000..d9bfe6be26f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/CloseException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.CloseException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.CloseException

+
+No usage of org.jdbi.v3.core.CloseException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/ConnectionException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/ConnectionException.html new file mode 100644 index 00000000000..a46155320a3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/ConnectionException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.ConnectionException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.ConnectionException

+
+No usage of org.jdbi.v3.core.ConnectionException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/ConnectionFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/ConnectionFactory.html new file mode 100644 index 00000000000..3457ba782ff --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/ConnectionFactory.html @@ -0,0 +1,111 @@ + + + + +Uses of Interface org.jdbi.v3.core.ConnectionFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.ConnectionFactory

+
+
Packages that use ConnectionFactory
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ Classes here provide integration hooks for working with the Spring framework.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Handle.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Handle.html new file mode 100644 index 00000000000..9a15d569f69 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Handle.html @@ -0,0 +1,717 @@ + + + + +Uses of Class org.jdbi.v3.core.Handle (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.Handle

+
+
Packages that use Handle
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
+ The spi package includes entrypoints to extending Jdbi + instances with your own custom functionality.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ Classes here provide integration hooks for working with the Spring framework.
+
+ +
+
SQL Objects
+
+ +
+
JUnit 4 testing support.
+
+ +
+
JUnit 5 testing support.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleCallback.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleCallback.html new file mode 100644 index 00000000000..21aec487d08 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleCallback.html @@ -0,0 +1,281 @@ + + + + +Uses of Interface org.jdbi.v3.core.HandleCallback (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.HandleCallback

+
+
Packages that use HandleCallback
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
 
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleCallbackDecorator.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleCallbackDecorator.html new file mode 100644 index 00000000000..6973af9d33d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleCallbackDecorator.html @@ -0,0 +1,107 @@ + + + + +Uses of Interface org.jdbi.v3.core.HandleCallbackDecorator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.HandleCallbackDecorator

+
+
Packages that use HandleCallbackDecorator
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleConsumer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleConsumer.html new file mode 100644 index 00000000000..bbc5d96cc98 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleConsumer.html @@ -0,0 +1,172 @@ + + + + +Uses of Interface org.jdbi.v3.core.HandleConsumer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.HandleConsumer

+
+
Packages that use HandleConsumer
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
 
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleListener.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleListener.html new file mode 100644 index 00000000000..187c287a7ba --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleListener.html @@ -0,0 +1,113 @@ + + + + +Uses of Interface org.jdbi.v3.core.HandleListener (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.HandleListener

+
+
Packages that use HandleListener
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleScope.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleScope.html new file mode 100644 index 00000000000..2cbd86b42a5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/HandleScope.html @@ -0,0 +1,101 @@ + + + + +Uses of Interface org.jdbi.v3.core.HandleScope (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.HandleScope

+
+
Packages that use HandleScope
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Handles.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Handles.html new file mode 100644 index 00000000000..61a7e97ba7d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Handles.html @@ -0,0 +1,95 @@ + + + + +Uses of Class org.jdbi.v3.core.Handles (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.Handles

+
+
Packages that use Handles
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Jdbi.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Jdbi.html new file mode 100644 index 00000000000..1b18e073338 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Jdbi.html @@ -0,0 +1,595 @@ + + + + +Uses of Class org.jdbi.v3.core.Jdbi (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.Jdbi

+
+
Packages that use Jdbi
+
+
Package
+
Description
+ +
+
Cache implementation using the Caffeine cache library.
+
+ +
+
A non-caching cache implementation.
+
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
+ The h2 package adds vendor support for the H2 embeddable pure Java database implementation.
+
+ +
+
+ The spi package includes entrypoints to extending Jdbi + instances with your own custom functionality.
+
+ +
 
+ +
+
+ guava provides extra types that are commonly needed beyond built + in JDK types.
+
+ +
+
Google Guice integration.
+
+ +
 
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
 
+ +
 
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ Classes here provide integration hooks for working with the Spring framework.
+
+ +
+
+ The sqlite plugin provides improved support for + java.net.URL.
+
+ +
+
SQL Objects
+
+ +
+
JUnit 4 testing support.
+
+ +
+
JUnit 5 testing support.
+
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/JdbiException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/JdbiException.html new file mode 100644 index 00000000000..bdd9ce591da --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/JdbiException.html @@ -0,0 +1,339 @@ + + + + +Uses of Class org.jdbi.v3.core.JdbiException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.JdbiException

+
+
Packages that use JdbiException
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The collector package reduces the mapped rows of the result set + into a Stream Collector to produce the final aggregated result.
+
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Sql.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Sql.html new file mode 100644 index 00000000000..9dc39eb6321 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/class-use/Sql.html @@ -0,0 +1,88 @@ + + + + +Uses of Class org.jdbi.v3.core.Sql (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.Sql

+
+
Packages that use Sql
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/Codec.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/Codec.html new file mode 100644 index 00000000000..8ef94e15a1a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/Codec.html @@ -0,0 +1,209 @@ + + + + +Codec (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface Codec<T>

+
+
+
+
+
@Beta +public interface Codec<T>
+
A Codec provides a convenient way for a bidirectional mapping of an attribute to a database column. +

+ Groups a ColumnMapper and an Argument mapping function for a given type. +

+ Codec instances can replace existing Mapper and Argument pairs.

+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/CodecFactory.Builder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/CodecFactory.Builder.html new file mode 100644 index 00000000000..d2024e1bfab --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/CodecFactory.Builder.html @@ -0,0 +1,232 @@ + + + + +CodecFactory.Builder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CodecFactory.Builder

+
+
java.lang.Object +
org.jdbi.v3.core.codec.CodecFactory.Builder
+
+
+
+
+
Enclosing class:
+
CodecFactory
+
+
+
@Beta +public static final class CodecFactory.Builder +extends Object
+
Fluent Builder for CodecFactory.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/CodecFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/CodecFactory.html new file mode 100644 index 00000000000..b35b4f78dc5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/CodecFactory.html @@ -0,0 +1,348 @@ + + + + +CodecFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CodecFactory

+
+
java.lang.Object +
org.jdbi.v3.core.codec.CodecFactory
+
+
+
+
+
All Implemented Interfaces:
+
QualifiedArgumentFactory, QualifiedArgumentFactory.Preparable, QualifiedColumnMapperFactory
+
+
+
Direct Known Subclasses:
+
TypeResolvingCodecFactory
+
+
+
@ThreadSafe +@Beta +public class CodecFactory +extends Object +implements QualifiedColumnMapperFactory, QualifiedArgumentFactory.Preparable
+
CodecFactory provides column mappers and arguments for bidirectional mapping types to database columns. +

+ This class is immutable and thread safe. +

Alpha: this class as public API is redundant with the existing way of managing mappers: we should try to combine them + to make the new public API as small as possible

+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/class-use/Codec.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/class-use/Codec.html new file mode 100644 index 00000000000..80ec1685821 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/class-use/Codec.html @@ -0,0 +1,173 @@ + + + + +Uses of Interface org.jdbi.v3.core.codec.Codec (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.codec.Codec

+
+
Packages that use Codec
+
+
Package
+
Description
+ +
 
+ +
 
+ +
+
Google Guice integration.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/class-use/CodecFactory.Builder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/class-use/CodecFactory.Builder.html new file mode 100644 index 00000000000..caf93d57aab --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/class-use/CodecFactory.Builder.html @@ -0,0 +1,120 @@ + + + + +Uses of Class org.jdbi.v3.core.codec.CodecFactory.Builder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.codec.CodecFactory.Builder

+
+
Packages that use CodecFactory.Builder
+
+
Package
+
Description
+ +
 
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/class-use/CodecFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/class-use/CodecFactory.html new file mode 100644 index 00000000000..0996a3c88c8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/class-use/CodecFactory.html @@ -0,0 +1,145 @@ + + + + +Uses of Class org.jdbi.v3.core.codec.CodecFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.codec.CodecFactory

+
+
Packages that use CodecFactory
+
+
Package
+
Description
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/package-summary.html new file mode 100644 index 00000000000..9178e6bbb70 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/package-summary.html @@ -0,0 +1,119 @@ + + + + +org.jdbi.v3.core.codec (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.codec

+
+
+
+
package org.jdbi.v3.core.codec
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    A Codec provides a convenient way for a bidirectional mapping of an attribute to a database column.
    +
    + +
    +
    CodecFactory provides column mappers and arguments for bidirectional mapping types to database columns.
    +
    + +
    +
    Fluent Builder for CodecFactory.
    +
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/package-tree.html new file mode 100644 index 00000000000..22d496e7436 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/package-tree.html @@ -0,0 +1,78 @@ + + + + +org.jdbi.v3.core.codec Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.codec

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+
    +
  • org.jdbi.v3.core.codec.Codec<T>
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/package-use.html new file mode 100644 index 00000000000..241f62eef6f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/codec/package-use.html @@ -0,0 +1,148 @@ + + + + +Uses of Package org.jdbi.v3.core.codec (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.codec

+
+
Packages that use org.jdbi.v3.core.codec
+
+
Package
+
Description
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
 
+ +
+
Google Guice integration.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/BuiltInCollectorFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/BuiltInCollectorFactory.html new file mode 100644 index 00000000000..08095a28c50 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/BuiltInCollectorFactory.html @@ -0,0 +1,360 @@ + + + + +BuiltInCollectorFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BuiltInCollectorFactory

+
+
java.lang.Object +
org.jdbi.v3.core.collector.BuiltInCollectorFactory
+
+
+
+
+
All Implemented Interfaces:
+
CollectorFactory
+
+
+
@Deprecated +public class BuiltInCollectorFactory +extends Object +implements CollectorFactory
+
Deprecated. +
will be replaced by plugin
+
+
Provides Collectors for built in JDK container types. +

Supported container types:

+
    +
  • java.util.Optional<T> (throws an exception if more than one row in result)
  • +
  • java.util.Collection<T>
  • +
  • java.util.List<T>
  • +
  • java.util.ArrayList<T>
  • +
  • java.util.LinkedList<T>
  • +
  • java.util.concurrent.CopyOnWriteArrayList<T>
  • +
  • java.util.Set<T>
  • +
  • java.util.HashSet<T>
  • +
  • java.util.LinkedHashSet<T>
  • +
  • java.util.SortedSet<T>
  • +
  • java.util.TreeSet<T>
  • +
+

Supported Map types - for rows mapped to Map.Entry<K, V>

+
    +
  • java.util.Map<K, V>
  • +
  • java.util.HashMap<K, V>
  • +
  • java.util.LinkedHashMap<K, V>
  • +
  • java.util.SortedMap<K, V>
  • +
  • java.util.TreeMap<K, V>
  • +
  • java.util.concurrent.ConcurrentMap<K, V>
  • +
  • java.util.concurrent.ConcurrentHashMap<K, V>
  • +
  • java.util.WeakHashMap<K, V>
  • +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BuiltInCollectorFactory

      +
      +
      public BuiltInCollectorFactory()
      +
      Deprecated.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      accepts

      +
      +
      public boolean accepts(Type containerType)
      +
      Deprecated.
      +
      Description copied from interface: CollectorFactory
      +
      Accept a Type as a collector.
      +
      +
      Specified by:
      +
      accepts in interface CollectorFactory
      +
      Parameters:
      +
      containerType - the container type.
      +
      Returns:
      +
      whether this factory can produce a collector for the given container type.
      +
      +
      +
      +
    • +
    • +
      +

      elementType

      +
      +
      public Optional<Type> elementType(Type containerType)
      +
      Deprecated.
      +
      Description copied from interface: CollectorFactory
      +
      Returns the element type for a given container type.
      +
      +
      Specified by:
      +
      elementType in interface CollectorFactory
      +
      Parameters:
      +
      containerType - the container type.
      +
      Returns:
      +
      the container element type if it can be discovered through reflection; empty otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      build

      +
      +
      public Collector<?,?,?> build(Type containerType)
      +
      Deprecated.
      +
      Description copied from interface: CollectorFactory
      +
      Creates a collector for a given container type.
      +
      +
      Specified by:
      +
      build in interface CollectorFactory
      +
      Parameters:
      +
      containerType - the container type.
      +
      Returns:
      +
      a Collector for the given container type.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      toOptional

      +
      +
      @Deprecated +public static <T> Collector<T,?,Optional<T>> toOptional()
      +
      Deprecated. + +
      +
      Returns a Collector that accumulates 0 or 1 input elements into an Optional<T>. + The returned collector will throw IllegalStateException whenever 2 or more elements + are present in a stream.
      +
      +
      Type Parameters:
      +
      T - the collected type
      +
      Returns:
      +
      a Collector which collects 0 or 1 input elements into an Optional<T>.
      +
      +
      +
      +
    • +
    • +
      +

      toMap

      +
      +
      @Deprecated +public static <K, +V, +M extends Map<K, +V>> +Collector<Map.Entry<K,V>,?,M> toMap(Supplier<M> mapFactory)
      +
      Deprecated. + +
      +
      Returns a Collector that accumulates Map.Entry<K, V> input elements into a + map of the supplied type. The returned collector will throw IllegalStateException + whenever a set of input elements contains multiple entries with the same key.
      +
      +
      Type Parameters:
      +
      K - the type of map keys
      +
      V - the type of map values
      +
      M - the type of the resulting Map
      +
      Parameters:
      +
      mapFactory - a Supplier which returns a new, empty Map of the appropriate type.
      +
      Returns:
      +
      a Collector which collects map entry elements into a Map, in encounter order.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/CollectorFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/CollectorFactory.html new file mode 100644 index 00000000000..b8e997d878d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/CollectorFactory.html @@ -0,0 +1,260 @@ + + + + +CollectorFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface CollectorFactory

+
+
+
+
+
All Known Implementing Classes:
+
BuiltInCollectorFactory
+
+
+
public interface CollectorFactory
+
Factory for building Collectors to assemble containers of elements. + The collector produces only objects of the type of the container elements.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      accepts

      +
      +
      boolean accepts(Type containerType)
      +
      Accept a Type as a collector.
      +
      +
      Parameters:
      +
      containerType - the container type.
      +
      Returns:
      +
      whether this factory can produce a collector for the given container type.
      +
      +
      +
      +
    • +
    • +
      +

      elementType

      +
      +
      Optional<Type> elementType(Type containerType)
      +
      Returns the element type for a given container type.
      +
      +
      Parameters:
      +
      containerType - the container type.
      +
      Returns:
      +
      the container element type if it can be discovered through reflection; empty otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      build

      +
      +
      Collector<?,?,?> build(Type containerType)
      +
      Creates a collector for a given container type.
      +
      +
      Parameters:
      +
      containerType - the container type.
      +
      Returns:
      +
      a Collector for the given container type.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      collectorFactory

      +
      +
      static CollectorFactory collectorFactory(GenericType<?> containerType, + Collector<?,?,?> collector)
      +
      Creates a CollectorFactory from a parameterized container type and a collector.
      +
      +
      Parameters:
      +
      containerType - The parameterized container type that the factory should use
      +
      collector - The collector to aassemble container types into a collection
      +
      Returns:
      +
      A collection factory instance
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    • +
      +

      collectorFactory

      +
      +
      static CollectorFactory collectorFactory(Type containerType, + Collector<?,?,?> collector)
      +
      Creates a CollectorFactory from a container type and a collector.
      +
      +
      Parameters:
      +
      containerType - The container type that the factory should use
      +
      collector - The collector to aassemble container types into a collection
      +
      Returns:
      +
      A collection factory instance
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/ElementTypeNotFoundException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/ElementTypeNotFoundException.html new file mode 100644 index 00000000000..e44a4f5de9f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/ElementTypeNotFoundException.html @@ -0,0 +1,196 @@ + + + + +ElementTypeNotFoundException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ElementTypeNotFoundException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
org.jdbi.v3.core.JdbiException +
org.jdbi.v3.core.collector.ElementTypeNotFoundException
+
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class ElementTypeNotFoundException +extends JdbiException
+
Thrown when Jdbi tries to build a Collector, but cannot determine the element + type intended for it.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ElementTypeNotFoundException

      +
      +
      public ElementTypeNotFoundException(String string, + Throwable throwable)
      +
      +
      +
    • +
    • +
      +

      ElementTypeNotFoundException

      +
      +
      public ElementTypeNotFoundException(Throwable cause)
      +
      +
      +
    • +
    • +
      +

      ElementTypeNotFoundException

      +
      +
      public ElementTypeNotFoundException(String message)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/JdbiCollectors.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/JdbiCollectors.html new file mode 100644 index 00000000000..ae2e067552c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/JdbiCollectors.html @@ -0,0 +1,290 @@ + + + + +JdbiCollectors (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiCollectors

+
+
java.lang.Object +
org.jdbi.v3.core.collector.JdbiCollectors
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<JdbiCollectors>
+
+
+
public class JdbiCollectors +extends Object +implements JdbiConfig<JdbiCollectors>
+
Registry of collector factories. + Contains a set of collector factories, registered by the application.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JdbiCollectors

      +
      +
      public JdbiCollectors()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      register

      +
      +
      public JdbiCollectors register(CollectorFactory factory)
      +
      Register a new CollectorFactory.
      +
      +
      Parameters:
      +
      factory - A collector factory
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      registerCollector

      +
      +
      public JdbiCollectors registerCollector(Type collectionType, + Collector<?,?,?> collector)
      +
      Register a new Collector for the given type.
      +
      +
      Parameters:
      +
      collectionType - The type that this collector will return
      +
      collector - A Collector implementation
      +
      Returns:
      +
      this
      +
      Since:
      +
      3.38.0
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public Optional<Collector<?,?,?>> findFor(Type containerType)
      +
      Obtain a collector for the given type.
      +
      +
      Parameters:
      +
      containerType - the container type.
      +
      Returns:
      +
      a Collector for the given container type, or empty null if no collector is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findElementTypeFor

      +
      +
      public Optional<Type> findElementTypeFor(Type containerType)
      +
      Returns the element type for the given container type.
      +
      +
      Parameters:
      +
      containerType - the container type.
      +
      Returns:
      +
      the element type for the given container type, if available.
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public JdbiCollectors createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<JdbiCollectors>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/MapCollectors.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/MapCollectors.html new file mode 100644 index 00000000000..bd74d1c36b9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/MapCollectors.html @@ -0,0 +1,156 @@ + + + + +MapCollectors (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MapCollectors

+
+
java.lang.Object +
org.jdbi.v3.core.collector.MapCollectors
+
+
+
+
+
public class MapCollectors +extends Object
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/NoSuchCollectorException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/NoSuchCollectorException.html new file mode 100644 index 00000000000..0f36fc83d85 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/NoSuchCollectorException.html @@ -0,0 +1,196 @@ + + + + +NoSuchCollectorException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class NoSuchCollectorException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class NoSuchCollectorException +extends JdbiException
+
Thrown when Jdbi tries to produce a result Collector + but doesn't have a factory to produce it with.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      NoSuchCollectorException

      +
      +
      public NoSuchCollectorException(String string, + Throwable throwable)
      +
      +
      +
    • +
    • +
      +

      NoSuchCollectorException

      +
      +
      public NoSuchCollectorException(Throwable cause)
      +
      +
      +
    • +
    • +
      +

      NoSuchCollectorException

      +
      +
      public NoSuchCollectorException(String message)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/OptionalCollectors.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/OptionalCollectors.html new file mode 100644 index 00000000000..3b7bac5bc94 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/OptionalCollectors.html @@ -0,0 +1,264 @@ + + + + +OptionalCollectors (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class OptionalCollectors

+
+
java.lang.Object +
org.jdbi.v3.core.collector.OptionalCollectors
+
+
+
+
+
public class OptionalCollectors +extends Object
+
Factory methods for collectors of optional types.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      toOptional

      +
      +
      public static <T> Collector<T,?,Optional<T>> toOptional()
      +
      Returns a Collector that accumulates 0 or 1 input elements into an Optional<T>. + The returned collector will throw IllegalStateException whenever 2 or more elements + are present in a stream. Null elements are mapped to Optional.empty().
      +
      +
      Type Parameters:
      +
      T - the collected type
      +
      Returns:
      +
      a Collector which collects 0 or 1 input elements into an Optional<T>.
      +
      +
      +
      +
    • +
    • +
      +

      toOptionalInt

      +
      +
      public static Collector<Integer,?,OptionalInt> toOptionalInt()
      +
      Returns a Collector that accumulates 0 or 1 input Integer elements into an + OptionalInt. The returned collector will throw IllegalStateException whenever + 2 or more elements are present in a stream. Null elements are mapped to + OptionalInt.empty().
      +
      +
      Returns:
      +
      a Collector which collects 0 or 1 input Integer elements into an + OptionalInt.
      +
      +
      +
      +
    • +
    • +
      +

      toOptionalLong

      +
      +
      public static Collector<Long,?,OptionalLong> toOptionalLong()
      +
      Returns a Collector that accumulates 0 or 1 input Long elements into an + OptionalLong. The returned collector will throw IllegalStateException whenever + 2 or more elements are present in a stream. Null elements are mapped to + OptionalLong.empty().
      +
      +
      Returns:
      +
      a Collector which collects 0 or 1 input Long elements into an + OptionalLong.
      +
      +
      +
      +
    • +
    • +
      +

      toOptionalDouble

      +
      +
      public static Collector<Double,?,OptionalDouble> toOptionalDouble()
      +
      Returns a Collector that accumulates 0 or 1 input Double elements into an + OptionalDouble. The returned collector will throw IllegalStateException + whenever 2 or more elements are present in a stream. Null elements are mapped to + OptionalDouble.empty().
      +
      +
      Returns:
      +
      a Collector which collects 0 or 1 input Double elements into an + OptionalDouble.
      +
      +
      +
      +
    • +
    • +
      +

      toOptional

      +
      +
      public static <T, +O> Collector<T,?,O> toOptional(Supplier<O> empty, + Function<T,O> factory)
      +
      Returns a Collector that accumulates 0 or 1 input elements into an arbitrary + optional-style container type. The returned collector will throw + IllegalStateException whenever 2 or more elements are present in a stream. Null elements + are mapped to an empty container.
      +
      +
      Type Parameters:
      +
      T - The optional element type.
      +
      O - The optional type, which may incorporate the T generic parameter e.g. + Optional<T>.
      +
      Parameters:
      +
      empty - Supplies an instance of the optional type with no value.
      +
      factory - Returns an instance of the optional type with the input parameter as the value.
      +
      Returns:
      +
      a Collector which collects 0 or 1 input elements into an arbitrary + optional-style container type.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/BuiltInCollectorFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/BuiltInCollectorFactory.html new file mode 100644 index 00000000000..1fdcd06216f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/BuiltInCollectorFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.collector.BuiltInCollectorFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.collector.BuiltInCollectorFactory

+
+No usage of org.jdbi.v3.core.collector.BuiltInCollectorFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/CollectorFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/CollectorFactory.html new file mode 100644 index 00000000000..cfdc7391d85 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/CollectorFactory.html @@ -0,0 +1,163 @@ + + + + +Uses of Interface org.jdbi.v3.core.collector.CollectorFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.collector.CollectorFactory

+
+
Packages that use CollectorFactory
+
+
Package
+
Description
+ +
+
+ The collector package reduces the mapped rows of the result set + into a Stream Collector to produce the final aggregated result.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ guava provides extra types that are commonly needed beyond built + in JDK types.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/ElementTypeNotFoundException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/ElementTypeNotFoundException.html new file mode 100644 index 00000000000..091f7af5432 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/ElementTypeNotFoundException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.collector.ElementTypeNotFoundException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.collector.ElementTypeNotFoundException

+
+No usage of org.jdbi.v3.core.collector.ElementTypeNotFoundException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/JdbiCollectors.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/JdbiCollectors.html new file mode 100644 index 00000000000..e9a819274f8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/JdbiCollectors.html @@ -0,0 +1,97 @@ + + + + +Uses of Class org.jdbi.v3.core.collector.JdbiCollectors (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.collector.JdbiCollectors

+
+
Packages that use JdbiCollectors
+
+
Package
+
Description
+ +
+
+ The collector package reduces the mapped rows of the result set + into a Stream Collector to produce the final aggregated result.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/MapCollectors.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/MapCollectors.html new file mode 100644 index 00000000000..bd84bf7aeb2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/MapCollectors.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.collector.MapCollectors (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.collector.MapCollectors

+
+No usage of org.jdbi.v3.core.collector.MapCollectors
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/NoSuchCollectorException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/NoSuchCollectorException.html new file mode 100644 index 00000000000..80a3e77b5b7 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/NoSuchCollectorException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.collector.NoSuchCollectorException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.collector.NoSuchCollectorException

+
+No usage of org.jdbi.v3.core.collector.NoSuchCollectorException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/OptionalCollectors.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/OptionalCollectors.html new file mode 100644 index 00000000000..557ed9cabdd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/class-use/OptionalCollectors.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.collector.OptionalCollectors (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.collector.OptionalCollectors

+
+No usage of org.jdbi.v3.core.collector.OptionalCollectors
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/package-summary.html new file mode 100644 index 00000000000..72eb8425a17 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/package-summary.html @@ -0,0 +1,141 @@ + + + + +org.jdbi.v3.core.collector (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.collector

+
+
+
+
package org.jdbi.v3.core.collector
+
+

+ The collector package reduces the mapped rows of the result set + into a Stream Collector to produce the final aggregated result. +

+
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    Deprecated. +
    will be replaced by plugin
    +
    + +
    +
    Factory for building Collectors to assemble containers of elements.
    +
    + +
    +
    Thrown when Jdbi tries to build a Collector, but cannot determine the element + type intended for it.
    +
    + +
    +
    Registry of collector factories.
    +
    + +
     
    + +
    +
    Thrown when Jdbi tries to produce a result Collector + but doesn't have a factory to produce it with.
    +
    + +
    +
    Factory methods for collectors of optional types.
    +
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/package-tree.html new file mode 100644 index 00000000000..e2dbe1319f4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/package-tree.html @@ -0,0 +1,98 @@ + + + + +org.jdbi.v3.core.collector Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.collector

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/package-use.html new file mode 100644 index 00000000000..020993fdae9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/collector/package-use.html @@ -0,0 +1,127 @@ + + + + +Uses of Package org.jdbi.v3.core.collector (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.collector

+
+
Packages that use org.jdbi.v3.core.collector
+
+
Package
+
Description
+ +
+
+ The collector package reduces the mapped rows of the result set + into a Stream Collector to produce the final aggregated result.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ guava provides extra types that are commonly needed beyond built + in JDK types.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/config/ConfigCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/ConfigCustomizer.html new file mode 100644 index 00000000000..0c1cef0605f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/ConfigCustomizer.html @@ -0,0 +1,160 @@ + + + + +ConfigCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ConfigCustomizer

+
+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +@Beta +public interface ConfigCustomizer
+
Customizes a given ConfigRegistry.
+
+
Since:
+
3.38.0
+
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Manipulates the ConfigRegistry object.
    +
    +
    +
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/config/ConfigRegistry.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/ConfigRegistry.html new file mode 100644 index 00000000000..12f7bff41f8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/ConfigRegistry.html @@ -0,0 +1,227 @@ + + + + +ConfigRegistry (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ConfigRegistry

+
+
java.lang.Object +
org.jdbi.v3.core.config.ConfigRegistry
+
+
+
+
+
public final class ConfigRegistry +extends Object
+
A registry of JdbiConfig instances by type.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ConfigRegistry

      +
      +
      public ConfigRegistry()
      +
      Creates a new config registry.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      get

      +
      +
      public <C extends JdbiConfig<C>> C get(Class<C> configClass)
      +
      Returns this registry's instance of the given config class. Creates an instance on-demand if this registry does + not have one of the given type yet.
      +
      +
      Type Parameters:
      +
      C - the config class type.
      +
      Parameters:
      +
      configClass - the config class type.
      +
      Returns:
      +
      the given config class instance that belongs to this registry.
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public ConfigRegistry createCopy()
      +
      Returns a copy of this config registry.
      +
      +
      Returns:
      +
      a copy of this config registry
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/config/Configurable.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/Configurable.html new file mode 100644 index 00000000000..44415f03883 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/Configurable.html @@ -0,0 +1,812 @@ + + + + +Configurable (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface Configurable<This>

+
+
+
+
+
Type Parameters:
+
This - The subtype that implements this interface.
+
+
+
All Known Implementing Classes:
+
Batch, Call, Handle, Jdbi, MetaData, PreparedBatch, Query, Script, SqlStatement, Update
+
+
+
public interface Configurable<This>
+
A type with access to access and modify arbitrary Jdbi configuration.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      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(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(Class<C> configClass, + 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
      +
      +
      +
      +
    • +
    • +
      +

      setTimingCollector

      +
      +
      @Deprecated +default This setTimingCollector(TimingCollector collector)
      + +
      Convenience method for getConfig(SqlStatements.class).setTimingCollector(collector)
      +
      +
      Parameters:
      +
      collector - timing collector
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      setSqlLogger

      +
      +
      default This setSqlLogger(SqlLogger sqlLogger)
      +
      +
      +
    • +
    • +
      +

      addCustomizer

      +
      +
      default This addCustomizer(StatementCustomizer customizer)
      +
      +
      +
    • +
    • +
      +

      define

      +
      +
      default This define(String key, + 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(String keyColumn)
      +
      Convenience method for getConfig(MapEntryMappers.class).setKeyColumn(keyColumn)
      +
      +
      Parameters:
      +
      keyColumn - the key column name
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      setMapValueColumn

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

      registerArrayType

      +
      +
      default This registerArrayType(Class<?> elementType, + 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(Class<T> elementType, + String sqlTypeName, + 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(Type collectionType, + 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(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(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

      +
      +
      @Beta +default This registerCodecFactory(CodecFactory codecFactory)
      +
      Convenience method to register a CodecFactory.
      +
      +
      Parameters:
      +
      codecFactory - codec factory
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/config/ConfiguringPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/ConfiguringPlugin.html new file mode 100644 index 00000000000..0fa3b9136f8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/ConfiguringPlugin.html @@ -0,0 +1,191 @@ + + + + +ConfiguringPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ConfiguringPlugin<C extends JdbiConfig<C>>

+
+
java.lang.Object +
org.jdbi.v3.core.config.ConfiguringPlugin<C>
+
+
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public final class ConfiguringPlugin<C extends JdbiConfig<C>> +extends Object +implements JdbiPlugin
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      of

      +
      +
      public static <C extends JdbiConfig<C>> +ConfiguringPlugin<C> of(Class<C> configClass, + Consumer<C> configurer)
      +
      +
      +
    • +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi jdbi)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Specified by:
      +
      customizeJdbi in interface JdbiPlugin
      +
      Parameters:
      +
      jdbi - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/config/JdbiConfig.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/JdbiConfig.html new file mode 100644 index 00000000000..e913bc27766 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/JdbiConfig.html @@ -0,0 +1,183 @@ + + + + +JdbiConfig (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JdbiConfig<This extends JdbiConfig<This>>

+
+
+
+
+
Type Parameters:
+
This - A "This" type. Should always be the configuration class.
+
+
+
All Known Implementing Classes:
+
Arguments, ColumnMappers, Enums, Extensions, FreemarkerConfig, Gson2Config, HandlerDecorators, Handlers, Handles, Jackson2Config, JdbiCollectors, JdbiFreeBuilders, JdbiImmutables, JsonConfig, MapEntryMappers, MapMappers, Mappers, MoshiConfig, PostgresTypes, Qualifiers, ReflectionMappers, ResultProducers, RowMappers, SerializableTransactionRunner.Configuration, SqlArrayTypes, SqlObjects, SqlStatements, StatementExceptions, StringTemplates, TimestampedConfig, TupleMappers
+
+
+
public interface JdbiConfig<This extends JdbiConfig<This>>
+
Interface for classes that hold configuration. Implementations of this interface must have a public + constructor that optionally takes the ConfigRegistry. + + Implementors should ensure that implementations are thread-safe for access and caching purposes, but not + necessarily for reconfiguration.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns a copy of this configuration object.
    +
    +
    default void
    + +
    +
    The registry will inject itself into the configuration object.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      createCopy

      +
      +
      This createCopy()
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    • +
      +

      setRegistry

      +
      +
      default void setRegistry(ConfigRegistry registry)
      +
      The 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.
      +
      +
      Parameters:
      +
      registry - the registry that owns this configuration object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/ConfigCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/ConfigCustomizer.html new file mode 100644 index 00000000000..5554c8bbe28 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/ConfigCustomizer.html @@ -0,0 +1,112 @@ + + + + +Uses of Interface org.jdbi.v3.core.config.ConfigCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.config.ConfigCustomizer

+
+
Packages that use ConfigCustomizer
+
+
Package
+
Description
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/ConfigRegistry.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/ConfigRegistry.html new file mode 100644 index 00000000000..0f5e1f2d4f3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/ConfigRegistry.html @@ -0,0 +1,857 @@ + + + + +Uses of Class org.jdbi.v3.core.config.ConfigRegistry (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.config.ConfigRegistry

+
+
Packages that use ConfigRegistry
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
 
+ +
 
+ +
 
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ freemarker provides advanced string template processing.
+
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+ +
+
+ sqlobject.locator inspects the declared SqlObject and determines + the statement text to pass off to core.locator for final + resolution of the statement text.
+
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/Configurable.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/Configurable.html new file mode 100644 index 00000000000..7c1e61a1758 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/Configurable.html @@ -0,0 +1,150 @@ + + + + +Uses of Interface org.jdbi.v3.core.config.Configurable (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.config.Configurable

+
+
Packages that use Configurable
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+
    +
  • +
    +

    Uses of Configurable in org.jdbi.v3.core

    +
    Classes in org.jdbi.v3.core that implement Configurable
    +
    +
    Modifier and Type
    +
    Class
    +
    Description
    +
    class 
    + +
    +
    This represents a connection to the database system.
    +
    +
    class 
    + +
    +
    Main entry point; configurable wrapper around a JDBC DataSource.
    +
    +
    +
    +
  • +
  • +
    +

    Uses of Configurable in org.jdbi.v3.core.statement

    +
    Classes in org.jdbi.v3.core.statement that implement Configurable
    +
    +
    Modifier and Type
    +
    Class
    +
    Description
    +
    class 
    + +
    +
    Represents a group of non-prepared statements to be sent to the RDMBS in one "request".
    +
    +
    class 
    + +
    +
    Used for invoking stored procedures.
    +
    +
    final class 
    + +
    +
    Access to Database Metadata.
    +
    +
    class 
    + +
    +
    Represents a prepared batch statement.
    +
    +
    class 
    + +
    +
    Statement providing convenience result handling for SQL queries.
    +
    +
    class 
    + +
    +
    Represents a number of SQL statements delimited by semicolon which will be executed in order in a batch statement.
    +
    +
    class 
    +
    SqlStatement<This extends SqlStatement<This>>
    +
    +
    This class provides the common functions between Query and + Update.
    +
    +
    class 
    + +
    +
    Used for INSERT, UPDATE, and DELETE statements
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/ConfiguringPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/ConfiguringPlugin.html new file mode 100644 index 00000000000..4feb3cdc201 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/ConfiguringPlugin.html @@ -0,0 +1,87 @@ + + + + +Uses of Class org.jdbi.v3.core.config.ConfiguringPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.config.ConfiguringPlugin

+
+
Packages that use ConfiguringPlugin
+
+
Package
+
Description
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/JdbiConfig.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/JdbiConfig.html new file mode 100644 index 00000000000..7493bc1d686 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/class-use/JdbiConfig.html @@ -0,0 +1,681 @@ + + + + +Uses of Interface org.jdbi.v3.core.config.JdbiConfig (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.config.JdbiConfig

+
+
Packages that use JdbiConfig
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
+
+ The collector package reduces the mapped rows of the result set + into a Stream Collector to produce the final aggregated result.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
 
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
 
+ +
 
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+ +
 
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+ +
+
+ freemarker provides advanced string template processing.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
SQL Objects
+
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+ +
+
+ stringtemplate4 provides advanced string template processing + that Jdbi can drive with the statement's bound parameters + and context to drive statement generation that may need to bind + variable number of parameters or other advanced use cases.
+
+ +
+
JUnit 5 testing support.
+
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/config/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/package-summary.html new file mode 100644 index 00000000000..e16ddd02a04 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/package-summary.html @@ -0,0 +1,136 @@ + + + + +org.jdbi.v3.core.config (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.config

+
+
+
+
package org.jdbi.v3.core.config
+
+

+ The config classes define a configuration registry starting from + each Jdbi instance. When a Handle or other configurable + object is created, it clones the parent's configuration at time of creation. + Modifying configuration will affect future created children but not existing + ones. In general, it is preferable to configure Jdbi during + application initialization and then only configure specific statements + further individually if necessary. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/config/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/package-tree.html new file mode 100644 index 00000000000..bd3d6abb824 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/package-tree.html @@ -0,0 +1,80 @@ + + + + +org.jdbi.v3.core.config Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.config

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/config/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/package-use.html new file mode 100644 index 00000000000..1f085360b8f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/config/package-use.html @@ -0,0 +1,653 @@ + + + + +Uses of Package org.jdbi.v3.core.config (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.config

+
+
Packages that use org.jdbi.v3.core.config
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
 
+ +
+
+ The collector package reduces the mapped rows of the result set + into a Stream Collector to produce the final aggregated result.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
 
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
 
+ +
 
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+ +
 
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+ +
+
+ freemarker provides advanced string template processing.
+
+ +
 
+ +
 
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
 
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
SQL Objects
+
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+ +
+
+ sqlobject.locator inspects the declared SqlObject and determines + the statement text to pass off to core.locator for final + resolution of the statement text.
+
+ +
+
+ stringtemplate4 provides advanced string template processing + that Jdbi can drive with the statement's bound parameters + and context to drive statement generation that may need to bind + variable number of parameters or other advanced use cases.
+
+ +
+
JUnit 5 testing support.
+
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/DatabaseValue.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/DatabaseValue.html new file mode 100644 index 00000000000..100197c5da8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/DatabaseValue.html @@ -0,0 +1,144 @@ + + + + +DatabaseValue (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type DatabaseValue

+
+
+
+
+
@Retention(RUNTIME) +@Target(FIELD) +public @interface DatabaseValue
+
Map a value from the database column directly onto an enum value.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    The database value that this annotation represents.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      The database value that this annotation represents.
      +
      +
      Returns:
      +
      the database value
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/EnumByName.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/EnumByName.html new file mode 100644 index 00000000000..6e03c8f7b61 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/EnumByName.html @@ -0,0 +1,118 @@ + + + + +EnumByName (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type EnumByName

+
+
+
+
+
@Retention(RUNTIME) +@Target({FIELD,METHOD,PARAMETER,TYPE}) +public @interface EnumByName
+
Specifies that an Enum value should be bound or mapped as its Enum.name(). This is typically default behavior. + + This annotation can be placed on the source enum (class), + in SqlStatement.bindByType(String, Object, org.jdbi.v3.core.qualifier.QualifiedType) calls, + or on SqlObject methods and parameters. + + The order of priority, highest to lowest, is +
    +
  • binding/mapping point (fluent API or SqlObject)
  • +
  • class annotation
  • +
  • Enums config
  • +
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/EnumByOrdinal.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/EnumByOrdinal.html new file mode 100644 index 00000000000..31923db5250 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/EnumByOrdinal.html @@ -0,0 +1,118 @@ + + + + +EnumByOrdinal (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type EnumByOrdinal

+
+
+
+
+
@Retention(RUNTIME) +@Target({FIELD,METHOD,PARAMETER,TYPE}) +public @interface EnumByOrdinal
+
Specifies that an Enum value should be bound or mapped as its Enum.ordinal(). + + This annotation can be placed on the source enum (class), + in SqlStatement.bindByType(String, Object, org.jdbi.v3.core.qualifier.QualifiedType) calls, + or on SqlObject methods and parameters. + + The order of priority, highest to lowest, is +
    +
  • binding/mapping point (fluent API or SqlObject)
  • +
  • class annotation
  • +
  • Enums config
  • +
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/EnumStrategy.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/EnumStrategy.html new file mode 100644 index 00000000000..a0e6e03f5f2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/EnumStrategy.html @@ -0,0 +1,232 @@ + + + + +EnumStrategy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum EnumStrategy

+
+
java.lang.Object +
java.lang.Enum<EnumStrategy> +
org.jdbi.v3.core.enums.EnumStrategy
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<EnumStrategy>
+
+
+
public enum EnumStrategy +extends Enum<EnumStrategy>
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      BY_NAME

      +
      +
      public static final EnumStrategy BY_NAME
      +
      +
      +
    • +
    • +
      +

      BY_ORDINAL

      +
      +
      public static final EnumStrategy BY_ORDINAL
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static EnumStrategy[] values()
      +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum type, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static EnumStrategy valueOf(String name)
      +
      Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum type has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/Enums.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/Enums.html new file mode 100644 index 00000000000..81a32075081 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/Enums.html @@ -0,0 +1,235 @@ + + + + +Enums (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Enums

+
+
java.lang.Object +
org.jdbi.v3.core.enums.Enums
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<Enums>
+
+
+
public class Enums +extends Object +implements JdbiConfig<Enums>
+
Configuration for behavior related to Enums.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Enums

      +
      +
      public Enums()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getDefaultStrategy

      +
      +
      public EnumStrategy getDefaultStrategy()
      +
      Returns the default strategy to use for mapping and binding enums, in the absence of a + EnumByName or EnumByOrdinal qualifying annotation. The default default + is EnumStrategy.BY_NAME.
      +
      +
      +
    • +
    • +
      +

      setEnumStrategy

      +
      +
      public Enums setEnumStrategy(EnumStrategy enumStrategy)
      +
      Sets the default strategy for mapping and binding enums.
      +
      +
      Parameters:
      +
      enumStrategy - the new strategy
      +
      Returns:
      +
      this Enums instance, for chaining
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public Enums createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<Enums>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/DatabaseValue.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/DatabaseValue.html new file mode 100644 index 00000000000..5ce072c1941 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/DatabaseValue.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.enums.DatabaseValue (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.enums.DatabaseValue

+
+No usage of org.jdbi.v3.core.enums.DatabaseValue
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/EnumByName.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/EnumByName.html new file mode 100644 index 00000000000..3a64211fbe6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/EnumByName.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.enums.EnumByName (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.enums.EnumByName

+
+No usage of org.jdbi.v3.core.enums.EnumByName
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/EnumByOrdinal.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/EnumByOrdinal.html new file mode 100644 index 00000000000..3d3bbbba280 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/EnumByOrdinal.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.enums.EnumByOrdinal (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.enums.EnumByOrdinal

+
+No usage of org.jdbi.v3.core.enums.EnumByOrdinal
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/EnumStrategy.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/EnumStrategy.html new file mode 100644 index 00000000000..756e56dcf91 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/EnumStrategy.html @@ -0,0 +1,107 @@ + + + + +Uses of Enum org.jdbi.v3.core.enums.EnumStrategy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum
org.jdbi.v3.core.enums.EnumStrategy

+
+
Packages that use EnumStrategy
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/Enums.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/Enums.html new file mode 100644 index 00000000000..85d84bc88f8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/class-use/Enums.html @@ -0,0 +1,87 @@ + + + + +Uses of Class org.jdbi.v3.core.enums.Enums (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.enums.Enums

+
+
Packages that use Enums
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/package-summary.html new file mode 100644 index 00000000000..cfea6738f08 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/package-summary.html @@ -0,0 +1,125 @@ + + + + +org.jdbi.v3.core.enums (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.enums

+
+
+
+
package org.jdbi.v3.core.enums
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    Map a value from the database column directly onto an enum value.
    +
    + +
    +
    Specifies that an Enum value should be bound or mapped as its Enum.name().
    +
    + +
    +
    Specifies that an Enum value should be bound or mapped as its Enum.ordinal().
    +
    + +
    +
    Configuration for behavior related to Enums.
    +
    + +
     
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/package-tree.html new file mode 100644 index 00000000000..5ccd1f793f2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/package-tree.html @@ -0,0 +1,93 @@ + + + + +org.jdbi.v3.core.enums Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.enums

+
+Package Hierarchies: + +
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • org.jdbi.v3.core.enums.Enums (implements org.jdbi.v3.core.config.JdbiConfig<This>)
    • +
    +
  • +
+
+
+

Annotation Type Hierarchy

+ +
+
+

Enum Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/package-use.html new file mode 100644 index 00000000000..508099f1fdd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/enums/package-use.html @@ -0,0 +1,83 @@ + + + + +Uses of Package org.jdbi.v3.core.enums (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.enums

+
+
Packages that use org.jdbi.v3.core.enums
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ConfigCustomizerFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ConfigCustomizerFactory.html new file mode 100644 index 00000000000..f4200a545be --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ConfigCustomizerFactory.html @@ -0,0 +1,180 @@ + + + + +ConfigCustomizerFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ConfigCustomizerFactory

+
+
+
+
+
@Alpha +public interface ConfigCustomizerFactory
+
Factory interface to create collections of ConfigCustomizer instances.
+
+
Since:
+
3.38.0
+
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionCallback.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionCallback.html new file mode 100644 index 00000000000..cb17b7c0889 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionCallback.html @@ -0,0 +1,166 @@ + + + + +ExtensionCallback (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ExtensionCallback<R,E,X extends Exception>

+
+
+
+
+
Type Parameters:
+
R - return type
+
E - extension type
+
X - optional exception type thrown by the callback
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface ExtensionCallback<R,E,X extends Exception>
+ +
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    withExtension(E extension)
    +
    +
    Will be invoked with a live extension.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      withExtension

      +
      +
      R withExtension(E extension) + throws X
      +
      Will be invoked with a live extension. The associated handle will be closed when this callback returns.
      +
      +
      Parameters:
      +
      extension - extension to be used only within the scope of this callback.
      +
      Returns:
      +
      the return value of the callback
      +
      Throws:
      +
      X - optional exception thrown by this callback.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionConfigurer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionConfigurer.html new file mode 100644 index 00000000000..4799b635f04 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionConfigurer.html @@ -0,0 +1,200 @@ + + + + +ExtensionConfigurer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ExtensionConfigurer

+
+
+
+
+
All Known Subinterfaces:
+
Configurer
+
+
+
All Known Implementing Classes:
+
SimpleExtensionConfigurer
+
+
+
@Alpha +public interface ExtensionConfigurer
+
Configures ConfigRegistry instances. Implementation classes + are referenced from annotations that are marked with the UseExtensionConfigurer annotation. +
+ Instances of this interface update the configuration used to execute a specific method e.g. to + register row mapper needed for the execution of the underlying ExtensionHandler.
+
+
Since:
+
3.38.0
+
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default void
    +
    configureForMethod(ConfigRegistry config, + Annotation annotation, + Class<?> extensionType, + Method method)
    +
    +
    Configures the config for the given annotation on a extension type method.
    +
    +
    default void
    +
    configureForType(ConfigRegistry config, + Annotation annotation, + Class<?> extensionType)
    +
    +
    Updates configuration for the given annotation on an extension type.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      configureForType

      +
      +
      default void configureForType(ConfigRegistry config, + Annotation annotation, + Class<?> extensionType)
      +
      Updates configuration for the given annotation on an extension type.
      +
      +
      Parameters:
      +
      config - the config to configure
      +
      annotation - the annotation
      +
      extensionType - the extension type which was annotated
      +
      +
      +
      +
    • +
    • +
      +

      configureForMethod

      +
      +
      default void configureForMethod(ConfigRegistry config, + Annotation annotation, + Class<?> extensionType, + Method method)
      +
      Configures the config for the given annotation on a extension type method.
      +
      +
      Parameters:
      +
      config - the config to configure
      +
      annotation - the annotation
      +
      extensionType - the extension type
      +
      method - the method which was annotated
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionConsumer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionConsumer.html new file mode 100644 index 00000000000..a2e93cef9ba --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionConsumer.html @@ -0,0 +1,163 @@ + + + + +ExtensionConsumer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ExtensionConsumer<E,X extends Exception>

+
+
+
+
+
Type Parameters:
+
E - extension type
+
X - optional exception type thrown by the callback
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface ExtensionConsumer<E,X extends Exception>
+ +
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    useExtension(E extension)
    +
    +
    Will be invoked with a live extension.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      useExtension

      +
      +
      void useExtension(E extension) + throws X
      +
      Will be invoked with a live extension. The associated handle will be closed when this callback returns.
      +
      +
      Parameters:
      +
      extension - extension to be used only within the scope of this callback.
      +
      Throws:
      +
      X - optional exception thrown by this callback.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionContext.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionContext.html new file mode 100644 index 00000000000..c528eb7d64f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionContext.html @@ -0,0 +1,228 @@ + + + + +ExtensionContext (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ExtensionContext

+
+
java.lang.Object +
org.jdbi.v3.core.extension.ExtensionContext
+
+
+
+
+
public final class ExtensionContext +extends Object
+
Accepted by a handle when executing extension code. This temporarily reconfigures the handle to execute + extension code. Reconfigurations are e.g. annotations from the sql objects that define mappers or bindings.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionFactory.FactoryFlag.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionFactory.FactoryFlag.html new file mode 100644 index 00000000000..a9f50903586 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionFactory.FactoryFlag.html @@ -0,0 +1,265 @@ + + + + +ExtensionFactory.FactoryFlag (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum ExtensionFactory.FactoryFlag

+
+
java.lang.Object +
java.lang.Enum<ExtensionFactory.FactoryFlag> +
org.jdbi.v3.core.extension.ExtensionFactory.FactoryFlag
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<ExtensionFactory.FactoryFlag>
+
+
+
Enclosing interface:
+
ExtensionFactory
+
+
+
@Alpha +public static enum ExtensionFactory.FactoryFlag +extends Enum<ExtensionFactory.FactoryFlag>
+
Flags that the factory can return to control aspects of the extension framework.
+
+
Since:
+
3.38.0
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      NON_VIRTUAL_FACTORY

      +
      +
      public static final ExtensionFactory.FactoryFlag NON_VIRTUAL_FACTORY
      +
      The factory provides a concrete instance to back the extension type. +
      + Unless this flag is present, factories do not + create an object to attach to but register method handlers for every method on an extension type. +
      + E.g. the SQLObject handler is an example of a virtual factory that processes every method in an interface class without requiring + an implementation of the extension type. + The extension framework will execute the method handlers and pass in a proxy object instead of an underlying instance. +
      + When this flag is present, the ExtensionFactory.attach(Class, HandleSupplier) method will never be called.
      +
      +
      +
    • +
    • +
      +

      DONT_USE_PROXY

      +
      +
      public static final ExtensionFactory.FactoryFlag DONT_USE_PROXY
      +
      Do not wrap the backing object methods into ExtensionHandler instances and return a + Proxy instance but return it as is. This allows the factory to + suport class objects as well as interfaces. +
      + This is a corner use case and should normally not be used by any standard extension. +
      + Legacy extension factories that need every method on an interface forwarded to the underlying implementation class + can set this flag to bypass the proxy logic of the extension framework.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static ExtensionFactory.FactoryFlag[] values()
      +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum type, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static ExtensionFactory.FactoryFlag valueOf(String name)
      +
      Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum type has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionFactory.html new file mode 100644 index 00000000000..436fa4a5217 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionFactory.html @@ -0,0 +1,339 @@ + + + + +ExtensionFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ExtensionFactory

+
+
+
+
+
All Known Implementing Classes:
+
SqlObjectFactory
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface ExtensionFactory
+
Factory interface used to produce Jdbi extension objects. A factory can provide additional + pieces of information by overriding the various default methods.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionHandler.html new file mode 100644 index 00000000000..10379456375 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionHandler.html @@ -0,0 +1,350 @@ + + + + +ExtensionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ExtensionHandler

+
+
+
+
+
All Known Subinterfaces:
+
Handler
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +@Alpha +public interface ExtensionHandler
+
Provides functionality for a single method on an extension object. Each extension handler can either + call another piece of code to return the result (e.g. the method on the underlying object) or return the + result itself.
+
+
Since:
+
3.38.0
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      EQUALS_HANDLER

      +
      +
      static final ExtensionHandler EQUALS_HANDLER
      +
      Implementation for the Object.equals(Object) method. Each object using this handler is only equal to itself.
      +
      +
      +
    • +
    • +
      +

      HASHCODE_HANDLER

      +
      +
      static final ExtensionHandler HASHCODE_HANDLER
      +
      Implementation for the Object.hashCode() method.
      +
      +
      +
    • +
    • +
      +

      NULL_HANDLER

      +
      +
      static final ExtensionHandler NULL_HANDLER
      +
      Handler that only returns null independent of any input parameters.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      invoke

      +
      +
      Object invoke(HandleSupplier handleSupplier, + Object target, + Object... args) + throws Exception
      +
      Gets invoked to return a value for the method that this handler was bound to.
      +
      +
      Parameters:
      +
      handleSupplier - A HandleSupplier instance for accessing the handle and its related objects
      +
      target - The target object on which the handler should operate
      +
      args - Optional arguments for the handler
      +
      Returns:
      +
      The return value for the method that was bound to the extension handler. Can be null
      +
      Throws:
      +
      Exception - Any exception from the underlying code
      +
      +
      +
      +
    • +
    • +
      +

      warm

      +
      +
      @Beta +default void warm(ConfigRegistry config)
      +
      Called after the method handler is constructed to pre-initialize any important + configuration data structures.
      +
      +
      Parameters:
      +
      config - the method configuration to use for warming up
      +
      +
      +
      +
    • +
    • +
      +

      missingExtensionHandler

      +
      +
      static ExtensionHandler missingExtensionHandler(Method method)
      +
      Returns a default handler for missing functionality. The handler will throw an exception when invoked.
      +
      +
      Parameters:
      +
      method - The method to which this specific handler instance is bound
      +
      Returns:
      +
      An ExtensionHandler instance
      +
      +
      +
      +
    • +
    • +
      +

      createForMethod

      +
      +
      static ExtensionHandler createForMethod(Method method) + throws IllegalAccessException
      +
      Create an extension handler and bind it to a method that will be called on the + target object when invoked.
      +
      +
      Parameters:
      +
      method - The Method to bind to
      +
      Returns:
      +
      An ExtensionHandler
      +
      Throws:
      +
      IllegalAccessException - If the method could not be unreflected
      +
      +
      +
      +
    • +
    • +
      +

      createForSpecialMethod

      +
      +
      static ExtensionHandler createForSpecialMethod(Method method) + throws IllegalAccessException
      +
      Create an extension handler and bind it to a special method that will be called on the + target object when invoked. This is needed e.g. for interface default methods.
      +
      +
      Parameters:
      +
      method - The Method to bind to
      +
      Returns:
      +
      An ExtensionHandler
      +
      Throws:
      +
      IllegalAccessException - If the method could not be unreflected
      +
      +
      +
      +
    • +
    • +
      +

      createForMethodHandle

      +
      +
      static ExtensionHandler createForMethodHandle(MethodHandle methodHandle)
      +
      Create an extension handler and bind it to a MethodHandle instance.
      +
      +
      Parameters:
      +
      methodHandle - The MethodHandle to bind to
      +
      Returns:
      +
      An ExtensionHandler
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionHandlerCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionHandlerCustomizer.html new file mode 100644 index 00000000000..604bc5cca07 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionHandlerCustomizer.html @@ -0,0 +1,169 @@ + + + + +ExtensionHandlerCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ExtensionHandlerCustomizer

+
+
+
+
+
All Known Subinterfaces:
+
HandlerDecorator
+
+
+
@Alpha +public interface ExtensionHandlerCustomizer
+
Supports customization of an extension handler. Common use cases are decorators through annotations on the method + itself. The SqlObject extension implements its annotations through ExtensionHandlerCustomizer instances.
+
+
Since:
+
3.38.0
+
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    customize(ExtensionHandler handler, + Class<?> extensionType, + Method method)
    +
    +
    Customize an extension handler.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customize

      +
      +
      ExtensionHandler customize(ExtensionHandler handler, + Class<?> extensionType, + Method method)
      +
      Customize an extension handler.
      +
      +
      Parameters:
      +
      handler - The ExtensionHandler to customize
      +
      extensionType - The extension type class
      +
      method - A method
      +
      Returns:
      +
      An ExtensionHandler object. This can be the same as the handler parameter + or another instance that delegates to the original handler
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionHandlerFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionHandlerFactory.html new file mode 100644 index 00000000000..f880be4ab3e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionHandlerFactory.html @@ -0,0 +1,185 @@ + + + + +ExtensionHandlerFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ExtensionHandlerFactory

+
+
+
+
+
All Known Subinterfaces:
+
HandlerFactory
+
+
+
@Alpha +public interface ExtensionHandlerFactory
+
A factory to create ExtensionHandler instances.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      accepts

      +
      +
      boolean accepts(Class<?> extensionType, + Method method)
      +
      Determines whether the factory can create an ExtensionHandler for combination of extension type and method.
      +
      +
      Parameters:
      +
      extensionType - The extension type class
      +
      method - A method
      +
      Returns:
      +
      True if the factory can create an extension handler for extension type and method, false otherwise
      +
      +
      +
      +
    • +
    • +
      +

      createExtensionHandler

      +
      +
      Optional<ExtensionHandler> createExtensionHandler(Class<?> extensionType, + Method method)
      +
      Returns an ExtensionHandler instance for a extension type and method combination.
      +
      +
      Parameters:
      +
      extensionType - The extension type class
      +
      method - A method
      +
      Returns:
      +
      An ExtensionHandler instance wrapped into an Optional. The optional can be empty. This is necessary to retrofit old code + that does not have an accept/build code pair but unconditionally tries to build a handler and returns empty if it can not. New code should always + return Optional.of(extensionHandler} and never return Optional.empty()
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMetadata.Builder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMetadata.Builder.html new file mode 100644 index 00000000000..34be39787ff --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMetadata.Builder.html @@ -0,0 +1,306 @@ + + + + +ExtensionMetadata.Builder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ExtensionMetadata.Builder

+
+
java.lang.Object +
org.jdbi.v3.core.extension.ExtensionMetadata.Builder
+
+
+
+
+
Enclosing class:
+
ExtensionMetadata
+
+
+
public static final class ExtensionMetadata.Builder +extends Object
+
Builder class for the ExtensionMetadata object. + See ExtensionMetadata.builder(Class).
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMetadata.ExtensionHandlerInvoker.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMetadata.ExtensionHandlerInvoker.html new file mode 100644 index 00000000000..8ed3d572ee4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMetadata.ExtensionHandlerInvoker.html @@ -0,0 +1,218 @@ + + + + +ExtensionMetadata.ExtensionHandlerInvoker (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ExtensionMetadata.ExtensionHandlerInvoker

+
+
java.lang.Object +
org.jdbi.v3.core.extension.ExtensionMetadata.ExtensionHandlerInvoker
+
+
+
+
+
Enclosing class:
+
ExtensionMetadata
+
+
+
public final class ExtensionMetadata.ExtensionHandlerInvoker +extends Object
+
Wraps all config customizers and the handler for a specific method execution. + An invoker is created using ExtensionMetadata.createExtensionHandlerInvoker(Object, Method, HandleSupplier, ConfigRegistry).
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      invoke

      +
      +
      public Object invoke(Object... args)
      +
      Invoke the registered extension handler code in the extension context. The + extension context wraps the method that gets executed and a full customized configuration + (both instance and method specific configuration customizers have been applied). The + extension context is registered with the underlying handle to configure the handle when + executing the registered ExtensionHandler.
      +
      +
      Parameters:
      +
      args - The arguments to pass into the extension handler
      +
      Returns:
      +
      The result of the extension handler invocation
      +
      +
      +
      +
    • +
    • +
      +

      call

      +
      +
      public Object call(Callable<?> callable)
      +
      Invoke a callable in the extension context. The extension context wraps the method that + gets executed and a full customized configuration (both instance and method specific + configuration customizers have been applied). The extension context is registered with + the underlying handle to configure the handle when calling the Callable.call() method. +
      + This method is used by the generated classes from the jdbi3-generator annotation + processor to execute predefined ExtensionHandler instances.
      +
      +
      Parameters:
      +
      callable - The callable to use
      +
      Returns:
      +
      The result of the extension handler invocation
      +
      +
      +
      +
    • +
    • +
      +

      call

      +
      +
      public void call(Runnable runnable)
      +
      Invoke a runnable in the extension context. The extension context wraps the method that + gets executed and a full customized configuration (both instance and method specific + configuration customizers have been applied). The extension context is registered with + the underlying handle to configure the handle when calling the Runnable.run() method. +
      + This method is used by the generated classes from the jdbi3-generator annotation + processor to execute predefined ExtensionHandler instances.
      +
      +
      Parameters:
      +
      runnable - The runnable to use
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMetadata.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMetadata.html new file mode 100644 index 00000000000..7fae1723003 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMetadata.html @@ -0,0 +1,289 @@ + + + + +ExtensionMetadata (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ExtensionMetadata

+
+
java.lang.Object +
org.jdbi.v3.core.extension.ExtensionMetadata
+
+
+
+
+
@Alpha +public final class ExtensionMetadata +extends Object
+
Metadata that was detected when analyzing an extension class before attaching. + Represents a resolved extension type with all config customizers and method handlers.
+
+
Since:
+
3.38.0
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      builder

      +
      +
      public static ExtensionMetadata.Builder builder(Class<?> extensionType)
      +
      Returns a new ExtensionMetadata.Builder instance.
      +
      +
      Parameters:
      +
      extensionType - The extension type for which metadata is collected
      +
      Returns:
      +
      A new ExtensionMetadata.Builder instance
      +
      +
      +
      +
    • +
    • +
      +

      extensionType

      +
      +
      public Class<?> extensionType()
      +
      +
      +
    • +
    • +
      +

      createInstanceConfiguration

      +
      +
      public ConfigRegistry createInstanceConfiguration(ConfigRegistry config)
      +
      Create an instance specific configuration based on all instance customizers. The instance configuration holds all + custom configuration that was applied e.g. through instance annotations.
      +
      +
      Parameters:
      +
      config - A configuration object. The object is not changed
      +
      Returns:
      +
      A new configuration object with all changes applied
      +
      +
      +
      +
    • +
    • +
      +

      createMethodConfiguration

      +
      +
      public ConfigRegistry createMethodConfiguration(Method method, + ConfigRegistry config)
      +
      Create an method specific configuration based on all method customizers. The method configuration holds all + custom configuration that was applied e.g. through method annotations.
      +
      +
      Parameters:
      +
      method - The method that is about to be called
      +
      config - A configuration object. The object is not changed
      +
      Returns:
      +
      A new configuration object with all changes applied
      +
      +
      +
      +
    • +
    • +
      +

      getExtensionMethods

      +
      +
      public Set<Method> getExtensionMethods()
      +
      Returns a set of all Methods that have ExtensionHandler objects associated with them.
      +
      +
      +
    • +
    • +
      +

      createExtensionHandlerInvoker

      +
      +
      public <E> +ExtensionMetadata.ExtensionHandlerInvoker createExtensionHandlerInvoker(E target, + Method method, + HandleSupplier handleSupplier, + ConfigRegistry config)
      +
      Creates an ExtensionMetadata.ExtensionHandlerInvoker instance for a specific method.
      +
      +
      Type Parameters:
      +
      E - THe type of the target object
      +
      Parameters:
      +
      target - The target object on which the invoker should work
      +
      method - The method which will trigger the invocation
      +
      handleSupplier - A HandleSupplier that will provide the handle object for the extension method
      +
      config - The configuration object which should be used as base for the method specific configuration
      +
      Returns:
      +
      A ExtensionMetadata.ExtensionHandlerInvoker object that is linked to the method
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMethod.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMethod.html new file mode 100644 index 00000000000..70060c6b1a6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/ExtensionMethod.html @@ -0,0 +1,230 @@ + + + + +ExtensionMethod (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ExtensionMethod

+
+
java.lang.Object +
org.jdbi.v3.core.extension.ExtensionMethod
+
+
+
+
+
public final class ExtensionMethod +extends Object
+
Holder for a Class and a Method that together + define which extension method was invoked.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ExtensionMethod

      +
      +
      public ExtensionMethod(Class<?> type, + Method method)
      +
      Creates a new extension method.
      +
      +
      Parameters:
      +
      type - the type the method was invoked on
      +
      method - the method invoked
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getType

      +
      +
      public Class<?> getType()
      +
      Returns the type the method was invoked on.
      +
      +
      Returns:
      +
      the type the method was invoked on.
      +
      +
      +
      +
    • +
    • +
      +

      getMethod

      +
      +
      public Method getMethod()
      +
      Returns the method invoked.
      +
      +
      Returns:
      +
      the method invoked.
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/Extensions.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/Extensions.html new file mode 100644 index 00000000000..4a67188c70a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/Extensions.html @@ -0,0 +1,513 @@ + + + + +Extensions (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Extensions

+
+
java.lang.Object +
org.jdbi.v3.core.extension.Extensions
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<Extensions>
+
+
+
public class Extensions +extends Object +implements JdbiConfig<Extensions>
+
Configuration class for defining Jdbi extensions via ExtensionFactory + instances.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Extensions

      +
      +
      public Extensions()
      +
      Creates a new instance. +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setRegistry

      +
      +
      public void setRegistry(ConfigRegistry registry)
      +
      Description copied from interface: JdbiConfig
      +
      The 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:
      +
      setRegistry in interface JdbiConfig<Extensions>
      +
      Parameters:
      +
      registry - the registry that owns this configuration object
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public Extensions register(ExtensionFactory factory)
      +
      Register a ExtensionFactory instance with the extension framework.
      +
      +
      Parameters:
      +
      factory - the factory to register
      +
      Returns:
      +
      This instance
      +
      +
      +
      +
    • +
    • +
      +

      registerHandlerFactory

      +
      +
      @Alpha +public Extensions registerHandlerFactory(ExtensionHandlerFactory extensionHandlerFactory)
      +
      Registers a global ExtensionHandlerFactory instance. This factory is registered globally and will be used + with all registered ExtensionFactory instances.
      +
      +
      Parameters:
      +
      extensionHandlerFactory - The ExtensionHandlerFactory to register
      +
      Returns:
      +
      This instance
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    • +
      +

      registerHandlerCustomizer

      +
      +
      @Alpha +public Extensions registerHandlerCustomizer(ExtensionHandlerCustomizer extensionHandlerCustomizer)
      +
      Registers a global ExtensionHandlerCustomizer instance. This customizer is registered globally and will be used + with all registered ExtensionFactory instances.
      +
      +
      Parameters:
      +
      extensionHandlerCustomizer - The ExtensionHandlerCustomizer to register
      +
      Returns:
      +
      This instance
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    • +
      +

      registerConfigCustomizerFactory

      +
      +
      @Alpha +public Extensions registerConfigCustomizerFactory(ConfigCustomizerFactory configCustomizerFactory)
      +
      Registers a global ConfigCustomizerFactory instance. This factory is registered globally and will be used + with all registered ExtensionFactory instances.
      +
      +
      Parameters:
      +
      configCustomizerFactory - The ConfigCustomizerFactory to register
      +
      Returns:
      +
      This instance
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    • +
      +

      hasExtensionFor

      +
      +
      public boolean hasExtensionFor(Class<?> extensionType)
      +
      Returns true if an extension is registered for the given extension type.
      +
      +
      Parameters:
      +
      extensionType - the type to query. Must not be null
      +
      Returns:
      +
      true if a registered extension factory handles the type
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public <E> Optional<E> findFor(Class<E> extensionType, + HandleSupplier handleSupplier)
      +
      Create an extension instance if a factory accepts the extension type. +
      + This method requires access to a HandleSupplier, which is only useful either from + within an extension implementation of inside the Jdbi code. It should rarely be called by + user code.
      +
      +
      Type Parameters:
      +
      E - the extension type to create
      +
      Parameters:
      +
      extensionType - the extension type to create
      +
      handleSupplier - A handle supplier object
      +
      Returns:
      +
      an attached extension instance if a factory is found, Optional.empty() otherwise
      +
      +
      +
      +
    • +
    • +
      +

      findFactory

      +
      +
      public Optional<ExtensionFactory> findFactory(Class<? extends ExtensionFactory> factoryType)
      +
      Find the registered factory of the given type. The factory returned from this call + may not be the same instance that was registered with register(ExtensionFactory).
      +
      +
      Parameters:
      +
      factoryType - the factory's type to find
      +
      Returns:
      +
      the found factory, if any or Optional.empty() otherwise
      +
      +
      +
      +
    • +
    • +
      +

      findMetadata

      +
      +
      @Alpha +public ExtensionMetadata findMetadata(Class<?> extensionType, + ExtensionFactory extensionFactory)
      +
      Retrieves all extension metadata for a specific extension type.
      +
      +
      Parameters:
      +
      extensionType - The extension type
      +
      extensionFactory - The extension factory for this extension type
      +
      Returns:
      +
      A ExtensionMetadata object describing the extension handlers and customizers for this extension type
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    • +
      +

      setAllowProxy

      +
      +
      @Beta +public Extensions setAllowProxy(boolean allowProxy)
      +
      Allow using Proxy to implement extensions.
      +
      +
      Parameters:
      +
      allowProxy - whether to allow use of Proxy types
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      isAllowProxy

      +
      +
      @Beta +public boolean isAllowProxy()
      +
      Returns whether Proxy classes are allowed to be used.
      +
      +
      Returns:
      +
      whether Proxy classes are allowed to be used.
      +
      +
      +
      +
    • +
    • +
      +

      failFast

      +
      +
      @Alpha +public Extensions failFast()
      +
      Fail fast if any method in an Extension object is misconfigured and can not be warmed. Default is to + fail when a method is used for the first time.
      +
      +
      Returns:
      +
      this
      +
      Since:
      +
      3.39.0
      +
      +
      +
      +
    • +
    • +
      +

      isFailFast

      +
      +
      @Alpha +public boolean isFailFast()
      +
      Returns true if misconfigured extension objects fail fast.
      +
      +
      Returns:
      +
      True if misconfigured extension objects fail fast.
      +
      Since:
      +
      3.39.0
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public Extensions createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<Extensions>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    • +
      +

      onCreateProxy

      +
      +
      @Beta +public void onCreateProxy()
      +
      Throw if proxy creation is disallowed.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/HandleSupplier.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/HandleSupplier.html new file mode 100644 index 00000000000..9b67a595fa4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/HandleSupplier.html @@ -0,0 +1,235 @@ + + + + +HandleSupplier (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface HandleSupplier

+
+
+
+
+
All Superinterfaces:
+
AutoCloseable
+
+
+
public interface HandleSupplier +extends AutoCloseable
+
A handle supplier for extension implementors.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default void
    + +
     
    + + +
    +
    Returns the current Jdbi config.
    +
    + + +
    +
    Returns a handle, possibly creating it lazily.
    +
    + + +
    +
    Returns the owning Jdbi instance.
    +
    +
    <V> V
    +
    invokeInContext(ExtensionContext extensionContext, + Callable<V> task)
    +
    +
    Bind a new ExtensionContext to the Handle, invoke the given task, then restore the Handle's extension state.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getHandle

      +
      +
      Handle getHandle()
      +
      Returns a handle, possibly creating it lazily. A Handle holds a database connection, so extensions should only + call this method in order to interact with the database.
      +
      +
      Returns:
      +
      An open Handle.
      +
      +
      +
      +
    • +
    • +
      +

      getJdbi

      +
      +
      Jdbi getJdbi()
      +
      Returns the owning Jdbi instance.
      +
      +
      Returns:
      +
      The owning Jdbi instance.
      +
      +
      +
      +
    • +
    • +
      +

      getConfig

      +
      +
      ConfigRegistry getConfig()
      +
      Returns the current Jdbi config.
      +
      +
      Returns:
      +
      The current Jdbi configuration.
      +
      +
      +
      +
    • +
    • +
      +

      invokeInContext

      +
      +
      <V> V invokeInContext(ExtensionContext extensionContext, + Callable<V> task) + throws Exception
      +
      Bind a new ExtensionContext to the Handle, invoke the given task, then restore the Handle's extension state.
      +
      +
      Type Parameters:
      +
      V - the result type of the task
      +
      Parameters:
      +
      extensionContext - An ExtensionContext object that manages the extension state.
      +
      task - the code to execute in an extension context
      +
      Returns:
      +
      the callable's result
      +
      Throws:
      +
      Exception - if any exception is thrown
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      default void close()
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/NoSuchExtensionException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/NoSuchExtensionException.html new file mode 100644 index 00000000000..d25edd27e72 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/NoSuchExtensionException.html @@ -0,0 +1,243 @@ + + + + +NoSuchExtensionException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class NoSuchExtensionException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public final class NoSuchExtensionException +extends JdbiException
+
Thrown when no ExtensionFactory accepts a given extension type.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      NoSuchExtensionException

      +
      +
      public NoSuchExtensionException(Class<?> extensionClass)
      +
      Creates an instance with an extension type and the default message.
      +
      +
      Parameters:
      +
      extensionClass - The extension type. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      NoSuchExtensionException

      +
      +
      public NoSuchExtensionException(Class<?> extensionClass, + String message)
      +
      Creates an instance with an extension type and a custom message.
      +
      +
      Parameters:
      +
      extensionClass - The extension type. Can be null.
      +
      message - The message format for the exception. Must contain exactly one %s placeholder for the extension class name.
      +
      +
      +
      +
    • +
    • +
      +

      NoSuchExtensionException

      +
      +
      public NoSuchExtensionException(Class<?> extensionClass, + Throwable cause)
      +
      Creates an instance with an extension type and the default message.
      +
      +
      Parameters:
      +
      extensionClass - The extension type. Can be null.
      +
      cause - A throwable that caused this exception.
      +
      +
      +
      +
    • +
    • +
      +

      NoSuchExtensionException

      +
      +
      public NoSuchExtensionException(Class<?> extensionClass, + String message, + Throwable cause)
      +
      Creates an instance with an extension type and a custom message.
      +
      +
      Parameters:
      +
      extensionClass - The extension type. Can be null.
      +
      message - The message format for the exception. Must contain exactly one %s placeholder for the extension class name.
      +
      cause - A throwable that caused this exception.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/SimpleExtensionConfigurer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/SimpleExtensionConfigurer.html new file mode 100644 index 00000000000..ea186d926d1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/SimpleExtensionConfigurer.html @@ -0,0 +1,256 @@ + + + + +SimpleExtensionConfigurer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SimpleExtensionConfigurer

+
+
java.lang.Object +
org.jdbi.v3.core.extension.SimpleExtensionConfigurer
+
+
+
+
+
All Implemented Interfaces:
+
ExtensionConfigurer
+
+
+
@Alpha +public abstract class SimpleExtensionConfigurer +extends Object +implements ExtensionConfigurer
+
Configurer base class that applies the same configuration changes independent whether an annotation + is placed on the type or a method.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SimpleExtensionConfigurer

      +
      +
      public SimpleExtensionConfigurer()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      configureForType

      +
      +
      public final void configureForType(ConfigRegistry config, + Annotation annotation, + Class<?> extensionType)
      +
      Description copied from interface: ExtensionConfigurer
      +
      Updates configuration for the given annotation on an extension type.
      +
      +
      Specified by:
      +
      configureForType in interface ExtensionConfigurer
      +
      Parameters:
      +
      config - the config to configure
      +
      annotation - the annotation
      +
      extensionType - the extension type which was annotated
      +
      +
      +
      +
    • +
    • +
      +

      configureForMethod

      +
      +
      public final void configureForMethod(ConfigRegistry config, + Annotation annotation, + Class<?> extensionType, + Method method)
      +
      Description copied from interface: ExtensionConfigurer
      +
      Configures the config for the given annotation on a extension type method.
      +
      +
      Specified by:
      +
      configureForMethod in interface ExtensionConfigurer
      +
      Parameters:
      +
      config - the config to configure
      +
      annotation - the annotation
      +
      extensionType - the extension type
      +
      method - the method which was annotated
      +
      +
      +
      +
    • +
    • +
      +

      configure

      +
      +
      public abstract void configure(ConfigRegistry config, + Annotation annotation, + Class<?> extensionType)
      +
      Updates configuration for the given annotation on an extension type.
      +
      +
      Parameters:
      +
      config - The ConfigRegistry object to configure
      +
      annotation - The annotation that invoked this method
      +
      extensionType - the extension type which was annotated
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/UnableToCreateExtensionException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/UnableToCreateExtensionException.html new file mode 100644 index 00000000000..ef75d0969e8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/UnableToCreateExtensionException.html @@ -0,0 +1,219 @@ + + + + +UnableToCreateExtensionException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UnableToCreateExtensionException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
org.jdbi.v3.core.JdbiException +
org.jdbi.v3.core.extension.UnableToCreateExtensionException
+
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
@Beta +public final class UnableToCreateExtensionException +extends JdbiException
+
Marks that a specific extension could not be created.
+
+
Since:
+
3.38.0
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UnableToCreateExtensionException

      +
      +
      public UnableToCreateExtensionException(String format, + Object... args)
      +
      Constructs a new instance with a message.
      +
      +
      Parameters:
      +
      format - A String.format(java.lang.String, java.lang.Object...) format string
      +
      args - Arguments for the format string
      +
      +
      +
      +
    • +
    • +
      +

      UnableToCreateExtensionException

      +
      +
      public UnableToCreateExtensionException(Throwable throwable, + String format, + Object... args)
      +
      Constructs a new instance with an exception and a message.
      +
      +
      Parameters:
      +
      throwable - A throwable
      +
      format - A String.format(java.lang.String, java.lang.Object...) format string
      +
      args - Arguments for the format string
      +
      +
      +
      +
    • +
    • +
      +

      UnableToCreateExtensionException

      +
      +
      public UnableToCreateExtensionException(Throwable cause)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/ExtensionHandlerCustomizationOrder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/ExtensionHandlerCustomizationOrder.html new file mode 100644 index 00000000000..2370a72b8c1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/ExtensionHandlerCustomizationOrder.html @@ -0,0 +1,151 @@ + + + + +ExtensionHandlerCustomizationOrder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type ExtensionHandlerCustomizationOrder

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +@Alpha +public @interface ExtensionHandlerCustomizationOrder
+
Determines the order in which extension method decorators are invoked. If this annotation is absent, the decorator order + is undefined. A @ExtensionHandlerCustomizationOrder annotation on a method takes precedence over an annotation on a type.
+
+
Since:
+
3.38.0
+
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    +
    Class<? extends Annotation>[]
    + +
    +
    The order that decorator annotations will be applied, from outermost to innermost.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends Annotation>[] value
      +
      The order that decorator annotations will be applied, from outermost to innermost. Decorator order is undefined + for any decorating annotation present on a method but not on this annotation.
      +
      +
      Returns:
      +
      the annotations in the order defined
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/UseExtensionConfigurer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/UseExtensionConfigurer.html new file mode 100644 index 00000000000..24b7fe19b61 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/UseExtensionConfigurer.html @@ -0,0 +1,150 @@ + + + + +UseExtensionConfigurer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseExtensionConfigurer

+
+
+
+
+
@Retention(RUNTIME) +@Target(ANNOTATION_TYPE) +@Alpha +public @interface UseExtensionConfigurer
+
Meta-Annotation used to identify annotations that modify configuration in the context of an extension object or method. + Use this to annotate an annotation.
+
+
Since:
+
3.38.0
+
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/UseExtensionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/UseExtensionHandler.html new file mode 100644 index 00000000000..39c29a02a43 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/UseExtensionHandler.html @@ -0,0 +1,173 @@ + + + + +UseExtensionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseExtensionHandler

+
+
+
+
+
@Retention(RUNTIME) +@Target(ANNOTATION_TYPE) +@Alpha +public @interface UseExtensionHandler
+
Meta-Annotation used to map a method to an extension handler. Use this to annotate an annotation.
+
+
Since:
+
3.38.0
+
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    An extension must declare an id and tag all annotations with it.
    +
    + + +
    +
    ExtensionHandler factory annotation that creates the extension handler for the decorated method.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends ExtensionHandler> value
      +
      ExtensionHandler factory annotation that creates the extension handler for the decorated method. +
      + The extension handler must have either a public no-arguments, a (Method method), or + a (Class<?> extensionType, Method method) constructor. If the constructor takes one or more + arguments, it will get the extension type and the invoked method passed in at construction time.
      +
      +
      Returns:
      +
      the ExtensionHandler class
      +
      +
      +
      +
    • +
    • +
      +

      id

      +
      +
      String id
      +
      An extension must declare an id and tag all annotations with it. This allows the ExtensionFactory to decide + whether it will process a class or not by looking at the annotations on the class and method and determine whether these + have the right id for the extension.
      +
      +
      Returns:
      +
      A string with the extension identifier
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/UseExtensionHandlerCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/UseExtensionHandlerCustomizer.html new file mode 100644 index 00000000000..e5953b781b5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/UseExtensionHandlerCustomizer.html @@ -0,0 +1,153 @@ + + + + +UseExtensionHandlerCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseExtensionHandlerCustomizer

+
+
+
+
+
@Retention(RUNTIME) +@Target(ANNOTATION_TYPE) +@Alpha +public @interface UseExtensionHandlerCustomizer
+
Meta-Annotation used to identify extension method decorating annotations. Use this to annotate an annotation.
+
+
Since:
+
3.38.0
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      + +
      ExtensionHandlerCustomizer class that decorates ExtensionHandler instances for methods annotated with the associated annotation. +
      + The extension customizer must have either a public no-arguments, a (Method method), or + a (Class<?> extensionType, Method method) constructor. If the constructor takes one or more + arguments, it will get the extension type and the invoked method passed in at construction time.
      +
      +
      Returns:
      +
      the ExtensionHandlerCustomizer class
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/ExtensionHandlerCustomizationOrder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/ExtensionHandlerCustomizationOrder.html new file mode 100644 index 00000000000..442caa25fd8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/ExtensionHandlerCustomizationOrder.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.extension.annotation.ExtensionHandlerCustomizationOrder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.extension.annotation.ExtensionHandlerCustomizationOrder

+
+No usage of org.jdbi.v3.core.extension.annotation.ExtensionHandlerCustomizationOrder
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/UseExtensionConfigurer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/UseExtensionConfigurer.html new file mode 100644 index 00000000000..b706d94fdbc --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/UseExtensionConfigurer.html @@ -0,0 +1,301 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.extension.annotation.UseExtensionConfigurer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.extension.annotation.UseExtensionConfigurer

+
+
Packages that use UseExtensionConfigurer
+
+
Package
+
Description
+ +
 
+ +
+
+ freemarker provides advanced string template processing.
+
+ +
+
+ The sqlobject.config package defines configuration annotations + that modify the Jdbi configuration used as the context for executing + SqlObject methods, such as registering handled types.
+
+ +
+
+ sqlobject.locator inspects the declared SqlObject and determines + the statement text to pass off to core.locator for final + resolution of the statement text.
+
+ +
+
+ stringtemplate4 provides advanced string template processing + that Jdbi can drive with the statement's bound parameters + and context to drive statement generation that may need to bind + variable number of parameters or other advanced use cases.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/UseExtensionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/UseExtensionHandler.html new file mode 100644 index 00000000000..ce13d38e361 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/UseExtensionHandler.html @@ -0,0 +1,135 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.extension.annotation.UseExtensionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.extension.annotation.UseExtensionHandler

+
+
Packages that use UseExtensionHandler
+
+
Package
+
Description
+ +
+
SQL Objects
+
+ +
+
+ The sqlobject.statement annotations declare the type of statement + that a SqlObject method should create, such as a @SqlQuery to return rows or a + @SqlUpdate to modify rows and return the modification count.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/UseExtensionHandlerCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/UseExtensionHandlerCustomizer.html new file mode 100644 index 00000000000..87a1c0ce641 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/class-use/UseExtensionHandlerCustomizer.html @@ -0,0 +1,88 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.extension.annotation.UseExtensionHandlerCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.extension.annotation.UseExtensionHandlerCustomizer

+
+ +
+
Package
+
Description
+ +
+
+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/package-summary.html new file mode 100644 index 00000000000..ecea1bb8300 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/package-summary.html @@ -0,0 +1,123 @@ + + + + +org.jdbi.v3.core.extension.annotation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.extension.annotation

+
+
+
+
package org.jdbi.v3.core.extension.annotation
+
+
+
    +
  • + +
  • +
  • +
    +
    Annotation Types
    +
    +
    Class
    +
    Description
    + +
    +
    Determines the order in which extension method decorators are invoked.
    +
    + +
    +
    Meta-Annotation used to identify annotations that modify configuration in the context of an extension object or method.
    +
    + +
    +
    Meta-Annotation used to map a method to an extension handler.
    +
    + +
    +
    Meta-Annotation used to identify extension method decorating annotations.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/package-tree.html new file mode 100644 index 00000000000..59e0ca56506 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/package-tree.html @@ -0,0 +1,70 @@ + + + + +org.jdbi.v3.core.extension.annotation Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.extension.annotation

+
+Package Hierarchies: + +
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/package-use.html new file mode 100644 index 00000000000..919809bd839 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/annotation/package-use.html @@ -0,0 +1,216 @@ + + + + +Uses of Package org.jdbi.v3.core.extension.annotation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.extension.annotation

+
+ +
+
Package
+
Description
+ +
 
+ +
+
+ freemarker provides advanced string template processing.
+
+ +
+
SQL Objects
+
+ +
+
+ The sqlobject.config package defines configuration annotations + that modify the Jdbi configuration used as the context for executing + SqlObject methods, such as registering handled types.
+
+ +
+
+ sqlobject.locator inspects the declared SqlObject and determines + the statement text to pass off to core.locator for final + resolution of the statement text.
+
+ +
+
+ The sqlobject.statement annotations declare the type of statement + that a SqlObject method should create, such as a @SqlQuery to return rows or a + @SqlUpdate to modify rows and return the modification count.
+
+ +
+
+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method.
+
+ +
+
+ stringtemplate4 provides advanced string template processing + that Jdbi can drive with the statement's bound parameters + and context to drive statement generation that may need to bind + variable number of parameters or other advanced use cases.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ConfigCustomizerFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ConfigCustomizerFactory.html new file mode 100644 index 00000000000..7467ee94a26 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ConfigCustomizerFactory.html @@ -0,0 +1,105 @@ + + + + +Uses of Interface org.jdbi.v3.core.extension.ConfigCustomizerFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.extension.ConfigCustomizerFactory

+
+
Packages that use ConfigCustomizerFactory
+
+
Package
+
Description
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionCallback.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionCallback.html new file mode 100644 index 00000000000..29e9f0e3527 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionCallback.html @@ -0,0 +1,118 @@ + + + + +Uses of Interface org.jdbi.v3.core.extension.ExtensionCallback (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.extension.ExtensionCallback

+
+
Packages that use ExtensionCallback
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionConfigurer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionConfigurer.html new file mode 100644 index 00000000000..2661712679b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionConfigurer.html @@ -0,0 +1,115 @@ + + + + +Uses of Interface org.jdbi.v3.core.extension.ExtensionConfigurer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.extension.ExtensionConfigurer

+
+
Packages that use ExtensionConfigurer
+
+
Package
+
Description
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
+ The sqlobject.config package defines configuration annotations + that modify the Jdbi configuration used as the context for executing + SqlObject methods, such as registering handled types.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionConsumer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionConsumer.html new file mode 100644 index 00000000000..79f32fbe863 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionConsumer.html @@ -0,0 +1,114 @@ + + + + +Uses of Interface org.jdbi.v3.core.extension.ExtensionConsumer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.extension.ExtensionConsumer

+
+
Packages that use ExtensionConsumer
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionContext.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionContext.html new file mode 100644 index 00000000000..9dedfcfa305 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionContext.html @@ -0,0 +1,106 @@ + + + + +Uses of Class org.jdbi.v3.core.extension.ExtensionContext (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.extension.ExtensionContext

+
+
Packages that use ExtensionContext
+
+
Package
+
Description
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionFactory.FactoryFlag.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionFactory.FactoryFlag.html new file mode 100644 index 00000000000..7abd5b829dd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionFactory.FactoryFlag.html @@ -0,0 +1,106 @@ + + + + +Uses of Enum org.jdbi.v3.core.extension.ExtensionFactory.FactoryFlag (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum
org.jdbi.v3.core.extension.ExtensionFactory.FactoryFlag

+
+ +
+
Package
+
Description
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionFactory.html new file mode 100644 index 00000000000..0a824e2b166 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionFactory.html @@ -0,0 +1,159 @@ + + + + +Uses of Interface org.jdbi.v3.core.extension.ExtensionFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.extension.ExtensionFactory

+
+
Packages that use ExtensionFactory
+
+
Package
+
Description
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionHandler.html new file mode 100644 index 00000000000..e7c1f72f49a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionHandler.html @@ -0,0 +1,225 @@ + + + + +Uses of Interface org.jdbi.v3.core.extension.ExtensionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.extension.ExtensionHandler

+
+
Packages that use ExtensionHandler
+
+
Package
+
Description
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionHandlerCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionHandlerCustomizer.html new file mode 100644 index 00000000000..2ad7d8de2ed --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionHandlerCustomizer.html @@ -0,0 +1,127 @@ + + + + +Uses of Interface org.jdbi.v3.core.extension.ExtensionHandlerCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.extension.ExtensionHandlerCustomizer

+
+
Packages that use ExtensionHandlerCustomizer
+
+
Package
+
Description
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionHandlerFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionHandlerFactory.html new file mode 100644 index 00000000000..3401299d1bc --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionHandlerFactory.html @@ -0,0 +1,127 @@ + + + + +Uses of Interface org.jdbi.v3.core.extension.ExtensionHandlerFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.extension.ExtensionHandlerFactory

+
+
Packages that use ExtensionHandlerFactory
+
+
Package
+
Description
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMetadata.Builder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMetadata.Builder.html new file mode 100644 index 00000000000..4befba24f4f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMetadata.Builder.html @@ -0,0 +1,133 @@ + + + + +Uses of Class org.jdbi.v3.core.extension.ExtensionMetadata.Builder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.extension.ExtensionMetadata.Builder

+
+
Packages that use ExtensionMetadata.Builder
+
+
Package
+
Description
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMetadata.ExtensionHandlerInvoker.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMetadata.ExtensionHandlerInvoker.html new file mode 100644 index 00000000000..1e72debf1e4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMetadata.ExtensionHandlerInvoker.html @@ -0,0 +1,92 @@ + + + + +Uses of Class org.jdbi.v3.core.extension.ExtensionMetadata.ExtensionHandlerInvoker (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.extension.ExtensionMetadata.ExtensionHandlerInvoker

+
+ +
+
Package
+
Description
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMetadata.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMetadata.html new file mode 100644 index 00000000000..1fd8cb58a20 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMetadata.html @@ -0,0 +1,95 @@ + + + + +Uses of Class org.jdbi.v3.core.extension.ExtensionMetadata (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.extension.ExtensionMetadata

+
+
Packages that use ExtensionMetadata
+
+
Package
+
Description
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMethod.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMethod.html new file mode 100644 index 00000000000..c4f90bc6465 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/ExtensionMethod.html @@ -0,0 +1,138 @@ + + + + +Uses of Class org.jdbi.v3.core.extension.ExtensionMethod (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.extension.ExtensionMethod

+
+
Packages that use ExtensionMethod
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/Extensions.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/Extensions.html new file mode 100644 index 00000000000..88c62c6d8f5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/Extensions.html @@ -0,0 +1,117 @@ + + + + +Uses of Class org.jdbi.v3.core.extension.Extensions (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.extension.Extensions

+
+
Packages that use Extensions
+
+
Package
+
Description
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/HandleSupplier.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/HandleSupplier.html new file mode 100644 index 00000000000..3cbcdd1aa00 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/HandleSupplier.html @@ -0,0 +1,173 @@ + + + + +Uses of Interface org.jdbi.v3.core.extension.HandleSupplier (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.extension.HandleSupplier

+
+
Packages that use HandleSupplier
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/NoSuchExtensionException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/NoSuchExtensionException.html new file mode 100644 index 00000000000..237a6c7615d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/NoSuchExtensionException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.extension.NoSuchExtensionException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.extension.NoSuchExtensionException

+
+No usage of org.jdbi.v3.core.extension.NoSuchExtensionException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/SimpleExtensionConfigurer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/SimpleExtensionConfigurer.html new file mode 100644 index 00000000000..268adecf25d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/SimpleExtensionConfigurer.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.extension.SimpleExtensionConfigurer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.extension.SimpleExtensionConfigurer

+
+No usage of org.jdbi.v3.core.extension.SimpleExtensionConfigurer
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/UnableToCreateExtensionException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/UnableToCreateExtensionException.html new file mode 100644 index 00000000000..8ec9c903afd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/class-use/UnableToCreateExtensionException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.extension.UnableToCreateExtensionException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.extension.UnableToCreateExtensionException

+
+No usage of org.jdbi.v3.core.extension.UnableToCreateExtensionException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/package-summary.html new file mode 100644 index 00000000000..a0ca3bf5909 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/package-summary.html @@ -0,0 +1,196 @@ + + + + +org.jdbi.v3.core.extension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.extension

+
+
+
+
package org.jdbi.v3.core.extension
+
+

+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances. An attached extension creates an instance of the interface that + wraps method invocations in an extension context. The context has a + configuration and remembers the currently executing extension method. + An ExtensionFactory instance provides the actual extension instances and + implements the behavior of the extension. + Some built in features such as SQL Objects are themselves implemented as extensions. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/package-tree.html new file mode 100644 index 00000000000..1a19b71cf92 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/package-tree.html @@ -0,0 +1,127 @@ + + + + +org.jdbi.v3.core.extension Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.extension

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/package-use.html new file mode 100644 index 00000000000..fea35d5850c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/extension/package-use.html @@ -0,0 +1,282 @@ + + + + +Uses of Package org.jdbi.v3.core.extension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.extension

+
+
Packages that use org.jdbi.v3.core.extension
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
SQL Objects
+
+ +
+
+ The sqlobject.config package defines configuration annotations + that modify the Jdbi configuration used as the context for executing + SqlObject methods, such as registering handled types.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/GenericType.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/GenericType.html new file mode 100644 index 00000000000..25526f63fe3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/GenericType.html @@ -0,0 +1,149 @@ + + + + +GenericType (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class GenericType<T>

+
+
java.lang.Object +
org.jdbi.v3.core.generic.GenericType<T>
+
+
+
+
+
public abstract class GenericType<T> +extends Object
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getType

      +
      +
      public final Type getType()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/GenericTypes.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/GenericTypes.html new file mode 100644 index 00000000000..11c632d19d6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/GenericTypes.html @@ -0,0 +1,425 @@ + + + + +GenericTypes (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class GenericTypes

+
+
java.lang.Object +
org.jdbi.v3.core.generic.GenericTypes
+
+
+
+
+
public class GenericTypes +extends Object
+
Utilities for working with generic types.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getErasedType

      +
      +
      public static Class<?> getErasedType(Type type)
      +
      Returns the erased class for the given type. + +

      + Example: if type is List<String>, returns + List.class +

      + parameter
      +
      +
      Parameters:
      +
      type - the type
      +
      Returns:
      +
      the erased class
      +
      +
      +
      +
    • +
    • +
      +

      findGenericParameter

      +
      +
      public static Optional<Type> findGenericParameter(Type type, + Class<?> parameterizedSupertype)
      + +
      +
      Parameters:
      +
      type - the type
      +
      parameterizedSupertype - the parameterized supertype
      +
      Returns:
      +
      the first parameter type
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      findGenericParameter

      +
      +
      public static Optional<Type> findGenericParameter(Type type, + Class<?> parameterizedSupertype, + int n)
      +
      For the given type which extends parameterizedSupertype, returns the + nth generic parameter for the parameterized supertype, if concretely + expressed. + +

      + Example: +

      +
        +
      • if type is ArrayList<String>, + parameterizedSupertype is List.class, + and n is 0, + returns Optional.of(String.class).
      • + +
      • if type is Map<String, Integer>, + parameterizedSupertype is Map.class, + and n is 1, + returns Optional.of(Integer.class).
      • + +
      • if type is ArrayList.class (raw), + parameterizedSupertype is List.class, + and n is 0, + returns Optional.empty().
      • +
      +
      +
      Parameters:
      +
      type - the subtype of parameterizedSupertype
      +
      parameterizedSupertype - the parameterized supertype from which we want the generic parameter
      +
      n - the index in Foo<X, Y, Z, ...>
      +
      Returns:
      +
      the parameter on the supertype, if it is concretely defined.
      +
      Throws:
      +
      ArrayIndexOutOfBoundsException - if n > the number of type variables the type has
      +
      +
      +
      +
    • +
    • +
      +

      resolveType

      +
      +
      public static Type resolveType(Type type, + Type contextType)
      +
      Resolves the type parameter in the context of contextType. For example, if + type is List.class.getMethod("get", int.class).getGenericReturnType(), and + contextType is List<String>, this method returns String.class
      +
      +
      Parameters:
      +
      type - the type to be resolved in the scope of contextType
      +
      contextType - the context type in which type is interpreted to resolve the type.
      +
      Returns:
      +
      the resolved type.
      +
      +
      +
      +
    • +
    • +
      +

      isArray

      +
      +
      public static boolean isArray(Type type)
      +
      Checks whether a given Type is an Array Type.
      +
      +
      Parameters:
      +
      type - a type
      +
      Returns:
      +
      whether the given Type is an Array type.
      +
      +
      +
      +
    • +
    • +
      +

      arrayType

      +
      +
      public static Type arrayType(Type type)
      +
      Returns the element type for an Array Type.
      +
      +
      Parameters:
      +
      type - the array's element type
      +
      Returns:
      +
      the array Type
      +
      +
      +
      +
    • +
    • +
      +

      resolveMapEntryType

      +
      +
      public static Type resolveMapEntryType(Type mapType)
      +
      Given a subtype of Map<K,V>, returns the corresponding map entry type Map.Entry<K,V>.
      +
      +
      Parameters:
      +
      mapType - the map subtype
      +
      Returns:
      +
      the map entry type
      +
      +
      +
      +
    • +
    • +
      +

      resolveMapEntryType

      +
      +
      public static Type resolveMapEntryType(Type keyType, + Type valueType)
      +
      Given a key and value type, returns the map entry type Map.Entry<keyType,valueType>.
      +
      +
      Parameters:
      +
      keyType - the key type
      +
      valueType - the value type
      +
      Returns:
      +
      the map entry type
      +
      +
      +
      +
    • +
    • +
      +

      parameterizeClass

      +
      +
      public static Type parameterizeClass(Class<?> clazz, + Type... arguments)
      +
      Creates a type of class clazz with arguments as type arguments. +

      + For example: parameterizedClass(Map.class, Integer.class, String.class) + returns the type Map<Integer, String>.

      +
      +
      Parameters:
      +
      clazz - Type class of the type to create
      +
      arguments - Type arguments for the variables of clazz, or null if these are not + known.
      +
      Returns:
      +
      A ParameterizedType, or simply clazz if arguments is + null or empty.
      +
      +
      +
      +
    • +
    • +
      +

      box

      +
      +
      public static Type box(Type type)
      +
      Perform boxing conversion on a Type, if it is a primitive type. Otherwise return the input argument.
      +
      +
      Parameters:
      +
      type - the type to box
      +
      Returns:
      +
      the boxed type, or the input type if it is not a primitive
      +
      +
      +
      +
    • +
    • +
      +

      isSuperType

      +
      +
      public static boolean isSuperType(Type superType, + Type subType)
      +
      Tests whether a given type is a supertype of another type
      +
      +
      Parameters:
      +
      superType - The supertype to check.
      +
      subType - The subtype to check.
      +
      Returns:
      +
      True if supertype is a supertype of subtype.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/class-use/GenericType.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/class-use/GenericType.html new file mode 100644 index 00000000000..56aff884134 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/class-use/GenericType.html @@ -0,0 +1,358 @@ + + + + +Uses of Class org.jdbi.v3.core.generic.GenericType (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.generic.GenericType

+
+
Packages that use GenericType
+
+
Package
+
Description
+ +
 
+ +
+
+ The collector package reduces the mapped rows of the result set + into a Stream Collector to produce the final aggregated result.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
 
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
Google Guice integration.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/class-use/GenericTypes.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/class-use/GenericTypes.html new file mode 100644 index 00000000000..52a353e1f13 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/class-use/GenericTypes.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.generic.GenericTypes (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.generic.GenericTypes

+
+No usage of org.jdbi.v3.core.generic.GenericTypes
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/package-summary.html new file mode 100644 index 00000000000..d352a371c05 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/package-summary.html @@ -0,0 +1,117 @@ + + + + +org.jdbi.v3.core.generic (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.generic

+
+
+
+
package org.jdbi.v3.core.generic
+
+

+ The generic package holds utility methods and helper + types for reflectively working with Java generic types. +

+
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
     
    + +
    +
    Utilities for working with generic types.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/package-tree.html new file mode 100644 index 00000000000..7d5855ebb60 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/package-tree.html @@ -0,0 +1,72 @@ + + + + +org.jdbi.v3.core.generic Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.generic

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/package-use.html new file mode 100644 index 00000000000..070eba7efff --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/generic/package-use.html @@ -0,0 +1,192 @@ + + + + +Uses of Package org.jdbi.v3.core.generic (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.generic

+
+
Packages that use org.jdbi.v3.core.generic
+
+
Package
+
Description
+ +
 
+ +
+
+ The collector package reduces the mapped rows of the result set + into a Stream Collector to produce the final aggregated result.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
 
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
Google Guice integration.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/H2DatabasePlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/H2DatabasePlugin.html new file mode 100644 index 00000000000..f45a17fba3e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/H2DatabasePlugin.html @@ -0,0 +1,209 @@ + + + + +H2DatabasePlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class H2DatabasePlugin

+
+
java.lang.Object +
org.jdbi.v3.core.spi.JdbiPlugin.Singleton +
org.jdbi.v3.core.h2.H2DatabasePlugin
+
+
+
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public class H2DatabasePlugin +extends JdbiPlugin.Singleton
+
Configure vendor supported types for the H2 Java database implementation
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      H2DatabasePlugin

      +
      +
      public H2DatabasePlugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi db)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Parameters:
      +
      db - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/class-use/H2DatabasePlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/class-use/H2DatabasePlugin.html new file mode 100644 index 00000000000..c6879180ddd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/class-use/H2DatabasePlugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.h2.H2DatabasePlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.h2.H2DatabasePlugin

+
+No usage of org.jdbi.v3.core.h2.H2DatabasePlugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/package-summary.html new file mode 100644 index 00000000000..9161a670c4e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/package-summary.html @@ -0,0 +1,114 @@ + + + + +org.jdbi.v3.core.h2 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.h2

+
+
+
+
package org.jdbi.v3.core.h2
+
+

+ The h2 package adds vendor support for the H2 embeddable pure Java database implementation. +

+
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Configure vendor supported types for the H2 Java database implementation
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/package-tree.html new file mode 100644 index 00000000000..4448fcf9b06 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/package-tree.html @@ -0,0 +1,75 @@ + + + + +org.jdbi.v3.core.h2 Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.h2

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/package-use.html new file mode 100644 index 00000000000..e3c7fba1f14 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/h2/package-use.html @@ -0,0 +1,57 @@ + + + + +Uses of Package org.jdbi.v3.core.h2 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.h2

+
+No usage of org.jdbi.v3.core.h2
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/JdbiInterceptionChain.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/JdbiInterceptionChain.html new file mode 100644 index 00000000000..38a7d2ed469 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/JdbiInterceptionChain.html @@ -0,0 +1,155 @@ + + + + +JdbiInterceptionChain (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JdbiInterceptionChain<T>

+
+
+
+
+
Type Parameters:
+
T - Type of the transformation result.
+
+
+
@Alpha +public interface JdbiInterceptionChain<T>
+
An instance of an interception chain.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Called from an JdbiInterceptor to execute the next interceptor on the chain.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      next

      +
      +
      T next()
      +
      Called from an JdbiInterceptor to execute the next interceptor on the chain.
      +
      +
      Returns:
      +
      The final transformation result.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/JdbiInterceptionChainHolder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/JdbiInterceptionChainHolder.html new file mode 100644 index 00000000000..309aae3c629 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/JdbiInterceptionChainHolder.html @@ -0,0 +1,264 @@ + + + + +JdbiInterceptionChainHolder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiInterceptionChainHolder<S,T>

+
+
java.lang.Object +
org.jdbi.v3.core.interceptor.JdbiInterceptionChainHolder<S,T>
+
+
+
+
+
Type Parameters:
+
S - Type of the transformation source.
+
T - Type of the transformation target.
+
+
+
@Alpha +public final class JdbiInterceptionChainHolder<S,T> +extends Object
+
An interception chain holder to manage transformation operations.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JdbiInterceptionChainHolder

      +
      +
      public JdbiInterceptionChainHolder(Function<S,T> defaultTransformer)
      +
      Creates a new chain holder with a default interceptor.
      +
      +
      Parameters:
      +
      defaultTransformer - A default interceptor that is used when no other registered interceptor processes a source object. Must not be null.
      +
      +
      +
      +
    • +
    • +
      +

      JdbiInterceptionChainHolder

      +
      +
      public JdbiInterceptionChainHolder()
      +
      Creates a new chain holder. Throws UnsupportedOperationException if no registered interceptor processes a source object.
      +
      +
      +
    • +
    • +
      +

      JdbiInterceptionChainHolder

      +
      +
      public JdbiInterceptionChainHolder(JdbiInterceptionChainHolder<S,T> that)
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      process

      +
      +
      @Nonnull +public T process(@Nullable + S source)
      +
      Processes a source object and returns a target object.
      +
      +
      Parameters:
      +
      source - A source object.
      +
      Returns:
      +
      A target object processed by one of the registered JdbiInterceptor instances.
      +
      +
      +
      +
    • +
    • +
      +

      addFirst

      +
      +
      public void addFirst(JdbiInterceptor<S,T> interceptor)
      +
      Registers a new interceptor at the beginning of the chain. Any subsequent call to process(Object) will use this interceptor before all other + already registered interceptors.
      +
      +
      Parameters:
      +
      interceptor - An object implementing JdbiInterceptor.
      +
      +
      +
      +
    • +
    • +
      +

      addLast

      +
      +
      public void addLast(JdbiInterceptor<S,T> interceptor)
      +
      Registers a new interceptor at the end of the chain. Any subsequent call to process(Object) will use this interceptor after all other already + registered interceptors.
      +
      +
      Parameters:
      +
      interceptor - An object implementing JdbiInterceptor.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/JdbiInterceptor.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/JdbiInterceptor.html new file mode 100644 index 00000000000..d1ae771a6d7 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/JdbiInterceptor.html @@ -0,0 +1,185 @@ + + + + +JdbiInterceptor (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JdbiInterceptor<S,T>

+
+
+
+
+
Type Parameters:
+
S - Transformation source type.
+
T - Type of the transformation result.
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@Alpha +@FunctionalInterface +public interface JdbiInterceptor<S,T>
+
Generic interface to allow transformation operation interception. Used to manage the various inferred data types that may need special treatment.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    intercept(S source, + JdbiInterceptionChain<T> chain)
    +
    +
    Process a given source object.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      intercept

      +
      +
      @Nullable +@CheckReturnValue +T intercept(@Nullable + S source, + JdbiInterceptionChain<T> chain)
      +
      Process a given source object. +
        +
      • If the interceptor wants to process the object, return the result directly.
      • +
      • If the interceptor passes on processing, it must return JdbiInterceptionChain.next()
      • +
      + +
      
      +  class SomeInterceptor implements JdbiInterceptor<Foo, Bar> {
      +      @Override
      +      public Bar intercept(Foo source, JdbiInterceptionChain<Foo, Bar> chain) {
      +          if (source != null && source.isBarCompatible()) {
      +              return new Bar(source);
      +          } else {
      +              return chain.next();
      +          }
      +      }
      +  }
      + 
      +
      +
      Parameters:
      +
      source - A source object.
      +
      Returns:
      +
      The destination type.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/class-use/JdbiInterceptionChain.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/class-use/JdbiInterceptionChain.html new file mode 100644 index 00000000000..b6a35af5faf --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/class-use/JdbiInterceptionChain.html @@ -0,0 +1,85 @@ + + + + +Uses of Interface org.jdbi.v3.core.interceptor.JdbiInterceptionChain (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.interceptor.JdbiInterceptionChain

+
+
Packages that use JdbiInterceptionChain
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/class-use/JdbiInterceptionChainHolder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/class-use/JdbiInterceptionChainHolder.html new file mode 100644 index 00000000000..41c81dc09e9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/class-use/JdbiInterceptionChainHolder.html @@ -0,0 +1,130 @@ + + + + +Uses of Class org.jdbi.v3.core.interceptor.JdbiInterceptionChainHolder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.interceptor.JdbiInterceptionChainHolder

+
+
Packages that use JdbiInterceptionChainHolder
+
+
Package
+
Description
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
 
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/class-use/JdbiInterceptor.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/class-use/JdbiInterceptor.html new file mode 100644 index 00000000000..f56f9d0e149 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/class-use/JdbiInterceptor.html @@ -0,0 +1,89 @@ + + + + +Uses of Interface org.jdbi.v3.core.interceptor.JdbiInterceptor (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.interceptor.JdbiInterceptor

+
+
Packages that use JdbiInterceptor
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/package-summary.html new file mode 100644 index 00000000000..912778f2dc4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/package-summary.html @@ -0,0 +1,119 @@ + + + + +org.jdbi.v3.core.interceptor (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.interceptor

+
+
+
+
package org.jdbi.v3.core.interceptor
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    An instance of an interception chain.
    +
    + +
    +
    An interception chain holder to manage transformation operations.
    +
    + +
    +
    Generic interface to allow transformation operation interception.
    +
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/package-tree.html new file mode 100644 index 00000000000..c34b73cf290 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/package-tree.html @@ -0,0 +1,78 @@ + + + + +org.jdbi.v3.core.interceptor Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.interceptor

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/package-use.html new file mode 100644 index 00000000000..c38ffbab018 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/interceptor/package-use.html @@ -0,0 +1,126 @@ + + + + +Uses of Package org.jdbi.v3.core.interceptor (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.interceptor

+
+ +
+
Package
+
Description
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
 
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/ClasspathSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/ClasspathSqlLocator.html new file mode 100644 index 00000000000..b3ccfaff59c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/ClasspathSqlLocator.html @@ -0,0 +1,412 @@ + + + + +ClasspathSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ClasspathSqlLocator

+
+
java.lang.Object +
org.jdbi.v3.core.locator.ClasspathSqlLocator
+
+
+
+
+
public final class ClasspathSqlLocator +extends Object
+
Locates SQL in .sql files on the classpath. Given a class and + method name, for example com.foo.Bar#query, load a + classpath resource name like com/foo/Bar/query.sql. + The contents are then parsed, cached, and returned for use by a statement.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      findSqlOnClasspath

      +
      +
      @Deprecated +public static String findSqlOnClasspath(Class<?> type, + String methodName)
      +
      Deprecated. +
      create() an instance instead of using static methods
      +
      +
      Locates SQL for the given type and name. Example: Given a type com.foo.Bar and a name of + baz, looks for a resource named com/foo/Bar/baz.sql on the classpath and returns its + contents as a String.
      +
      +
      Parameters:
      +
      type - the type that "owns" the given SQL. Dictates the directory path to the SQL resource file on the + classpath.
      +
      methodName - the SQL statement name (usually a method or field name from the type).
      +
      Returns:
      +
      the located SQL.
      +
      +
      +
      +
    • +
    • +
      +

      findSqlOnClasspath

      +
      +
      @Deprecated +public static String findSqlOnClasspath(String name)
      +
      Deprecated. +
      create() an instance instead of using static methods
      +
      +
      Locates SQL for the given fully-qualified name. Example: Given the name com.foo.Bar.baz, looks for + a resource named com/foo/Bar/baz.sql on the classpath and returns its contents as a String.
      +
      +
      Parameters:
      +
      name - fully qualified name.
      +
      Returns:
      +
      the located SQL.
      +
      +
      +
      +
    • +
    • +
      +

      getResourceOnClasspath

      +
      +
      @Deprecated +public static String getResourceOnClasspath(String path)
      +
      Deprecated. +
      create() an instance instead of using static methods
      +
      +
      Returns resource's contents as a string at the specified path. The path should point directly + to the resource at the classpath. The resource is loaded by the current thread's classloader.
      +
      +
      Parameters:
      +
      path - the resource path
      +
      Returns:
      +
      the resource's contents
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      getResourceOnClasspath

      +
      +
      @Deprecated +public static String getResourceOnClasspath(ClassLoader classLoader, + String path)
      +
      Deprecated. +
      create() an instance instead of using static methods
      +
      +
      Returns resource's contents as a string at the specified path by the specified classloader. + The path should point directly to the resource at the classpath. The classloader should have + access to the resource.
      +
      +
      Parameters:
      +
      classLoader - the classloader which loads the resource
      +
      path - the resource path
      +
      Returns:
      +
      the resource's contents
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      removingComments

      +
      +
      public static ClasspathSqlLocator removingComments()
      +
      Return a new ClasspathSqlLocator that returns SQL with comments removed.
      +
      +
      Returns:
      +
      A new ClasspathSqlLocator that returns SQL with comments removed.
      +
      +
      +
      +
    • +
    • +
      +

      create

      +
      +
      public static ClasspathSqlLocator create()
      +
      Return a new ClasspathSqlLocator that returns SQL without modifying it.
      +
      +
      Returns:
      +
      A new ClasspathSqlLocator that returns SQL without modifying it.
      +
      +
      +
      +
    • +
    • +
      +

      locate

      +
      +
      public String locate(Class<?> type, + String methodName)
      +
      Locates SQL for the given type and name. Example: Given a type com.foo.Bar and a name of + baz, looks for a resource named com/foo/Bar/baz.sql on the classpath and returns its + contents as a String.
      +
      +
      Parameters:
      +
      type - the type that "owns" the given SQL. Dictates the directory path to the SQL resource file on the + classpath.
      +
      methodName - the SQL statement name (usually a method or field name from the type).
      +
      Returns:
      +
      the located SQL.
      +
      +
      +
      +
    • +
    • +
      +

      locate

      +
      +
      public String locate(String name)
      +
      Locates SQL for the given fully-qualified name. Example: Given the name com.foo.Bar.baz, looks for + a resource named com/foo/Bar/baz.sql on the classpath and returns its contents as a String.
      +
      +
      Parameters:
      +
      name - fully qualified name.
      +
      Returns:
      +
      the located SQL.
      +
      +
      +
      +
    • +
    • +
      +

      getResource

      +
      +
      public String getResource(String path)
      +
      Returns resource's contents as a string at the specified path. The path should point directly + to the resource at the classpath. The resource is loaded by the current thread's classloader.
      +
      +
      Parameters:
      +
      path - the resource path
      +
      Returns:
      +
      the resource's contents
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      getResource

      +
      +
      public String getResource(ClassLoader classLoader, + String path)
      +
      Returns resource's contents as a string at the specified path by the specified classloader. + The path should point directly to the resource at the classpath. The classloader should have + access to the resource.
      +
      +
      Parameters:
      +
      classLoader - the classloader which loads the resource
      +
      path - the resource path
      +
      Returns:
      +
      the resource's contents
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/class-use/ClasspathSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/class-use/ClasspathSqlLocator.html new file mode 100644 index 00000000000..c244fd46d55 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/class-use/ClasspathSqlLocator.html @@ -0,0 +1,116 @@ + + + + +Uses of Class org.jdbi.v3.core.locator.ClasspathSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.locator.ClasspathSqlLocator

+
+
Packages that use ClasspathSqlLocator
+
+
Package
+
Description
+ +
+
+ locator instances inspect text given to Jdbi and + provide lookup of the actual SQL to execute.
+
+ +
+
+ sqlobject.locator inspects the declared SqlObject and determines + the statement text to pass off to core.locator for final + resolution of the statement text.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/package-summary.html new file mode 100644 index 00000000000..1f8ea5b7461 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/package-summary.html @@ -0,0 +1,115 @@ + + + + +org.jdbi.v3.core.locator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.locator

+
+
+
+
package org.jdbi.v3.core.locator
+
+

+ locator instances inspect text given to Jdbi and + provide lookup of the actual SQL to execute. +

+
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Locates SQL in .sql files on the classpath.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/package-tree.html new file mode 100644 index 00000000000..1b5e4dfd2f1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/package-tree.html @@ -0,0 +1,71 @@ + + + + +org.jdbi.v3.core.locator Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.locator

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/package-use.html new file mode 100644 index 00000000000..9eb0d764f8a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/locator/package-use.html @@ -0,0 +1,105 @@ + + + + +Uses of Package org.jdbi.v3.core.locator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.locator

+
+
Packages that use org.jdbi.v3.core.locator
+
+
Package
+
Description
+ +
+
+ locator instances inspect text given to Jdbi and + provide lookup of the actual SQL to execute.
+
+ +
+
+ sqlobject.locator inspects the declared SqlObject and determines + the statement text to pass off to core.locator for final + resolution of the statement text.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/BuiltInMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/BuiltInMapperFactory.html new file mode 100644 index 00000000000..aaf22af5e05 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/BuiltInMapperFactory.html @@ -0,0 +1,213 @@ + + + + +BuiltInMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BuiltInMapperFactory

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.BuiltInMapperFactory
+
+
+
+
+
All Implemented Interfaces:
+
ColumnMapperFactory
+
+
+
@Deprecated +public class BuiltInMapperFactory +extends Object +implements ColumnMapperFactory
+
Deprecated. +
will be replaced by an opt-out plugin to give the core no hardwired behavior
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BuiltInMapperFactory

      +
      +
      public BuiltInMapperFactory()
      +
      Deprecated.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      +
      public Optional<ColumnMapper<?>> build(Type type, + ConfigRegistry config)
      +
      Deprecated.
      +
      Description copied from interface: ColumnMapperFactory
      +
      Supplies a column mapper which will map columns to type if the factory supports it; empty otherwise.
      +
      +
      Specified by:
      +
      build in interface ColumnMapperFactory
      +
      Parameters:
      +
      type - the target type to map to
      +
      config - the config registry, for composition
      +
      Returns:
      +
      a column mapper for the given type if this factory supports it, or Optional.empty() otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/CaseStrategy.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/CaseStrategy.html new file mode 100644 index 00000000000..816f15b616a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/CaseStrategy.html @@ -0,0 +1,282 @@ + + + + +CaseStrategy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum CaseStrategy

+
+
java.lang.Object +
java.lang.Enum<CaseStrategy> +
org.jdbi.v3.core.mapper.CaseStrategy
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<CaseStrategy>, Function<String,String>, UnaryOperator<String>
+
+
+
public enum CaseStrategy +extends Enum<CaseStrategy> +implements UnaryOperator<String>
+
Strategies for comparing case sensitive strings.
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      NOP

      +
      +
      public static final CaseStrategy NOP
      +
      No case sensitivity.
      +
      +
      +
    • +
    • +
      +

      LOWER

      +
      +
      public static final CaseStrategy LOWER
      +
      All strings to lowercase in root locale.
      +
      +
      +
    • +
    • +
      +

      UPPER

      +
      +
      public static final CaseStrategy UPPER
      +
      All strings to uppercase in root locale.
      +
      +
      +
    • +
    • +
      +

      LOCALE_LOWER

      +
      +
      public static final CaseStrategy LOCALE_LOWER
      +
      All strings to lowercase in system locale.
      +
      +
      +
    • +
    • +
      +

      LOCALE_UPPER

      +
      +
      public static final CaseStrategy LOCALE_UPPER
      +
      All strings to uppercase in system locale.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static CaseStrategy[] values()
      +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum type, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static CaseStrategy valueOf(String name)
      +
      Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum type has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/ColumnMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/ColumnMapper.html new file mode 100644 index 00000000000..0ea8c60fe5c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/ColumnMapper.html @@ -0,0 +1,250 @@ + + + + +ColumnMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ColumnMapper<T>

+
+
+
+
+
Type Parameters:
+
T - The mapped type
+
+
+
All Known Implementing Classes:
+
DateTimeMapper, EnumMapper, HStoreColumnMapper
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface ColumnMapper<T>
+
Maps result set columns to objects.
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static <U> ColumnMapper<U>
    + +
     
    +
    default void
    +
    init(ConfigRegistry registry)
    +
    +
    Allows for initialization of the column mapper instance within a ConfigRegistry scope.
    +
    + +
    map(ResultSet r, + int columnNumber, + StatementContext ctx)
    +
    +
    Map the given column of the current row of the result set to an Object.
    +
    +
    default T
    +
    map(ResultSet r, + String columnLabel, + StatementContext ctx)
    +
    +
    Map the given column of the current row of the result set to an Object.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getDefaultColumnMapper

      +
      +
      static <U> ColumnMapper<U> getDefaultColumnMapper()
      +
      +
      +
    • +
    • +
      +

      map

      +
      +
      T map(ResultSet r, + int columnNumber, + StatementContext ctx) +throws SQLException
      +
      Map the given column of the current row of the result set to an Object. This method should not cause the result + set to advance; allow Jdbi to do that, please.
      +
      +
      Parameters:
      +
      r - the result set being iterated
      +
      columnNumber - the column number to map (starts at 1)
      +
      ctx - the statement context
      +
      Returns:
      +
      the value to return for this column
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      +
      +
      +
    • +
    • +
      +

      map

      +
      +
      default T map(ResultSet r, + String columnLabel, + StatementContext ctx) + throws SQLException
      +
      Map the given column of the current row of the result set to an Object. This method should not cause the result + set to advance; allow Jdbi to do that, please.
      +
      +
      Parameters:
      +
      r - the result set being iterated
      +
      columnLabel - the column label to map
      +
      ctx - the statement context
      +
      Returns:
      +
      the value to return for this column
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      +
      +
      +
    • +
    • +
      +

      init

      +
      +
      default void init(ConfigRegistry registry)
      +
      Allows for initialization of the column mapper instance within a ConfigRegistry scope. This method is called once when the column mapper is first used from a + ConfigRegistry. +

      + Note that handles, statements, sql objects etc. all create copies of the registry, and this method will be called for every copy

      +
      +
      Parameters:
      +
      registry - A reference to the ConfigRegistry that this instance belongs to.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/ColumnMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/ColumnMapperFactory.html new file mode 100644 index 00000000000..29e813bbda1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/ColumnMapperFactory.html @@ -0,0 +1,195 @@ + + + + +ColumnMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ColumnMapperFactory

+
+
+
+
+
All Known Implementing Classes:
+
BuiltInMapperFactory, DurationColumnMapperFactory, EnumByNameMapperFactory, EnumByOrdinalMapperFactory, GetObjectColumnMapperFactory, JavaTimeMapperFactory, PeriodColumnMapperFactory, SqlArrayMapperFactory
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface ColumnMapperFactory
+
Factory interface used to produce column mappers.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    build(Type type, + ConfigRegistry config)
    +
    +
    Supplies a column mapper which will map columns to type if the factory supports it; empty otherwise.
    +
    + +
    of(Type type, + ColumnMapper<?> mapper)
    +
    +
    Create a ColumnMapperFactory from a given ColumnMapper that + matches a single Type exactly.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      +
      Optional<ColumnMapper<?>> build(Type type, + ConfigRegistry config)
      +
      Supplies a column mapper which will map columns to type if the factory supports it; empty otherwise.
      +
      +
      Parameters:
      +
      type - the target type to map to
      +
      config - the config registry, for composition
      +
      Returns:
      +
      a column mapper for the given type if this factory supports it, or Optional.empty() otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      static ColumnMapperFactory of(Type type, + ColumnMapper<?> mapper)
      +
      Create a ColumnMapperFactory from a given ColumnMapper that + matches a single Type exactly.
      +
      +
      Parameters:
      +
      type - the type to match with equals.
      +
      mapper - the mapper to return
      +
      Returns:
      +
      the factory
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/ColumnMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/ColumnMappers.html new file mode 100644 index 00000000000..d8456033fd2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/ColumnMappers.html @@ -0,0 +1,504 @@ + + + + +ColumnMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ColumnMappers

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.ColumnMappers
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<ColumnMappers>
+
+
+
public class ColumnMappers +extends Object +implements JdbiConfig<ColumnMappers>
+
Configuration registry for ColumnMapperFactory instances.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ColumnMappers

      +
      +
      public ColumnMappers()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setRegistry

      +
      +
      public void setRegistry(ConfigRegistry registry)
      +
      Description copied from interface: JdbiConfig
      +
      The 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:
      +
      setRegistry in interface JdbiConfig<ColumnMappers>
      +
      Parameters:
      +
      registry - the registry that owns this configuration object
      +
      +
      +
      +
    • +
    • +
      +

      getInferenceInterceptors

      +
      + +
      Returns the JdbiInterceptionChainHolder for the ColumnMapper inference. This chain allows registration of custom interceptors to change the standard + type inference for the register(ColumnMapper) method.
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public ColumnMappers register(ColumnMapper<?> mapper)
      +
      Register a column mapper which will have its parameterized type inspected to determine what it maps to. + Column mappers may be reused by RowMapper to map individual columns. +

      + The parameter must be concretely parameterized, we use the type argument T to + determine if it applies to a given type.

      +
      +
      Parameters:
      +
      mapper - the column mapper
      +
      Returns:
      +
      this
      +
      Throws:
      +
      UnsupportedOperationException - if the ColumnMapper is not a concretely parameterized type
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public <T> ColumnMappers register(GenericType<T> type, + ColumnMapper<T> mapper)
      +
      Register a column mapper for a given explicit GenericType + Column mappers may be reused by RowMapper to map individual columns.
      +
      +
      Type Parameters:
      +
      T - the type
      +
      Parameters:
      +
      type - the generic type to match with equals.
      +
      mapper - the column mapper
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public ColumnMappers register(Type type, + ColumnMapper<?> mapper)
      +
      Register a column mapper for a given explicit Type + Column mappers may be reused by RowMapper to map individual columns.
      +
      +
      Parameters:
      +
      type - the type to match with equals.
      +
      mapper - the column mapper
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public <T> ColumnMappers register(QualifiedType<T> type, + ColumnMapper<T> mapper)
      +
      Register a column mapper for a given QualifiedType + Column mappers may be reused by RowMapper to map individual columns.
      +
      +
      Parameters:
      +
      type - the type to match with equals.
      +
      mapper - the column mapper
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public ColumnMappers register(ColumnMapperFactory factory)
      +
      Register a column mapper factory. +

      + Column mappers may be reused by RowMapper to map individual columns.

      +
      +
      Parameters:
      +
      factory - the column mapper factory
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public ColumnMappers register(QualifiedColumnMapperFactory factory)
      +
      Register a qualified column mapper factory. +

      + Column mappers may be reused by RowMapper to map individual columns.

      +
      +
      Parameters:
      +
      factory - the qualified column mapper factory
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public <T> Optional<ColumnMapper<T>> findFor(Class<T> type)
      +
      Obtain a column mapper for the given type.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a ColumnMapper for the given type, or empty if no column mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public <T> Optional<ColumnMapper<T>> findFor(GenericType<T> type)
      +
      Obtain a column mapper for the given type.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a ColumnMapper for the given type, or empty if no column mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public Optional<ColumnMapper<?>> findFor(Type type)
      +
      Obtain a column mapper for the given type.
      +
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a ColumnMapper for the given type, or empty if no column mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public <T> Optional<ColumnMapper<T>> findFor(QualifiedType<T> type)
      +
      Obtain a column mapper for the given qualified type.
      +
      +
      Parameters:
      +
      type - the qualified target type to map to
      +
      Returns:
      +
      a ColumnMapper for the given type, or empty if no column mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      getCoalesceNullPrimitivesToDefaults

      +
      +
      public boolean getCoalesceNullPrimitivesToDefaults()
      +
      Returns true if database NULL values should be transformed to the default value for primitives.
      +
      +
      Returns:
      +
      true if database NULLs should translate to the JDBC defaults for primitives, or throw an exception otherwise. + + Default value is true: nulls will be coalesced to defaults.
      +
      +
      +
      +
    • +
    • +
      +

      setCoalesceNullPrimitivesToDefaults

      +
      +
      public void setCoalesceNullPrimitivesToDefaults(boolean coalesceNullPrimitivesToDefaults)
      +
      Use the JDBC default value for primitive types if a SQL NULL value was returned by the database. + If this property is set to false, Jdbi will throw an exception when trying to map a SQL NULL value to a primitive type.
      +
      +
      Parameters:
      +
      coalesceNullPrimitivesToDefaults - If true, then use the JDBC default value, otherwise throw an exception.
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public ColumnMappers createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<ColumnMappers>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/EnumByNameMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/EnumByNameMapperFactory.html new file mode 100644 index 00000000000..aed261e9263 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/EnumByNameMapperFactory.html @@ -0,0 +1,225 @@ + + + + +EnumByNameMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class EnumByNameMapperFactory

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.EnumByNameMapperFactory
+
+
+
+
+
All Implemented Interfaces:
+
ColumnMapperFactory
+
+
+
@Deprecated +public class EnumByNameMapperFactory +extends Object +implements ColumnMapperFactory
+ +
Produces enum column mappers, which map enums from varchar columns using Enum.valueOf(Class, String).
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EnumByNameMapperFactory

      +
      +
      public EnumByNameMapperFactory()
      +
      Deprecated.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      +
      public Optional<ColumnMapper<?>> build(Type type, + ConfigRegistry config)
      +
      Deprecated.
      +
      Description copied from interface: ColumnMapperFactory
      +
      Supplies a column mapper which will map columns to type if the factory supports it; empty otherwise.
      +
      +
      Specified by:
      +
      build in interface ColumnMapperFactory
      +
      Parameters:
      +
      type - the target type to map to
      +
      config - the config registry, for composition
      +
      Returns:
      +
      a column mapper for the given type if this factory supports it, or Optional.empty() otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/EnumByOrdinalMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/EnumByOrdinalMapperFactory.html new file mode 100644 index 00000000000..d48d6d7af0c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/EnumByOrdinalMapperFactory.html @@ -0,0 +1,225 @@ + + + + +EnumByOrdinalMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class EnumByOrdinalMapperFactory

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.EnumByOrdinalMapperFactory
+
+
+
+
+
All Implemented Interfaces:
+
ColumnMapperFactory
+
+
+
@Deprecated +public class EnumByOrdinalMapperFactory +extends Object +implements ColumnMapperFactory
+ +
Produces enum column mappers, which map enums from numeric columns according to ordinal value.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EnumByOrdinalMapperFactory

      +
      +
      public EnumByOrdinalMapperFactory()
      +
      Deprecated.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      +
      public Optional<ColumnMapper<?>> build(Type type, + ConfigRegistry config)
      +
      Deprecated.
      +
      Description copied from interface: ColumnMapperFactory
      +
      Supplies a column mapper which will map columns to type if the factory supports it; empty otherwise.
      +
      +
      Specified by:
      +
      build in interface ColumnMapperFactory
      +
      Parameters:
      +
      type - the target type to map to
      +
      config - the config registry, for composition
      +
      Returns:
      +
      a column mapper for the given type if this factory supports it, or Optional.empty() otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/EnumMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/EnumMapper.html new file mode 100644 index 00000000000..994aa9251aa --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/EnumMapper.html @@ -0,0 +1,205 @@ + + + + +EnumMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class EnumMapper<E extends Enum<E>>

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.EnumMapper<E>
+
+
+
+
+
Type Parameters:
+
E - the enum type mapped
+
+
+
All Implemented Interfaces:
+
ColumnMapper<E>
+
+
+
public abstract class EnumMapper<E extends Enum<E>> +extends Object +implements ColumnMapper<E>
+
Column mapper for Java enum types.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      byName

      +
      +
      public static <E extends Enum<E>> ColumnMapper<E> byName(Class<E> type)
      +
      Map database string values to enum names.
      +
      +
      Type Parameters:
      +
      E - the enum type to map
      +
      Parameters:
      +
      type - the enum type to map
      +
      Returns:
      +
      an enum mapper that matches on Enum.name()
      +
      +
      +
      +
    • +
    • +
      +

      byOrdinal

      +
      +
      public static <E extends Enum<E>> ColumnMapper<E> byOrdinal(Class<E> type)
      +
      Map database integer values to enum ordinal values.
      +
      +
      Type Parameters:
      +
      E - the enum type to map
      +
      Parameters:
      +
      type - the enum type to map
      +
      Returns:
      +
      an enum mapper that matches on Enum.ordinal()
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/GenericMapMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/GenericMapMapperFactory.html new file mode 100644 index 00000000000..cda90a2a2c9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/GenericMapMapperFactory.html @@ -0,0 +1,275 @@ + + + + +GenericMapMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class GenericMapMapperFactory

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.GenericMapMapperFactory
+
+
+
+
+
All Implemented Interfaces:
+
RowMapperFactory
+
+
+
public class GenericMapMapperFactory +extends Object +implements RowMapperFactory
+
Factory for a RowMapper that can map resultset rows to column name/generic value Maps. +

+ Each row in the resultset becomes a distinct Map, in which the keys are all distinct column names and the values are the corresponding cell contents. + All values are mapped to the same generic type T (e.g. BigDecimal) by a ColumnMapper from the ConfigRegistry. +

+ This differs from MapMapper by supporting a concrete type instead of only Object, and from collecting into a Map + in that the latter maps an entire resultset to a single Map and can only keep 1 key and 1 value from each row. +

+ Use cases for this are mainly single-row results like numeric reports (e.g. the price components, + taxes, etc of a product for sale, or a set of possible labeled values for a user setting), and matrices.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GenericMapMapperFactory

      +
      +
      public GenericMapMapperFactory()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      +
      public Optional<RowMapper<?>> build(Type mapType, + ConfigRegistry config)
      +
      Description copied from interface: RowMapperFactory
      +
      Supplies a row mapper which will map result set rows to type if the factory supports it; empty otherwise.
      +
      +
      Specified by:
      +
      build in interface RowMapperFactory
      +
      Parameters:
      +
      mapType - the target type to map to
      +
      config - the config registry, for composition
      +
      Returns:
      +
      a row mapper for the given type if this factory supports it; Optional.empty() otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      getMapperForValueType

      +
      +
      public static <T> RowMapper<Map<String,T>> getMapperForValueType(Class<T> valueType, + ConfigRegistry config)
      +
      Returns a RowMapper for a map with the given value type. The key type is String.
      +
      +
      Type Parameters:
      +
      T - The value type
      +
      Parameters:
      +
      valueType - A Class instance representing the value type for the Map
      +
      config - A ConfigRegistry instance
      +
      Returns:
      +
      A RowMapper for a map from string to the given value type
      +
      +
      +
      +
    • +
    • +
      +

      getMapperForValueType

      +
      +
      public static <T> RowMapper<Map<String,T>> getMapperForValueType(GenericType<T> valueType, + ConfigRegistry config)
      +
      Returns a RowMapper for a map with the given value type. The key type is String.
      +
      +
      Type Parameters:
      +
      T - The value type
      +
      Parameters:
      +
      valueType - A Class instance representing the value type for the Map
      +
      config - A ConfigRegistry instance
      +
      Returns:
      +
      A RowMapper for a map from string to the given value type
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/GetObjectColumnMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/GetObjectColumnMapperFactory.html new file mode 100644 index 00000000000..1e98025474b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/GetObjectColumnMapperFactory.html @@ -0,0 +1,220 @@ + + + + +GetObjectColumnMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class GetObjectColumnMapperFactory

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.GetObjectColumnMapperFactory
+
+
+
+
+
All Implemented Interfaces:
+
ColumnMapperFactory
+
+
+
Direct Known Subclasses:
+
JavaTimeMapperFactory
+
+
+
public class GetObjectColumnMapperFactory +extends Object +implements ColumnMapperFactory
+
Factory that uses ResultSet.getObject(int, Class) to fetch values.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/JoinRow.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/JoinRow.html new file mode 100644 index 00000000000..3e61eb196e3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/JoinRow.html @@ -0,0 +1,181 @@ + + + + +JoinRow (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JoinRow

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.JoinRow
+
+
+
+
+
public class JoinRow +extends Object
+
Holder for a single joined row.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      get

      +
      +
      public <T> T get(Class<T> klass)
      +
      Return the value mapped for a given class.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      klass - the type that was mapped
      +
      Returns:
      +
      the value for that type
      +
      +
      +
      +
    • +
    • +
      +

      get

      +
      +
      public Object get(Type type)
      +
      Return the value mapped for a given type.
      +
      +
      Parameters:
      +
      type - the type that was mapped
      +
      Returns:
      +
      the value for that type
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/JoinRowMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/JoinRowMapper.html new file mode 100644 index 00000000000..6ff76072192 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/JoinRowMapper.html @@ -0,0 +1,244 @@ + + + + +JoinRowMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JoinRowMapper

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.JoinRowMapper
+
+
+
+
+
All Implemented Interfaces:
+
RowMapper<JoinRow>
+
+
+
public class JoinRowMapper +extends Object +implements RowMapper<JoinRow>
+
A RowMapper implementation to easily compose existing + RowMappers. As the name implies, it is most commonly used + for retrieving multiple tables' Java representations from a + joined row.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      map

      +
      +
      public JoinRow map(ResultSet r, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Map the current row of the result set. + This method should not cause the result set to advance; allow Jdbi to do that, please.
      +
      +
      Specified by:
      +
      map in interface RowMapper<JoinRow>
      +
      Parameters:
      +
      r - the result set being iterated
      +
      ctx - the statement context
      +
      Returns:
      +
      the value to produce for this row
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      +
      +
      +
    • +
    • +
      +

      specialize

      +
      +
      public RowMapper<JoinRow> specialize(ResultSet r, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Returns a specialized row mapper, optimized for the given result set. +

      + Before mapping the result set from a SQL statement; Jdbi will first call this method to obtain a specialized + instance. The returned mapper will then be used to map the result set rows, and discarded. +

      + Implementing this method is optional; the default implementation returns this. Implementors might choose + to override this method to improve performance, e.g. by matching up column names to properties once for the + entire result set, rather than repeating the process for every row.

      +
      +
      Specified by:
      +
      specialize in interface RowMapper<JoinRow>
      +
      Parameters:
      +
      r - the result set to specialize over
      +
      ctx - the statement context to specialize over
      +
      Returns:
      +
      a row mapper equivalent to this one, possibly specialized.
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      forTypes

      +
      +
      public static JoinRowMapper forTypes(Type... classes)
      +
      Create a JoinRowMapper that maps each of the given types and returns a + JoinRow with the resulting values.
      +
      +
      Parameters:
      +
      classes - the types to extract
      +
      Returns:
      +
      a JoinRowMapper that extracts the given types
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapEntryConfig.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapEntryConfig.html new file mode 100644 index 00000000000..435e2178235 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapEntryConfig.html @@ -0,0 +1,201 @@ + + + + +MapEntryConfig (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface MapEntryConfig<This>

+
+
+
+
+
All Known Implementing Classes:
+
MapEntryMappers, TupleMappers
+
+
+
public interface MapEntryConfig<This>
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getKeyColumn

      +
      +
      String getKeyColumn()
      +
      +
      +
    • +
    • +
      +

      setKeyColumn

      +
      +
      This setKeyColumn(String keyColumn)
      +
      Sets the column that map entry keys are loaded from. If set, keys will be loaded from the given column, using the ColumnMapper registered + for the key type. If unset, keys will be loaded using the RowMapper registered for the key type, from whichever columns that row mapper + uses.
      +
      +
      Parameters:
      +
      keyColumn - the key column name. not null
      +
      Returns:
      +
      this config object, for call chaining
      +
      +
      +
      +
    • +
    • +
      +

      getValueColumn

      +
      +
      String getValueColumn()
      +
      +
      +
    • +
    • +
      +

      setValueColumn

      +
      +
      This setValueColumn(String valueColumn)
      +
      Sets the column that map entry values are loaded from. If set, values will be loaded from the given column, using the ColumnMapper + registered for the value type. If unset, values will be loaded using the RowMapper registered for the value type, from whichever columns + that row mapper uses.
      +
      +
      Parameters:
      +
      valueColumn - the value column name. not null
      +
      Returns:
      +
      this config object, for call chaining
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapEntryMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapEntryMapper.html new file mode 100644 index 00000000000..4e5c41d6eb3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapEntryMapper.html @@ -0,0 +1,224 @@ + + + + +MapEntryMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MapEntryMapper<K,V>

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.MapEntryMapper<K,V>
+
+
+
+
+
Type Parameters:
+
K - entry key type
+
V - entry value type
+
+
+
All Implemented Interfaces:
+
RowMapper<Map.Entry<K,V>>
+
+
+
public class MapEntryMapper<K,V> +extends Object +implements RowMapper<Map.Entry<K,V>>
+
Maps rows to Map.Entry<K, V>, provided there are mappers registered for types K and V. This mapper is registered out of the box.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      map

      +
      +
      public Map.Entry<K,V> map(ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Map the current row of the result set. + This method should not cause the result set to advance; allow Jdbi to do that, please.
      +
      +
      Specified by:
      +
      map in interface RowMapper<K>
      +
      Parameters:
      +
      rs - the result set being iterated
      +
      ctx - the statement context
      +
      Returns:
      +
      the value to produce for this row
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      +
      +
      +
    • +
    • +
      +

      specialize

      +
      +
      public RowMapper<Map.Entry<K,V>> specialize(ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Returns a specialized row mapper, optimized for the given result set. +

      + Before mapping the result set from a SQL statement; Jdbi will first call this method to obtain a specialized + instance. The returned mapper will then be used to map the result set rows, and discarded. +

      + Implementing this method is optional; the default implementation returns this. Implementors might choose + to override this method to improve performance, e.g. by matching up column names to properties once for the + entire result set, rather than repeating the process for every row.

      +
      +
      Specified by:
      +
      specialize in interface RowMapper<K>
      +
      Parameters:
      +
      rs - the result set to specialize over
      +
      ctx - the statement context to specialize over
      +
      Returns:
      +
      a row mapper equivalent to this one, possibly specialized.
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapEntryMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapEntryMappers.html new file mode 100644 index 00000000000..fe14a78b5f4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapEntryMappers.html @@ -0,0 +1,276 @@ + + + + +MapEntryMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MapEntryMappers

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.MapEntryMappers
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<MapEntryMappers>, MapEntryConfig<MapEntryMappers>
+
+
+
public class MapEntryMappers +extends Object +implements JdbiConfig<MapEntryMappers>, MapEntryConfig<MapEntryMappers>
+
Configuration class for MapEntryMapper.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MapEntryMappers

      +
      +
      public MapEntryMappers()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getKeyColumn

      +
      +
      public String getKeyColumn()
      +
      +
      Specified by:
      +
      getKeyColumn in interface MapEntryConfig<MapEntryMappers>
      +
      +
      +
      +
    • +
    • +
      +

      setKeyColumn

      +
      +
      public MapEntryMappers setKeyColumn(String keyColumn)
      +
      Sets the column that map entry keys are loaded from. If set, keys will be loaded from the given column, using the ColumnMapper registered + for the key type. If unset, keys will be loaded using the RowMapper registered for the key type, from whichever columns that row mapper + uses.
      +
      +
      Specified by:
      +
      setKeyColumn in interface MapEntryConfig<MapEntryMappers>
      +
      Parameters:
      +
      keyColumn - the key column name.
      +
      Returns:
      +
      this config object, for call chaining
      +
      +
      +
      +
    • +
    • +
      +

      getValueColumn

      +
      +
      public String getValueColumn()
      +
      +
      Specified by:
      +
      getValueColumn in interface MapEntryConfig<MapEntryMappers>
      +
      +
      +
      +
    • +
    • +
      +

      setValueColumn

      +
      +
      public MapEntryMappers setValueColumn(String valueColumn)
      +
      Sets the column that map entry values are loaded from. If set, values will be loaded from the given column, using the ColumnMapper + registered for the value type. If unset, values will be loaded using the RowMapper registered for the value type, from whichever columns + that row mapper uses.
      +
      +
      Specified by:
      +
      setValueColumn in interface MapEntryConfig<MapEntryMappers>
      +
      Parameters:
      +
      valueColumn - the value column name.
      +
      Returns:
      +
      this config object, for call chaining
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public MapEntryMappers createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<MapEntryMappers>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapMapper.html new file mode 100644 index 00000000000..b404e046d7f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapMapper.html @@ -0,0 +1,284 @@ + + + + +MapMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MapMapper

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.MapMapper
+
+
+
+
+
All Implemented Interfaces:
+
RowMapper<Map<String,Object>>
+
+
+
public class MapMapper +extends Object +implements RowMapper<Map<String,Object>>
+
Yo dawg, I heard you like maps, so I made you a mapper that maps rows into Map<String,Object>. Map + keys are column names, while map values are the values in those columns. Map keys are converted to lowercase by + default.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MapMapper

      +
      +
      public MapMapper()
      +
      Constructs a new MapMapper and delegates case control to MapMappers.
      +
      +
      +
    • +
    • +
      +

      MapMapper

      +
      +
      @Deprecated +public MapMapper(boolean toLowerCase)
      +
      Deprecated. + +
      +
      Constructs a new MapMapper
      +
      +
      Parameters:
      +
      toLowerCase - if true, column names are converted to lowercase in the mapped Map. If false, nothing is done. Use the other constructor to delegate case control to MapMappers instead.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      map

      +
      +
      public Map<String,Object> map(ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Map the current row of the result set. + This method should not cause the result set to advance; allow Jdbi to do that, please.
      +
      +
      Specified by:
      +
      map in interface RowMapper<Map<String,Object>>
      +
      Parameters:
      +
      rs - the result set being iterated
      +
      ctx - the statement context
      +
      Returns:
      +
      the value to produce for this row
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      +
      +
      +
    • +
    • +
      +

      specialize

      +
      +
      public RowMapper<Map<String,Object>> specialize(ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Returns a specialized row mapper, optimized for the given result set. +

      + Before mapping the result set from a SQL statement; Jdbi will first call this method to obtain a specialized + instance. The returned mapper will then be used to map the result set rows, and discarded. +

      + Implementing this method is optional; the default implementation returns this. Implementors might choose + to override this method to improve performance, e.g. by matching up column names to properties once for the + entire result set, rather than repeating the process for every row.

      +
      +
      Specified by:
      +
      specialize in interface RowMapper<Map<String,Object>>
      +
      Parameters:
      +
      rs - the result set to specialize over
      +
      ctx - the statement context to specialize over
      +
      Returns:
      +
      a row mapper equivalent to this one, possibly specialized.
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapMappers.html new file mode 100644 index 00000000000..4b07431f2e7 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MapMappers.html @@ -0,0 +1,245 @@ + + + + +MapMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MapMappers

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.MapMappers
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<MapMappers>
+
+
+
public class MapMappers +extends Object +implements JdbiConfig<MapMappers>
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MapMappers

      +
      +
      public MapMappers()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCaseChange

      +
      +
      public UnaryOperator<String> getCaseChange()
      +
      Case change strategy for the database column names. By default, the row names are lowercased using the system locale.
      +
      +
      Returns:
      +
      The current case change strategy.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      setCaseChange

      +
      +
      public MapMappers setCaseChange(UnaryOperator<String> caseChange)
      +
      Sets the case change strategy for the database column names. By default, the row names are lowercased using the system locale.
      +
      +
      Parameters:
      +
      caseChange - The strategy to use. Must not be null.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public MapMappers createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<MapMappers>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/Mappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/Mappers.html new file mode 100644 index 00000000000..1d8efd6866e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/Mappers.html @@ -0,0 +1,326 @@ + + + + +Mappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Mappers

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.Mappers
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<Mappers>
+
+
+
public class Mappers +extends Object +implements JdbiConfig<Mappers>
+
Configuration class for obtaining row or column mappers. +

+ This configuration is merely a convenience class, and does not have any + configuration of its own. All methods delegate to RowMappers or + ColumnMappers.

+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Mappers

      +
      +
      public Mappers()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setRegistry

      +
      +
      public void setRegistry(ConfigRegistry registry)
      +
      Description copied from interface: JdbiConfig
      +
      The 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:
      +
      setRegistry in interface JdbiConfig<Mappers>
      +
      Parameters:
      +
      registry - the registry that owns this configuration object
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public <T> Optional<RowMapper<T>> findFor(Class<T> type)
      +
      Obtain a mapper for the given type. If a row mapper is registered for the + given type, it is returned. If a column mapper is registered for the + given type, it is adapted into a row mapper, mapping the first column of + the result set. If neither a row or column mapper is registered, empty is + returned.
      +
      +
      Type Parameters:
      +
      T - the type of the mapper to find
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a mapper for the given type, or empty if no row or column mapper + is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public <T> Optional<RowMapper<T>> findFor(GenericType<T> type)
      +
      Obtain a mapper for the given type. If a row mapper is registered for the + given type, it is returned. If a column mapper is registered for the + given type, it is adapted into a row mapper, mapping the first column of + the result set. If neither a row or column mapper is registered, empty is + returned.
      +
      +
      Type Parameters:
      +
      T - the type of the mapper to find
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a mapper for the given type, or empty if no row or column mapper + is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public Optional<RowMapper<?>> findFor(Type type)
      +
      Obtain a mapper for the given type. If a row mapper is registered for the + given type, it is returned. If a column mapper is registered for the + given type, it is adapted into a row mapper, mapping the first column of + the result set. If neither a row or column mapper is registered, empty is + returned.
      +
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a mapper for the given type, or empty if no row or column mapper + is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public <T> Optional<RowMapper<T>> findFor(QualifiedType<T> type)
      +
      Obtain a mapper for the given qualified type. If the type is unqualified, + and a row mapper is registered for the given type, it is returned. If a + column mapper is registered for the given qualified type, it is adapted + into a row mapper, mapping the first column of the result set. If neither + a row or column mapper is registered, empty is returned.
      +
      +
      Parameters:
      +
      type - the target qualified type to map to
      +
      Returns:
      +
      a mapper for the given type, or empty if no row or column mapper + is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public Mappers createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<Mappers>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MappingException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MappingException.html new file mode 100644 index 00000000000..5db1f075053 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/MappingException.html @@ -0,0 +1,195 @@ + + + + +MappingException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MappingException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class MappingException +extends JdbiException
+
Thrown when a mapper fails to map the row to a result type.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MappingException

      +
      +
      public MappingException(String string, + Throwable throwable)
      +
      +
      +
    • +
    • +
      +

      MappingException

      +
      +
      public MappingException(Throwable cause)
      +
      +
      +
    • +
    • +
      +

      MappingException

      +
      +
      public MappingException(String message)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/Nested.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/Nested.html new file mode 100644 index 00000000000..a31bf3473aa --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/Nested.html @@ -0,0 +1,149 @@ + + + + +Nested (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type Nested

+
+
+
+
+
@Retention(RUNTIME) +@Target({PARAMETER,FIELD,METHOD}) +public @interface Nested
+
Signals that the annotated element is a nested mapped type.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    The column name prefix for all members of the nested object.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      The column name prefix for all members of the nested object. If unset, + no column name prefix is applied.
      +
      +
      Returns:
      +
      the column name prefix
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/NoSuchMapperException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/NoSuchMapperException.html new file mode 100644 index 00000000000..12b33b92420 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/NoSuchMapperException.html @@ -0,0 +1,196 @@ + + + + +NoSuchMapperException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class NoSuchMapperException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class NoSuchMapperException +extends JdbiException
+
Thrown when you attempt to map a type that Jdbi doesn't have a + registered mapper factory for.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      NoSuchMapperException

      +
      +
      public NoSuchMapperException(String string, + Throwable throwable)
      +
      +
      +
    • +
    • +
      +

      NoSuchMapperException

      +
      +
      public NoSuchMapperException(Throwable cause)
      +
      +
      +
    • +
    • +
      +

      NoSuchMapperException

      +
      +
      public NoSuchMapperException(String message)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/PropagateNull.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/PropagateNull.html new file mode 100644 index 00000000000..48e8e5ea7b4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/PropagateNull.html @@ -0,0 +1,152 @@ + + + + +PropagateNull (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type PropagateNull

+
+
+
+
+
@Retention(RUNTIME) +@Target({PARAMETER,FIELD,METHOD,TYPE}) +public @interface PropagateNull
+
Signals that the annotated property signals the presence of the mapped type: + reflective mappers should map a null bean if this property is null, rather than a + present bean with a null property value. This is useful e.g. for a LEFT OUTER JOIN + or an optionally-present compound value type.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    When annotating a type, the value is the column name to check for null.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      When annotating a type, the value is the column name to check for null. + When annotating a property, the value is unused: instead, the property value is tested against null.
      +
      +
      Returns:
      +
      the column name whose null-ness shall be propagated
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/QualifiedColumnMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/QualifiedColumnMapperFactory.html new file mode 100644 index 00000000000..cce656d059f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/QualifiedColumnMapperFactory.html @@ -0,0 +1,219 @@ + + + + +QualifiedColumnMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface QualifiedColumnMapperFactory

+
+
+
+
+
All Known Implementing Classes:
+
CodecFactory, TypeResolvingCodecFactory
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface QualifiedColumnMapperFactory
+
Factory interface used to produce column mappers.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowMapper.html new file mode 100644 index 00000000000..7fcefc26570 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowMapper.html @@ -0,0 +1,248 @@ + + + + +RowMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface RowMapper<T>

+
+
+
+
+
Type Parameters:
+
T - the mapped type.
+
+
+
All Known Subinterfaces:
+
RowViewMapper<T>
+
+
+
All Known Implementing Classes:
+
BeanMapper, ConstructorMapper, FieldMapper, JoinRowMapper, JpaMapper, MapEntryMapper, MapMapper, org.jdbi.v3.core.mapper.reflect.internal.PojoMapper, SingleColumnMapper
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface RowMapper<T>
+
Maps result set rows to objects.
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default void
    +
    init(ConfigRegistry registry)
    +
    +
    Allows for initialization of the row mapper instance within a ConfigRegistry scope.
    +
    + + +
    +
    Map the current row of the result set.
    +
    +
    default RowMapper<T>
    + +
    +
    Returns a specialized row mapper, optimized for the given result set.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      map

      +
      +
      T map(ResultSet rs, + StatementContext ctx) +throws SQLException
      +
      Map the current row of the result set. + This method should not cause the result set to advance; allow Jdbi to do that, please.
      +
      +
      Parameters:
      +
      rs - the result set being iterated
      +
      ctx - the statement context
      +
      Returns:
      +
      the value to produce for this row
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      +
      +
      +
    • +
    • +
      +

      specialize

      +
      +
      default RowMapper<T> specialize(ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Returns a specialized row mapper, optimized for the given result set. +

      + Before mapping the result set from a SQL statement; Jdbi will first call this method to obtain a specialized + instance. The returned mapper will then be used to map the result set rows, and discarded. +

      + Implementing this method is optional; the default implementation returns this. Implementors might choose + to override this method to improve performance, e.g. by matching up column names to properties once for the + entire result set, rather than repeating the process for every row.

      +
      +
      Parameters:
      +
      rs - the result set to specialize over
      +
      ctx - the statement context to specialize over
      +
      Returns:
      +
      a row mapper equivalent to this one, possibly specialized.
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      init

      +
      +
      default void init(ConfigRegistry registry)
      +
      Allows for initialization of the row mapper instance within a ConfigRegistry scope. This method is called once when the row mapper is first used from a + ConfigRegistry. +

      + Note that handles, statements, sql objects etc. all create copies of the registry, and this method will be called for every copy

      +
      +
      Parameters:
      +
      registry - A reference to the ConfigRegistry that this instance belongs to.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowMapperFactory.html new file mode 100644 index 00000000000..eaa35967f6e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowMapperFactory.html @@ -0,0 +1,195 @@ + + + + +RowMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface RowMapperFactory

+
+
+
+
+
All Known Implementing Classes:
+
GenericMapMapperFactory, JpaMapperFactory
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface RowMapperFactory
+
Factory interface used to produce row mappers.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    build(Type type, + ConfigRegistry config)
    +
    +
    Supplies a row mapper which will map result set rows to type if the factory supports it; empty otherwise.
    +
    + +
    of(Type type, + RowMapper<?> mapper)
    +
    +
    Create a RowMapperFactory from a given RowMapper that matches + a Type exactly.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      +
      Optional<RowMapper<?>> build(Type type, + ConfigRegistry config)
      +
      Supplies a row mapper which will map result set rows to type if the factory supports it; empty otherwise.
      +
      +
      Parameters:
      +
      type - the target type to map to
      +
      config - the config registry, for composition
      +
      Returns:
      +
      a row mapper for the given type if this factory supports it; Optional.empty() otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      static RowMapperFactory of(Type type, + RowMapper<?> mapper)
      +
      Create a RowMapperFactory from a given RowMapper that matches + a Type exactly.
      +
      +
      Parameters:
      +
      type - the type to match with equals.
      +
      mapper - the mapper to return
      +
      Returns:
      +
      the factory
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowMappers.html new file mode 100644 index 00000000000..3d06dbf6365 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowMappers.html @@ -0,0 +1,396 @@ + + + + +RowMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class RowMappers

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.RowMappers
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<RowMappers>
+
+
+
public class RowMappers +extends Object +implements JdbiConfig<RowMappers>
+
Configuration registry for RowMapperFactory instances.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      RowMappers

      +
      +
      public RowMappers()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setRegistry

      +
      +
      public void setRegistry(ConfigRegistry registry)
      +
      Description copied from interface: JdbiConfig
      +
      The 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:
      +
      setRegistry in interface JdbiConfig<RowMappers>
      +
      Parameters:
      +
      registry - the registry that owns this configuration object
      +
      +
      +
      +
    • +
    • +
      +

      getInferenceInterceptors

      +
      +
      @Alpha +public JdbiInterceptionChainHolder<RowMapper<?>,RowMapperFactory> getInferenceInterceptors()
      +
      Returns the JdbiInterceptionChainHolder for the RowMapper inference. This chain allows registration of custom interceptors to change the standard type + inference for the register(RowMapper) method.
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public RowMappers register(RowMapper<?> mapper)
      +
      Register a row mapper which will have its parameterized type inspected to determine what it maps to. + Will be used with ResultBearing.mapTo(Class) for registered mappings. +

      + The parameter must be concretely parameterized, we use the type argument T to + determine if it applies to a given type. +

      + Object is not supported as a concrete parameter type.

      +
      +
      Parameters:
      +
      mapper - the row mapper
      +
      Returns:
      +
      this
      +
      Throws:
      +
      UnsupportedOperationException - if the RowMapper is not a concretely parameterized type
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public <T> RowMappers register(GenericType<T> type, + RowMapper<T> mapper)
      +
      Register a row mapper for a given type.
      +
      +
      Type Parameters:
      +
      T - the type
      +
      Parameters:
      +
      type - the type to match with equals.
      +
      mapper - the row mapper
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public RowMappers register(Type type, + RowMapper<?> mapper)
      +
      Register a row mapper for a given type.
      +
      +
      Parameters:
      +
      type - the type to match with equals.
      +
      mapper - the row mapper
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      register

      +
      +
      public RowMappers register(RowMapperFactory factory)
      +
      Register a row mapper factory. +

      + Will be used with ResultBearing.mapTo(Class) for registered mappings.

      +
      +
      Parameters:
      +
      factory - the row mapper factory
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public <T> Optional<RowMapper<T>> findFor(Class<T> type)
      +
      Obtain a row mapper for the given type in the given context.
      +
      +
      Type Parameters:
      +
      T - the type of the mapper to find
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a RowMapper for the given type, or empty if no row mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public <T> Optional<RowMapper<T>> findFor(GenericType<T> type)
      +
      Obtain a row mapper for the given type in the given context.
      +
      +
      Type Parameters:
      +
      T - the type of the mapper to find
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a RowMapper for the given type, or empty if no row mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public Optional<RowMapper<?>> findFor(Type type)
      +
      Obtain a row mapper for the given type in the given context.
      +
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a RowMapper for the given type, or empty if no row mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public RowMappers createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<RowMappers>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowViewMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowViewMapper.html new file mode 100644 index 00000000000..bd19bcefe47 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/RowViewMapper.html @@ -0,0 +1,245 @@ + + + + +RowViewMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface RowViewMapper<T>

+
+
+
+
+
Type Parameters:
+
T - the mapped type.
+
+
+
All Superinterfaces:
+
RowMapper<T>
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface RowViewMapper<T> +extends RowMapper<T>
+
Higher level cousin of RowMapper that operates over RowViews rather than + the bare ResultSet.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default T
    + +
    +
    Map the current row of the result set.
    +
    + +
    map(RowView rowView)
    +
    +
    Produce a single result item from the current row of a RowView.
    +
    +
    default RowMapper<T>
    + +
    +
    Returns a specialized row mapper, optimized for the given result set.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface org.jdbi.v3.core.mapper.RowMapper

    +init
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      map

      +
      +
      default T map(ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Map the current row of the result set. + This method should not cause the result set to advance; allow Jdbi to do that, please.
      +
      +
      Specified by:
      +
      map in interface RowMapper<T>
      +
      Parameters:
      +
      rs - the result set being iterated
      +
      ctx - the statement context
      +
      Returns:
      +
      the value to produce for this row
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      +
      +
      +
    • +
    • +
      +

      specialize

      +
      +
      default RowMapper<T> specialize(ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Returns a specialized row mapper, optimized for the given result set. +

      + Before mapping the result set from a SQL statement; Jdbi will first call this method to obtain a specialized + instance. The returned mapper will then be used to map the result set rows, and discarded. +

      + Implementing this method is optional; the default implementation returns this. Implementors might choose + to override this method to improve performance, e.g. by matching up column names to properties once for the + entire result set, rather than repeating the process for every row.

      +
      +
      Specified by:
      +
      specialize in interface RowMapper<T>
      +
      Parameters:
      +
      rs - the result set to specialize over
      +
      ctx - the statement context to specialize over
      +
      Returns:
      +
      a row mapper equivalent to this one, possibly specialized.
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      map

      +
      +
      T map(RowView rowView) +throws SQLException
      +
      Produce a single result item from the current row of a RowView.
      +
      +
      Parameters:
      +
      rowView - the view into the current row of the ResultSet
      +
      Returns:
      +
      the produced result
      +
      Throws:
      +
      SQLException - something went wrong
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/SingleColumnMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/SingleColumnMapper.html new file mode 100644 index 00000000000..a4f9c542224 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/SingleColumnMapper.html @@ -0,0 +1,253 @@ + + + + +SingleColumnMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SingleColumnMapper<T>

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.SingleColumnMapper<T>
+
+
+
+
+
All Implemented Interfaces:
+
RowMapper<T>
+
+
+
public class SingleColumnMapper<T> +extends Object +implements RowMapper<T>
+
Adapts a ColumnMapper into a RowMapper by mapping a single column.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SingleColumnMapper

      +
      +
      public SingleColumnMapper(ColumnMapper<T> mapper)
      +
      Constructs a row mapper which maps the first column.
      +
      +
      Parameters:
      +
      mapper - the column mapper to delegate to for mapping.
      +
      +
      +
      +
    • +
    • +
      +

      SingleColumnMapper

      +
      +
      public SingleColumnMapper(ColumnMapper<T> mapper, + int columnNumber)
      +
      Constructs a row mapper which maps the given column number.
      +
      +
      Parameters:
      +
      mapper - the column mapper to delegate to for mapping
      +
      columnNumber - the column number (1-based) to map
      +
      +
      +
      +
    • +
    • +
      +

      SingleColumnMapper

      +
      +
      public SingleColumnMapper(ColumnMapper<T> mapper, + String columnLabel)
      +
      Constructs a row mapper which maps the column with the given label.
      +
      +
      Parameters:
      +
      mapper - the column mapper to delegate to for mapping
      +
      columnLabel - the label of the column to map
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      map

      +
      +
      public T map(ResultSet r, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Map the current row of the result set. + This method should not cause the result set to advance; allow Jdbi to do that, please.
      +
      +
      Specified by:
      +
      map in interface RowMapper<T>
      +
      Parameters:
      +
      r - the result set being iterated
      +
      ctx - the statement context
      +
      Returns:
      +
      the value to produce for this row
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/BuiltInMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/BuiltInMapperFactory.html new file mode 100644 index 00000000000..d87f396047b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/BuiltInMapperFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.BuiltInMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.BuiltInMapperFactory

+
+No usage of org.jdbi.v3.core.mapper.BuiltInMapperFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/CaseStrategy.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/CaseStrategy.html new file mode 100644 index 00000000000..e4302b80044 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/CaseStrategy.html @@ -0,0 +1,93 @@ + + + + +Uses of Enum org.jdbi.v3.core.mapper.CaseStrategy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum
org.jdbi.v3.core.mapper.CaseStrategy

+
+
Packages that use CaseStrategy
+
+
Package
+
Description
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/ColumnMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/ColumnMapper.html new file mode 100644 index 00000000000..1d64ce35485 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/ColumnMapper.html @@ -0,0 +1,491 @@ + + + + +Uses of Interface org.jdbi.v3.core.mapper.ColumnMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.mapper.ColumnMapper

+
+
Packages that use ColumnMapper
+
+
Package
+
Description
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
Google Guice integration.
+
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/ColumnMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/ColumnMapperFactory.html new file mode 100644 index 00000000000..feabf091044 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/ColumnMapperFactory.html @@ -0,0 +1,224 @@ + + + + +Uses of Interface org.jdbi.v3.core.mapper.ColumnMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.mapper.ColumnMapperFactory

+
+
Packages that use ColumnMapperFactory
+
+
Package
+
Description
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/ColumnMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/ColumnMappers.html new file mode 100644 index 00000000000..9bec81fcb54 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/ColumnMappers.html @@ -0,0 +1,121 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.ColumnMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.ColumnMappers

+
+
Packages that use ColumnMappers
+
+
Package
+
Description
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/EnumByNameMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/EnumByNameMapperFactory.html new file mode 100644 index 00000000000..513d7d5c344 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/EnumByNameMapperFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.EnumByNameMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.EnumByNameMapperFactory

+
+No usage of org.jdbi.v3.core.mapper.EnumByNameMapperFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/EnumByOrdinalMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/EnumByOrdinalMapperFactory.html new file mode 100644 index 00000000000..01753f31578 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/EnumByOrdinalMapperFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.EnumByOrdinalMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.EnumByOrdinalMapperFactory

+
+No usage of org.jdbi.v3.core.mapper.EnumByOrdinalMapperFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/EnumMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/EnumMapper.html new file mode 100644 index 00000000000..6d74813a93c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/EnumMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.EnumMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.EnumMapper

+
+No usage of org.jdbi.v3.core.mapper.EnumMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/GenericMapMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/GenericMapMapperFactory.html new file mode 100644 index 00000000000..d6e5ea35e0a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/GenericMapMapperFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.GenericMapMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.GenericMapMapperFactory

+
+No usage of org.jdbi.v3.core.mapper.GenericMapMapperFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/GetObjectColumnMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/GetObjectColumnMapperFactory.html new file mode 100644 index 00000000000..73f7e573853 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/GetObjectColumnMapperFactory.html @@ -0,0 +1,89 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.GetObjectColumnMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.GetObjectColumnMapperFactory

+
+ +
+
Package
+
Description
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/JoinRow.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/JoinRow.html new file mode 100644 index 00000000000..b526555fd73 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/JoinRow.html @@ -0,0 +1,96 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.JoinRow (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.JoinRow

+
+
Packages that use JoinRow
+
+
Package
+
Description
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/JoinRowMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/JoinRowMapper.html new file mode 100644 index 00000000000..7041e2c0bc9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/JoinRowMapper.html @@ -0,0 +1,88 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.JoinRowMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.JoinRowMapper

+
+
Packages that use JoinRowMapper
+
+
Package
+
Description
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapEntryConfig.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapEntryConfig.html new file mode 100644 index 00000000000..0535e662229 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapEntryConfig.html @@ -0,0 +1,109 @@ + + + + +Uses of Interface org.jdbi.v3.core.mapper.MapEntryConfig (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.mapper.MapEntryConfig

+
+
Packages that use MapEntryConfig
+
+
Package
+
Description
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapEntryMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapEntryMapper.html new file mode 100644 index 00000000000..ad925bf007f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapEntryMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.MapEntryMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.MapEntryMapper

+
+No usage of org.jdbi.v3.core.mapper.MapEntryMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapEntryMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapEntryMappers.html new file mode 100644 index 00000000000..dc6eca53b19 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapEntryMappers.html @@ -0,0 +1,95 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.MapEntryMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.MapEntryMappers

+
+
Packages that use MapEntryMappers
+
+
Package
+
Description
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapMapper.html new file mode 100644 index 00000000000..0e9eaa5165c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.MapMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.MapMapper

+
+No usage of org.jdbi.v3.core.mapper.MapMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapMappers.html new file mode 100644 index 00000000000..65733550479 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MapMappers.html @@ -0,0 +1,90 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.MapMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.MapMappers

+
+
Packages that use MapMappers
+
+
Package
+
Description
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/Mappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/Mappers.html new file mode 100644 index 00000000000..cf75cac9a11 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/Mappers.html @@ -0,0 +1,85 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.Mappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.Mappers

+
+
Packages that use Mappers
+
+
Package
+
Description
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MappingException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MappingException.html new file mode 100644 index 00000000000..db6c9425954 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/MappingException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.MappingException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.MappingException

+
+No usage of org.jdbi.v3.core.mapper.MappingException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/Nested.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/Nested.html new file mode 100644 index 00000000000..2dd2bab14af --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/Nested.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.mapper.Nested (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.mapper.Nested

+
+No usage of org.jdbi.v3.core.mapper.Nested
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/NoSuchMapperException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/NoSuchMapperException.html new file mode 100644 index 00000000000..816e5b21711 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/NoSuchMapperException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.NoSuchMapperException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.NoSuchMapperException

+
+No usage of org.jdbi.v3.core.mapper.NoSuchMapperException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/PropagateNull.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/PropagateNull.html new file mode 100644 index 00000000000..5e872eedfa4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/PropagateNull.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.mapper.PropagateNull (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.mapper.PropagateNull

+
+No usage of org.jdbi.v3.core.mapper.PropagateNull
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/QualifiedColumnMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/QualifiedColumnMapperFactory.html new file mode 100644 index 00000000000..5d2d2a0dd8d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/QualifiedColumnMapperFactory.html @@ -0,0 +1,174 @@ + + + + +Uses of Interface org.jdbi.v3.core.mapper.QualifiedColumnMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.mapper.QualifiedColumnMapperFactory

+
+ +
+
Package
+
Description
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowMapper.html new file mode 100644 index 00000000000..ff60080be01 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowMapper.html @@ -0,0 +1,542 @@ + + + + +Uses of Interface org.jdbi.v3.core.mapper.RowMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.mapper.RowMapper

+
+
Packages that use RowMapper
+
+
Package
+
Description
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+ +
 
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
Google Guice integration.
+
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowMapperFactory.html new file mode 100644 index 00000000000..d4f174605b9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowMapperFactory.html @@ -0,0 +1,228 @@ + + + + +Uses of Interface org.jdbi.v3.core.mapper.RowMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.mapper.RowMapperFactory

+
+
Packages that use RowMapperFactory
+
+
Package
+
Description
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowMappers.html new file mode 100644 index 00000000000..92c41f547b8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowMappers.html @@ -0,0 +1,107 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.RowMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.RowMappers

+
+
Packages that use RowMappers
+
+
Package
+
Description
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowViewMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowViewMapper.html new file mode 100644 index 00000000000..84a8bf72280 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/RowViewMapper.html @@ -0,0 +1,92 @@ + + + + +Uses of Interface org.jdbi.v3.core.mapper.RowViewMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.mapper.RowViewMapper

+
+
Packages that use RowViewMapper
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/SingleColumnMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/SingleColumnMapper.html new file mode 100644 index 00000000000..cd9368992a5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/class-use/SingleColumnMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.SingleColumnMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.SingleColumnMapper

+
+No usage of org.jdbi.v3.core.mapper.SingleColumnMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/JdbiFreeBuilders.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/JdbiFreeBuilders.html new file mode 100644 index 00000000000..2eec90c06de --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/JdbiFreeBuilders.html @@ -0,0 +1,316 @@ + + + + +JdbiFreeBuilders (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiFreeBuilders

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.freebuilder.JdbiFreeBuilders
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<JdbiFreeBuilders>
+
+
+
@Beta +public class JdbiFreeBuilders +extends Object +implements JdbiConfig<JdbiFreeBuilders>
+
Configures support for an FreeBuilder generated Builder) value type.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JdbiFreeBuilders

      +
      +
      public JdbiFreeBuilders()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setRegistry

      +
      +
      public void setRegistry(ConfigRegistry registry)
      +
      Description copied from interface: JdbiConfig
      +
      The 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:
      +
      setRegistry in interface JdbiConfig<JdbiFreeBuilders>
      +
      Parameters:
      +
      registry - the registry that owns this configuration object
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public JdbiFreeBuilders createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<JdbiFreeBuilders>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    • +
      +

      registerFreeBuilder

      +
      +
      public <S> JdbiFreeBuilders registerFreeBuilder(Class<S> spec)
      +
      Register bean arguments and row mapping for a Freebuilder value 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(Class<?>... specs)
      +
      Convenience method for registering many freebuilder types.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      registerFreeBuilder

      +
      +
      public JdbiFreeBuilders registerFreeBuilder(Iterable<Class<?>> specs)
      +
      Convenience method for registering many freebuilder types.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      registerFreeBuilder

      +
      +
      public <S, +I extends S> JdbiFreeBuilders registerFreeBuilder(Class<S> spec, + Class<I> impl, + Supplier<?> builderConstructor)
      +
      Register bean arguments and row mapping for a FreeBuilder value class, using a supplied implementation and constructor.
      +
      +
      Type Parameters:
      +
      S - the specification class
      +
      I - the generated value class
      +
      Parameters:
      +
      spec - the specification interface or abstract class
      +
      impl - the generated value class
      +
      builderConstructor - a supplier of new Builder instances
      +
      Returns:
      +
      a plugin that configures type mapping for the given class
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/class-use/JdbiFreeBuilders.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/class-use/JdbiFreeBuilders.html new file mode 100644 index 00000000000..4416a6bbb6d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/class-use/JdbiFreeBuilders.html @@ -0,0 +1,105 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.freebuilder.JdbiFreeBuilders (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.freebuilder.JdbiFreeBuilders

+
+
Packages that use JdbiFreeBuilders
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/package-summary.html new file mode 100644 index 00000000000..8e3dc5f22df --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/package-summary.html @@ -0,0 +1,118 @@ + + + + +org.jdbi.v3.core.mapper.freebuilder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.mapper.freebuilder

+
+
+
+
package org.jdbi.v3.core.mapper.freebuilder
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/package-tree.html new file mode 100644 index 00000000000..02db52fd4b9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/package-tree.html @@ -0,0 +1,71 @@ + + + + +org.jdbi.v3.core.mapper.freebuilder Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.mapper.freebuilder

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/package-use.html new file mode 100644 index 00000000000..7fd2342bbb6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/freebuilder/package-use.html @@ -0,0 +1,81 @@ + + + + +Uses of Package org.jdbi.v3.core.mapper.freebuilder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.mapper.freebuilder

+
+ +
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/JdbiImmutables.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/JdbiImmutables.html new file mode 100644 index 00000000000..b9a3996fb29 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/JdbiImmutables.html @@ -0,0 +1,413 @@ + + + + +JdbiImmutables (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiImmutables

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.immutables.JdbiImmutables
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<JdbiImmutables>
+
+
+
@Beta +public class JdbiImmutables +extends Object +implements JdbiConfig<JdbiImmutables>
+
Configures support for an Immutables generated Immutable or Modifiable value type.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JdbiImmutables

      +
      +
      public JdbiImmutables()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setRegistry

      +
      +
      public void setRegistry(ConfigRegistry registry)
      +
      Description copied from interface: JdbiConfig
      +
      The 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:
      +
      setRegistry in interface JdbiConfig<JdbiImmutables>
      +
      Parameters:
      +
      registry - the registry that owns this configuration object
      +
      +
      +
      +
    • +
    • +
      +

      registerImmutable

      +
      +
      public <S> JdbiImmutables registerImmutable(Class<S> spec)
      +
      Register bean arguments and row mapping for an Immutable* value class, expecting the default generated class and builder names.
      +
      +
      Type Parameters:
      +
      S - the specification class
      +
      Parameters:
      +
      spec - the specification interface or abstract class
      +
      Returns:
      +
      a plugin that configures type mapping for the given class
      +
      +
      +
      +
    • +
    • +
      +

      registerImmutable

      +
      +
      public JdbiImmutables registerImmutable(Class<?>... specs)
      +
      Convenience method for registering many immutable types.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      registerImmutable

      +
      +
      public JdbiImmutables registerImmutable(Iterable<Class<?>> specs)
      +
      Convenience method for registering many immutable types.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      registerImmutable

      +
      +
      public <S, +I extends S> JdbiImmutables registerImmutable(Class<S> spec, + Class<I> impl, + Supplier<?> builder)
      +
      Register bean arguments and row mapping for an Immutable* value class, using a supplied implementation and builder.
      +
      +
      Type Parameters:
      +
      S - the specification class
      +
      I - the implementation class
      +
      Parameters:
      +
      spec - the specification interface or abstract class
      +
      impl - the generated implementation class
      +
      builder - a supplier of new Builder instances
      +
      Returns:
      +
      a plugin that configures type mapping for the given class
      +
      +
      +
      +
    • +
    • +
      +

      registerModifiable

      +
      +
      public JdbiImmutables registerModifiable(Class<?>... specs)
      +
      Convenience method for registering many modifiable types.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      registerModifiable

      +
      +
      public JdbiImmutables registerModifiable(Iterable<Class<?>> specs)
      +
      Convenience method for registering many modifiable types.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      registerModifiable

      +
      +
      public <S> JdbiImmutables registerModifiable(Class<S> spec)
      +
      Register bean arguments and row mapping for an Modifiable* value class, expecting the default generated class and public nullary constructor.
      +
      +
      Type Parameters:
      +
      S - the specification class
      +
      Parameters:
      +
      spec - the specification interface or abstract class
      +
      Returns:
      +
      a plugin that configures type mapping for the given class
      +
      +
      +
      +
    • +
    • +
      +

      registerModifiable

      +
      +
      public <S, +M extends S> JdbiImmutables registerModifiable(Class<S> spec, + Class<M> impl, + Supplier<?> constructor)
      +
      Register bean arguments and row mapping for an Modifiable* value class, using a supplied implementation and constructor.
      +
      +
      Type Parameters:
      +
      S - the specification class
      +
      M - the modifiable class
      +
      Parameters:
      +
      spec - the specification interface or abstract class
      +
      impl - the modifiable class
      +
      constructor - a supplier of new Modifiable instances
      +
      Returns:
      +
      a plugin that configures type mapping for the given class
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public JdbiImmutables createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<JdbiImmutables>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/class-use/JdbiImmutables.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/class-use/JdbiImmutables.html new file mode 100644 index 00000000000..7e466672790 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/class-use/JdbiImmutables.html @@ -0,0 +1,128 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.immutables.JdbiImmutables (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.immutables.JdbiImmutables

+
+
Packages that use JdbiImmutables
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/package-summary.html new file mode 100644 index 00000000000..0f606c081cb --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/package-summary.html @@ -0,0 +1,118 @@ + + + + +org.jdbi.v3.core.mapper.immutables (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.mapper.immutables

+
+
+
+
package org.jdbi.v3.core.mapper.immutables
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/package-tree.html new file mode 100644 index 00000000000..7aa7fa902d9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/package-tree.html @@ -0,0 +1,71 @@ + + + + +org.jdbi.v3.core.mapper.immutables Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.mapper.immutables

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/package-use.html new file mode 100644 index 00000000000..b251603456a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/immutables/package-use.html @@ -0,0 +1,81 @@ + + + + +Uses of Package org.jdbi.v3.core.mapper.immutables (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.mapper.immutables

+
+ +
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/package-summary.html new file mode 100644 index 00000000000..efa527755ce --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/package-summary.html @@ -0,0 +1,240 @@ + + + + +org.jdbi.v3.core.mapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.mapper

+
+
+
+
package org.jdbi.v3.core.mapper
+
+

+ mappers take the JDBC ResultSet and produce Java results. + ColumnMappers inspect a single result column, and RowMappers inspect the + entire result row to build a compound type. Mappers are composeable and + often will feed results into the collector package to produce + the end result. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/package-tree.html new file mode 100644 index 00000000000..a88c2c176b0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/package-tree.html @@ -0,0 +1,140 @@ + + + + +org.jdbi.v3.core.mapper Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.mapper

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+

Enum Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/package-use.html new file mode 100644 index 00000000000..dad3b446db1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/package-use.html @@ -0,0 +1,422 @@ + + + + +Uses of Package org.jdbi.v3.core.mapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.mapper

+
+
Packages that use org.jdbi.v3.core.mapper
+
+
Package
+
Description
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+ +
 
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
 
+ +
+
Google Guice integration.
+
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/AbstractSeparatorCharColumnNameMatcher.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/AbstractSeparatorCharColumnNameMatcher.html new file mode 100644 index 00000000000..0b27f23409a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/AbstractSeparatorCharColumnNameMatcher.html @@ -0,0 +1,205 @@ + + + + +AbstractSeparatorCharColumnNameMatcher (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AbstractSeparatorCharColumnNameMatcher

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.reflect.AbstractSeparatorCharColumnNameMatcher
+
+
+
+
+
All Implemented Interfaces:
+
ColumnNameMatcher
+
+
+
Direct Known Subclasses:
+
SnakeCaseColumnNameMatcher
+
+
+
public abstract class AbstractSeparatorCharColumnNameMatcher +extends Object +implements ColumnNameMatcher
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      columnNameMatches

      +
      +
      public boolean columnNameMatches(String columnName, + String propertyName)
      +
      Description copied from interface: ColumnNameMatcher
      +
      Returns whether the column name fits the given Java identifier name.
      +
      +
      Specified by:
      +
      columnNameMatches in interface ColumnNameMatcher
      +
      Parameters:
      +
      columnName - the SQL column name
      +
      propertyName - the Java property, field, or parameter name
      +
      Returns:
      +
      whether the given names are logically equivalent
      +
      +
      +
      +
    • +
    • +
      +

      columnNameStartsWith

      +
      +
      public boolean columnNameStartsWith(String columnName, + String prefix)
      +
      Description copied from interface: ColumnNameMatcher
      +
      Return whether the column name starts with the given prefix, according to the matching strategy of this + ColumnNameMatcher. This method is used by reflective mappers to short-circuit nested mapping when no + column names begin with the nested prefix. + + By default, this method returns columnName.startWith(prefix). Third party implementations should override + this method to match prefixes by the same criteria as ColumnNameMatcher.columnNameMatches(String, String).
      +
      +
      Specified by:
      +
      columnNameStartsWith in interface ColumnNameMatcher
      +
      Parameters:
      +
      columnName - the column name to test
      +
      prefix - the prefix to test for
      +
      Returns:
      +
      whether the column name begins with the prefix.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/AccessibleObjectStrategy.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/AccessibleObjectStrategy.html new file mode 100644 index 00000000000..a4e1c214c96 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/AccessibleObjectStrategy.html @@ -0,0 +1,246 @@ + + + + +AccessibleObjectStrategy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum AccessibleObjectStrategy

+
+
java.lang.Object +
java.lang.Enum<AccessibleObjectStrategy> +
org.jdbi.v3.core.mapper.reflect.AccessibleObjectStrategy
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<AccessibleObjectStrategy>, Consumer<AccessibleObject>
+
+
+
@Alpha +public enum AccessibleObjectStrategy +extends Enum<AccessibleObjectStrategy> +implements Consumer<AccessibleObject>
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      FORCE_MAKE_ACCESSIBLE

      +
      +
      public static final AccessibleObjectStrategy FORCE_MAKE_ACCESSIBLE
      +
      Force non-public methods and constructors to be accessible. Doing this + has been discouraged since Java 9 and will be removed in a future Java + version. While this is the current default behavior of Jdbi, it will + change in the near future due to these changes in the Java platform.
      +
      +
      +
    • +
    • +
      +

      DO_NOT_MAKE_ACCESSIBLE

      +
      +
      public static final AccessibleObjectStrategy DO_NOT_MAKE_ACCESSIBLE
      +
      Do not make non-public methods and constructors accessible.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static AccessibleObjectStrategy[] values()
      +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum type, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static AccessibleObjectStrategy valueOf(String name)
      +
      Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum type has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/BeanMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/BeanMapper.html new file mode 100644 index 00000000000..91d6090af74 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/BeanMapper.html @@ -0,0 +1,247 @@ + + + + +BeanMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BeanMapper<T>

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.reflect.internal.PojoMapper<T> +
org.jdbi.v3.core.mapper.reflect.BeanMapper<T>
+
+
+
+
+
+
All Implemented Interfaces:
+
RowMapper<T>
+
+
+
public final class BeanMapper<T> +extends org.jdbi.v3.core.mapper.reflect.internal.PojoMapper<T>
+
A row mapper which maps the columns in a statement into a JavaBean. The default + implementation will perform a case insensitive mapping between the bean property + names and the column labels, also considering camel-case to underscores conversion. + This uses the JDK's built in bean mapping facilities, so it does not support nested + properties. + + The mapped class must have a default constructor.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      factory

      +
      +
      public static RowMapperFactory factory(Class<?> type)
      +
      Returns a mapper factory that maps to the given bean class
      +
      +
      Parameters:
      +
      type - the mapped class
      +
      Returns:
      +
      a mapper factory that maps to the given bean class
      +
      +
      +
      +
    • +
    • +
      +

      factory

      +
      +
      public static RowMapperFactory factory(Class<?> type, + String prefix)
      +
      Returns a mapper factory that maps to the given bean class
      +
      +
      Parameters:
      +
      type - the mapped class
      +
      prefix - the column name prefix for each mapped bean property
      +
      Returns:
      +
      a mapper factory that maps to the given bean class
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static <T> RowMapper<T> of(Class<T> type)
      +
      Returns a mapper for the given bean class
      +
      +
      Type Parameters:
      +
      T - the type to find the mapper for
      +
      Parameters:
      +
      type - the mapped class
      +
      Returns:
      +
      a mapper for the given bean class
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static <T> RowMapper<T> of(Class<T> type, + String prefix)
      +
      Returns a mapper for the given bean class
      +
      +
      Type Parameters:
      +
      T - the type to find the mapper for
      +
      Parameters:
      +
      type - the mapped class
      +
      prefix - the column name prefix for each mapped bean property
      +
      Returns:
      +
      a mapper for the given bean class
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/CaseInsensitiveColumnNameMatcher.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/CaseInsensitiveColumnNameMatcher.html new file mode 100644 index 00000000000..ec027abf1b4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/CaseInsensitiveColumnNameMatcher.html @@ -0,0 +1,248 @@ + + + + +CaseInsensitiveColumnNameMatcher (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CaseInsensitiveColumnNameMatcher

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.reflect.CaseInsensitiveColumnNameMatcher
+
+
+
+
+
All Implemented Interfaces:
+
ColumnNameMatcher
+
+
+
public final class CaseInsensitiveColumnNameMatcher +extends Object +implements ColumnNameMatcher
+
Matches column names with identical java names, ignoring case. +

+ Example: column names firstname or FIRSTNAME would match java name firstName.

+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CaseInsensitiveColumnNameMatcher

      +
      +
      public CaseInsensitiveColumnNameMatcher()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      columnNameMatches

      +
      +
      public boolean columnNameMatches(String columnName, + String propertyName)
      +
      Description copied from interface: ColumnNameMatcher
      +
      Returns whether the column name fits the given Java identifier name.
      +
      +
      Specified by:
      +
      columnNameMatches in interface ColumnNameMatcher
      +
      Parameters:
      +
      columnName - the SQL column name
      +
      propertyName - the Java property, field, or parameter name
      +
      Returns:
      +
      whether the given names are logically equivalent
      +
      +
      +
      +
    • +
    • +
      +

      columnNameStartsWith

      +
      +
      public boolean columnNameStartsWith(String columnName, + String prefix)
      +
      Description copied from interface: ColumnNameMatcher
      +
      Return whether the column name starts with the given prefix, according to the matching strategy of this + ColumnNameMatcher. This method is used by reflective mappers to short-circuit nested mapping when no + column names begin with the nested prefix. + + By default, this method returns columnName.startWith(prefix). Third party implementations should override + this method to match prefixes by the same criteria as ColumnNameMatcher.columnNameMatches(String, String).
      +
      +
      Specified by:
      +
      columnNameStartsWith in interface ColumnNameMatcher
      +
      Parameters:
      +
      columnName - the column name to test
      +
      prefix - the prefix to test for
      +
      Returns:
      +
      whether the column name begins with the prefix.
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ColumnName.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ColumnName.html new file mode 100644 index 00000000000..7000c5487af --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ColumnName.html @@ -0,0 +1,147 @@ + + + + +ColumnName (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type ColumnName

+
+
+
+
+
@Retention(RUNTIME) +@Target({PARAMETER,FIELD,METHOD}) +public @interface ColumnName
+
Specify the mapping name for a property or parameter explicitly. This annotation is respected by: + + + + Note that for beans (e.g. bindBean()), + this annotation only applies to mapping, not parameter binding. Refer to such parameters by + the property name (:firstName), not the column name (:first_name).
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ColumnNameMatcher.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ColumnNameMatcher.html new file mode 100644 index 00000000000..f2fbe98eb10 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ColumnNameMatcher.html @@ -0,0 +1,190 @@ + + + + +ColumnNameMatcher (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ColumnNameMatcher

+
+
+
+
+
All Known Implementing Classes:
+
AbstractSeparatorCharColumnNameMatcher, CaseInsensitiveColumnNameMatcher, SnakeCaseColumnNameMatcher
+
+
+
public interface ColumnNameMatcher
+
Strategy for matching SQL column names to Java property, field, or parameter names.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    boolean
    +
    columnNameMatches(String columnName, + String javaName)
    +
    +
    Returns whether the column name fits the given Java identifier name.
    +
    +
    default boolean
    +
    columnNameStartsWith(String columnName, + String prefix)
    +
    +
    Return whether the column name starts with the given prefix, according to the matching strategy of this + ColumnNameMatcher.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      columnNameMatches

      +
      +
      boolean columnNameMatches(String columnName, + String javaName)
      +
      Returns whether the column name fits the given Java identifier name.
      +
      +
      Parameters:
      +
      columnName - the SQL column name
      +
      javaName - the Java property, field, or parameter name
      +
      Returns:
      +
      whether the given names are logically equivalent
      +
      +
      +
      +
    • +
    • +
      +

      columnNameStartsWith

      +
      +
      default boolean columnNameStartsWith(String columnName, + String prefix)
      +
      Return whether the column name starts with the given prefix, according to the matching strategy of this + ColumnNameMatcher. This method is used by reflective mappers to short-circuit nested mapping when no + column names begin with the nested prefix. + + By default, this method returns columnName.startWith(prefix). Third party implementations should override + this method to match prefixes by the same criteria as columnNameMatches(String, String).
      +
      +
      Parameters:
      +
      columnName - the column name to test
      +
      prefix - the prefix to test for
      +
      Returns:
      +
      whether the column name begins with the prefix.
      +
      Since:
      +
      3.5.0
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ConstructorMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ConstructorMapper.html new file mode 100644 index 00000000000..225ce8145ec --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ConstructorMapper.html @@ -0,0 +1,405 @@ + + + + +ConstructorMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ConstructorMapper<T>

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.reflect.ConstructorMapper<T>
+
+
+
+
+
All Implemented Interfaces:
+
RowMapper<T>
+
+
+
public final class ConstructorMapper<T> +extends Object +implements RowMapper<T>
+
A row mapper which maps the fields in a result set into a constructor. The default implementation will perform a case insensitive mapping between the + constructor parameter names and the column labels, also considering camel-case to underscores conversion. +

+ This mapper respects Nested annotations on constructor parameters. +

+ Constructor parameters annotated as @Nullable may be omitted from the result set without error. Any annotation named "Nullable" can be used, no + matter which package it is from.

+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      factory

      +
      +
      public static RowMapperFactory factory(Class<?> clazz)
      +
      Use the only declared constructor to map a class.
      +
      +
      Parameters:
      +
      clazz - the class to find a constructor of
      +
      Returns:
      +
      the factory
      +
      +
      +
      +
    • +
    • +
      +

      factory

      +
      +
      public static RowMapperFactory factory(Class<?> clazz, + String prefix)
      +
      Use the only declared constructor to map a class.
      +
      +
      Parameters:
      +
      clazz - the class to find a constructor of
      +
      prefix - a prefix for the parameter names
      +
      Returns:
      +
      the factory
      +
      +
      +
      +
    • +
    • +
      +

      factory

      +
      +
      public static RowMapperFactory factory(Constructor<?> constructor)
      +
      Use a Constructor<T> to map its declaring type.
      +
      +
      Parameters:
      +
      constructor - the constructor to invoke
      +
      Returns:
      +
      the factory
      +
      +
      +
      +
    • +
    • +
      +

      factory

      +
      +
      public static RowMapperFactory factory(Constructor<?> constructor, + String prefix)
      +
      Use a Constructor<T> to map its declaring type.
      +
      +
      Parameters:
      +
      constructor - the constructor to invoke
      +
      prefix - a prefix to the constructor parameter names
      +
      Returns:
      +
      the factory
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static <T> RowMapper<T> of(Class<T> type)
      +
      Return a ConstructorMapper for the given type.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      type - the mapped type
      +
      Returns:
      +
      the mapper
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static <T> RowMapper<T> of(Class<T> type, + String prefix)
      +
      Return a ConstructorMapper for the given type and prefix.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      type - the mapped type
      +
      prefix - the column name prefix
      +
      Returns:
      +
      the mapper
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static <T> RowMapper<T> of(Constructor<T> constructor)
      +
      Return a ConstructorMapper using the given constructor
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      constructor - the constructor to be used in mapping
      +
      Returns:
      +
      the mapper
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static <T> RowMapper<T> of(Constructor<T> constructor, + String prefix)
      +
      Instantiate a ConstructorMapper using the given constructor and prefix
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      constructor - the constructor to be used in mapping
      +
      prefix - the column name prefix
      +
      Returns:
      +
      the mapper
      +
      +
      +
      +
    • +
    • +
      +

      map

      +
      +
      public T map(ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Map the current row of the result set. + This method should not cause the result set to advance; allow Jdbi to do that, please.
      +
      +
      Specified by:
      +
      map in interface RowMapper<T>
      +
      Parameters:
      +
      rs - the result set being iterated
      +
      ctx - the statement context
      +
      Returns:
      +
      the value to produce for this row
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      +
      +
      +
    • +
    • +
      +

      specialize

      +
      +
      public RowMapper<T> specialize(ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Returns a specialized row mapper, optimized for the given result set. +

      + Before mapping the result set from a SQL statement; Jdbi will first call this method to obtain a specialized + instance. The returned mapper will then be used to map the result set rows, and discarded. +

      + Implementing this method is optional; the default implementation returns this. Implementors might choose + to override this method to improve performance, e.g. by matching up column names to properties once for the + entire result set, rather than repeating the process for every row.

      +
      +
      Specified by:
      +
      specialize in interface RowMapper<T>
      +
      Parameters:
      +
      rs - the result set to specialize over
      +
      ctx - the statement context to specialize over
      +
      Returns:
      +
      a row mapper equivalent to this one, possibly specialized.
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/FieldMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/FieldMapper.html new file mode 100644 index 00000000000..4c44fa9af0d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/FieldMapper.html @@ -0,0 +1,324 @@ + + + + +FieldMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FieldMapper<T>

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.reflect.FieldMapper<T>
+
+
+
+
+
All Implemented Interfaces:
+
RowMapper<T>
+
+
+
public final class FieldMapper<T> +extends Object +implements RowMapper<T>
+
A row mapper which maps the columns in a statement into an object, using reflection + to set fields on the object. All declared fields of the class and its superclasses + may be set. Nested properties are supported via the Nested annotation. + + The mapped class must have a default constructor.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      factory

      +
      +
      public static RowMapperFactory factory(Class<?> type)
      +
      Returns a mapper factory that maps to the given bean class
      +
      +
      Parameters:
      +
      type - the mapped class
      +
      Returns:
      +
      a mapper factory that maps to the given bean class
      +
      +
      +
      +
    • +
    • +
      +

      factory

      +
      +
      public static RowMapperFactory factory(Class<?> type, + String prefix)
      +
      Returns a mapper factory that maps to the given bean class
      +
      +
      Parameters:
      +
      type - the mapped class
      +
      prefix - the column name prefix for each mapped field
      +
      Returns:
      +
      a mapper factory that maps to the given bean class
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static <T> RowMapper<T> of(Class<T> type)
      +
      Returns a mapper for the given bean class
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      type - the mapped class
      +
      Returns:
      +
      a mapper for the given bean class
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static <T> RowMapper<T> of(Class<T> type, + String prefix)
      +
      Returns a mapper for the given bean class
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      type - the mapped class
      +
      prefix - the column name prefix for each mapped field
      +
      Returns:
      +
      a mapper for the given bean class
      +
      +
      +
      +
    • +
    • +
      +

      map

      +
      +
      public T map(ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Map the current row of the result set. + This method should not cause the result set to advance; allow Jdbi to do that, please.
      +
      +
      Specified by:
      +
      map in interface RowMapper<T>
      +
      Parameters:
      +
      rs - the result set being iterated
      +
      ctx - the statement context
      +
      Returns:
      +
      the value to produce for this row
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      +
      +
      +
    • +
    • +
      +

      specialize

      +
      +
      public RowMapper<T> specialize(ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Returns a specialized row mapper, optimized for the given result set. +

      + Before mapping the result set from a SQL statement; Jdbi will first call this method to obtain a specialized + instance. The returned mapper will then be used to map the result set rows, and discarded. +

      + Implementing this method is optional; the default implementation returns this. Implementors might choose + to override this method to improve performance, e.g. by matching up column names to properties once for the + entire result set, rather than repeating the process for every row.

      +
      +
      Specified by:
      +
      specialize in interface RowMapper<T>
      +
      Parameters:
      +
      rs - the result set to specialize over
      +
      ctx - the statement context to specialize over
      +
      Returns:
      +
      a row mapper equivalent to this one, possibly specialized.
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      checkPropagateNullAnnotation

      +
      +
      public static boolean checkPropagateNullAnnotation(Field field)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/JdbiConstructor.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/JdbiConstructor.html new file mode 100644 index 00000000000..504160b69ff --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/JdbiConstructor.html @@ -0,0 +1,101 @@ + + + + +JdbiConstructor (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type JdbiConstructor

+
+
+
+
+
@Retention(RUNTIME) +@Target({CONSTRUCTOR,METHOD}) +public @interface JdbiConstructor
+
Indicate to ConstructorMapper and other reflective mappers + how to construct an instance. The annotation can be placed on a constructor + or static factory method.
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/JdbiConstructors.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/JdbiConstructors.html new file mode 100644 index 00000000000..7e3cbde6949 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/JdbiConstructors.html @@ -0,0 +1,162 @@ + + + + +JdbiConstructors (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiConstructors

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.reflect.JdbiConstructors
+
+
+
+
+
public class JdbiConstructors +extends Object
+
Utilities for JdbiConstructor annotation.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      findConstructorFor

      +
      +
      public static <T> Constructor<T> findConstructorFor(Class<T> type)
      +
      Find an invokable constructor. Prefer an JdbiConstructor annotated + one if present. Throws if multiple or zero candidates are found.
      +
      +
      Type Parameters:
      +
      T - the type to inspect
      +
      Parameters:
      +
      type - the type to inspect
      +
      Returns:
      +
      the preferred constructor
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ReflectionMapperUtil.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ReflectionMapperUtil.html new file mode 100644 index 00000000000..4bcaa2f6332 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ReflectionMapperUtil.html @@ -0,0 +1,293 @@ + + + + +ReflectionMapperUtil (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReflectionMapperUtil

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.reflect.ReflectionMapperUtil
+
+
+
+
+
public final class ReflectionMapperUtil +extends Object
+
Utilities for reflective mappers. This is an internal helper class that should have been package private but as the mappers are spread across the reflect and + reflect.internal package, they are not. Any method in here may change at any time.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ReflectionMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ReflectionMappers.html new file mode 100644 index 00000000000..f38d7dd6529 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/ReflectionMappers.html @@ -0,0 +1,389 @@ + + + + +ReflectionMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReflectionMappers

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.reflect.ReflectionMappers
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<ReflectionMappers>
+
+
+
public class ReflectionMappers +extends Object +implements JdbiConfig<ReflectionMappers>
+
Configuration class for reflective mappers.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ReflectionMappers

      +
      +
      public ReflectionMappers()
      +
      Create a default configuration that attempts case insensitive and + snake_case matching for names.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getColumnNameMatchers

      +
      +
      public List<ColumnNameMatcher> getColumnNameMatchers()
      +
      Returns the registered column name mappers.
      +
      +
      Returns:
      +
      the registered column name mappers.
      +
      +
      +
      +
    • +
    • +
      +

      setColumnNameMatchers

      +
      +
      public ReflectionMappers setColumnNameMatchers(List<ColumnNameMatcher> columnNameMatchers)
      +
      Replace all column name matchers with the given list.
      +
      +
      Parameters:
      +
      columnNameMatchers - the column name matchers to use
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      isStrictMatching

      +
      +
      public boolean isStrictMatching()
      +
      Returns whether strict column name matching is enabled.
      +
      +
      Returns:
      +
      True if strict column name matching is enabled.
      +
      +
      +
      +
    • +
    • +
      +

      setStrictMatching

      +
      +
      public ReflectionMappers setStrictMatching(boolean strictMatching)
      +
      Throw an IllegalArgumentException if a the set of fields doesn't + match to columns exactly. + + Reflection mappers with prefixes will only check those columns that + begin with the mapper's prefix.
      +
      +
      Parameters:
      +
      strictMatching - whether to enable strict matching
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getCaseChange

      +
      +
      public UnaryOperator<String> getCaseChange()
      +
      Case change strategy for the database column names. By default, the row names are lowercased using the system locale.
      +
      +
      Returns:
      +
      The current case change strategy.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      setCaseChange

      +
      +
      public ReflectionMappers setCaseChange(UnaryOperator<String> caseChange)
      +
      Sets the case change strategy for the database column names. By default, the row names are lowercased using the system locale.
      +
      +
      Parameters:
      +
      caseChange - The strategy to use. Must not be null.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      setAccessibleObjectStrategy

      +
      +
      @Alpha +public ReflectionMappers setAccessibleObjectStrategy(Consumer<AccessibleObject> makeAccessible)
      +
      Set the strategy Jdbi uses for Java accessibility rules. + The legacy default is to call setAccessible(true) in certain cases when we try to use a Constructor, Method, or Field. + In the future, this default will be changed to a no-op, to better interact with the Java module system.
      +
      +
      Parameters:
      +
      makeAccessible - A Consumer instance that implements the strategy.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      disableAccessibleObjectStrategy

      +
      +
      @Alpha +public ReflectionMappers disableAccessibleObjectStrategy()
      +
      Set the strategy Jdbi uses for Java accessibility rules to a no-op.
      +
      +
      +
    • +
    • +
      +

      makeAccessible

      +
      +
      @Alpha +public <T extends AccessibleObject> T makeAccessible(T accessibleObject)
      +
      Use the accessibility strategy to potentially make a reflective operation accessible.
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public ReflectionMappers createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<ReflectionMappers>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/SnakeCaseColumnNameMatcher.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/SnakeCaseColumnNameMatcher.html new file mode 100644 index 00000000000..ef068468258 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/SnakeCaseColumnNameMatcher.html @@ -0,0 +1,195 @@ + + + + +SnakeCaseColumnNameMatcher (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SnakeCaseColumnNameMatcher

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.reflect.AbstractSeparatorCharColumnNameMatcher +
org.jdbi.v3.core.mapper.reflect.SnakeCaseColumnNameMatcher
+
+
+
+
+
+
All Implemented Interfaces:
+
ColumnNameMatcher
+
+
+
public class SnakeCaseColumnNameMatcher +extends AbstractSeparatorCharColumnNameMatcher
+
Matches snake case column names to java camel case names, ignoring case. This matcher is prefix aware and will + try multiple strategies to match a case name to a java name. Java names can be prefixed and separated with "." +

+ foo_bar_baz can be mapped to fooBarBaz, foo.barBaz or foo.bar.baz

+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SnakeCaseColumnNameMatcher

      +
      +
      public SnakeCaseColumnNameMatcher()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/AbstractSeparatorCharColumnNameMatcher.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/AbstractSeparatorCharColumnNameMatcher.html new file mode 100644 index 00000000000..e9652a13c59 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/AbstractSeparatorCharColumnNameMatcher.html @@ -0,0 +1,89 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.reflect.AbstractSeparatorCharColumnNameMatcher (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.reflect.AbstractSeparatorCharColumnNameMatcher

+
+ +
+
Package
+
Description
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/AccessibleObjectStrategy.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/AccessibleObjectStrategy.html new file mode 100644 index 00000000000..4962c07859d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/AccessibleObjectStrategy.html @@ -0,0 +1,95 @@ + + + + +Uses of Enum org.jdbi.v3.core.mapper.reflect.AccessibleObjectStrategy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum
org.jdbi.v3.core.mapper.reflect.AccessibleObjectStrategy

+
+
Packages that use AccessibleObjectStrategy
+
+
Package
+
Description
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/BeanMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/BeanMapper.html new file mode 100644 index 00000000000..507e2e76c38 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/BeanMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.reflect.BeanMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.reflect.BeanMapper

+
+No usage of org.jdbi.v3.core.mapper.reflect.BeanMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/CaseInsensitiveColumnNameMatcher.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/CaseInsensitiveColumnNameMatcher.html new file mode 100644 index 00000000000..0fbbd1ed075 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/CaseInsensitiveColumnNameMatcher.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.reflect.CaseInsensitiveColumnNameMatcher (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.reflect.CaseInsensitiveColumnNameMatcher

+
+No usage of org.jdbi.v3.core.mapper.reflect.CaseInsensitiveColumnNameMatcher
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ColumnName.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ColumnName.html new file mode 100644 index 00000000000..7d77038bc94 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ColumnName.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.mapper.reflect.ColumnName (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.mapper.reflect.ColumnName

+
+No usage of org.jdbi.v3.core.mapper.reflect.ColumnName
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ColumnNameMatcher.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ColumnNameMatcher.html new file mode 100644 index 00000000000..d17ad0968b7 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ColumnNameMatcher.html @@ -0,0 +1,127 @@ + + + + +Uses of Interface org.jdbi.v3.core.mapper.reflect.ColumnNameMatcher (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.mapper.reflect.ColumnNameMatcher

+
+
Packages that use ColumnNameMatcher
+
+
Package
+
Description
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ConstructorMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ConstructorMapper.html new file mode 100644 index 00000000000..ba39355229f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ConstructorMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.reflect.ConstructorMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.reflect.ConstructorMapper

+
+No usage of org.jdbi.v3.core.mapper.reflect.ConstructorMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/FieldMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/FieldMapper.html new file mode 100644 index 00000000000..54556581cfe --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/FieldMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.reflect.FieldMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.reflect.FieldMapper

+
+No usage of org.jdbi.v3.core.mapper.reflect.FieldMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/JdbiConstructor.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/JdbiConstructor.html new file mode 100644 index 00000000000..931605a1a82 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/JdbiConstructor.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.mapper.reflect.JdbiConstructor (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.mapper.reflect.JdbiConstructor

+
+No usage of org.jdbi.v3.core.mapper.reflect.JdbiConstructor
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/JdbiConstructors.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/JdbiConstructors.html new file mode 100644 index 00000000000..6c2dc0b3552 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/JdbiConstructors.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.reflect.JdbiConstructors (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.reflect.JdbiConstructors

+
+No usage of org.jdbi.v3.core.mapper.reflect.JdbiConstructors
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ReflectionMapperUtil.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ReflectionMapperUtil.html new file mode 100644 index 00000000000..176966ef602 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ReflectionMapperUtil.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.reflect.ReflectionMapperUtil (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.reflect.ReflectionMapperUtil

+
+No usage of org.jdbi.v3.core.mapper.reflect.ReflectionMapperUtil
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ReflectionMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ReflectionMappers.html new file mode 100644 index 00000000000..96ccc50402d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/ReflectionMappers.html @@ -0,0 +1,113 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.reflect.ReflectionMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.reflect.ReflectionMappers

+
+
Packages that use ReflectionMappers
+
+
Package
+
Description
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/SnakeCaseColumnNameMatcher.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/SnakeCaseColumnNameMatcher.html new file mode 100644 index 00000000000..36657c39d0a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/class-use/SnakeCaseColumnNameMatcher.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.mapper.reflect.SnakeCaseColumnNameMatcher (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.mapper.reflect.SnakeCaseColumnNameMatcher

+
+No usage of org.jdbi.v3.core.mapper.reflect.SnakeCaseColumnNameMatcher
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/package-summary.html new file mode 100644 index 00000000000..c30da13364c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/package-summary.html @@ -0,0 +1,168 @@ + + + + +org.jdbi.v3.core.mapper.reflect (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.mapper.reflect

+
+
+
+
package org.jdbi.v3.core.mapper.reflect
+
+

+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/package-tree.html new file mode 100644 index 00000000000..916b887161c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/package-tree.html @@ -0,0 +1,113 @@ + + + + +org.jdbi.v3.core.mapper.reflect Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.mapper.reflect

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+

Enum Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/package-use.html new file mode 100644 index 00000000000..86e9cb221e8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/mapper/reflect/package-use.html @@ -0,0 +1,94 @@ + + + + +Uses of Package org.jdbi.v3.core.mapper.reflect (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.mapper.reflect

+
+ +
+
Package
+
Description
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/package-summary.html new file mode 100644 index 00000000000..c321ca402a6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/package-summary.html @@ -0,0 +1,261 @@ + + + + +org.jdbi.v3.core (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core

+
+
+
+
package org.jdbi.v3.core
+
+

+ The 'core' package hosts the top level interface into jdbi core. + Jdbi takes a JDBC DataSource or equivalent and provides a configurable + fluent interface. It provides the Handle type for executing JDBC + operations and transforming the returned result sets into reasonable Java + types. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/package-tree.html new file mode 100644 index 00000000000..346c027b5e4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/package-tree.html @@ -0,0 +1,103 @@ + + + + +org.jdbi.v3.core Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/package-use.html new file mode 100644 index 00000000000..febc20be88b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/package-use.html @@ -0,0 +1,705 @@ + + + + +Uses of Package org.jdbi.v3.core (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core

+
+
Packages that use org.jdbi.v3.core
+
+
Package
+
Description
+ +
+
Cache implementation using the Caffeine cache library.
+
+ +
+
A non-caching cache implementation.
+
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
 
+ +
+
+ The collector package reduces the mapped rows of the result set + into a Stream Collector to produce the final aggregated result.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
+
+ The h2 package adds vendor support for the H2 embeddable pure Java database implementation.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The spi package includes entrypoints to extending Jdbi + instances with your own custom functionality.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+ +
 
+ +
+
+ guava provides extra types that are commonly needed beyond built + in JDK types.
+
+ +
+
Google Guice integration.
+
+ +
 
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
 
+ +
 
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ Classes here provide integration hooks for working with the Spring framework.
+
+ +
+
+ The sqlite plugin provides improved support for + java.net.URL.
+
+ +
+
SQL Objects
+
+ +
+
JUnit 4 testing support.
+
+ +
+
JUnit 5 testing support.
+
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/NVarchar.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/NVarchar.html new file mode 100644 index 00000000000..5b079b5684e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/NVarchar.html @@ -0,0 +1,100 @@ + + + + +NVarchar (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type NVarchar

+
+
+
+
+
@Retention(RUNTIME) +@Target({FIELD,METHOD,PARAMETER,TYPE}) +public @interface NVarchar
+
Argument qualifier annotation, indicating that the annotated String element should be bound as an + NVARCHAR instead of a VARCHAR.
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/QualifiedType.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/QualifiedType.html new file mode 100644 index 00000000000..5fd4050f5f6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/QualifiedType.html @@ -0,0 +1,454 @@ + + + + +QualifiedType (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class QualifiedType<T>

+
+
java.lang.Object +
org.jdbi.v3.core.qualifier.QualifiedType<T>
+
+
+
+
+
Type Parameters:
+
T - the type that is qualified
+
+
+
public final class QualifiedType<T> +extends Object
+
A Type qualified by a set of qualifier annotations. Two qualified types are equal to each other + if their getType() and getQualifiers() properties are equal.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      of

      +
      +
      public static <T> QualifiedType<T> of(Class<T> clazz)
      +
      Creates a QualifiedType<T> for a Class<T> with no qualifiers.
      +
      +
      Parameters:
      +
      clazz - the unqualified type
      +
      Returns:
      +
      the unqualified QualifiedType
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static QualifiedType<?> of(Type type)
      +
      Creates a wildcard QualifiedType<?> for a Type with no qualifiers.
      +
      +
      Parameters:
      +
      type - the unqualified type
      +
      Returns:
      +
      the unqualified QualifiedType
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static <T> QualifiedType<T> of(GenericType<T> type)
      +
      Creates a QualifiedType<T> for a GenericType<T> with no qualifiers.
      +
      +
      Parameters:
      +
      type - the unqualified type
      +
      Returns:
      +
      the unqualified QualifiedType
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      with

      +
      +
      public QualifiedType<T> with(Annotation... newQualifiers)
      +
      Returns a QualifiedType that has the same type as this instance, but with only the given qualifiers.
      +
      +
      Parameters:
      +
      newQualifiers - the qualifiers for the new qualified type.
      +
      Returns:
      +
      the QualifiedType
      +
      +
      +
      +
    • +
    • +
      +

      with

      +
      +
      @SafeVarargs +public final QualifiedType<T> with(Class<? extends Annotation>... newQualifiers)
      +
      Returns a QualifiedType that has the same type as this instance, but with only the given qualifiers.
      +
      +
      Parameters:
      +
      newQualifiers - the qualifiers for the new qualified type.
      +
      Returns:
      +
      the QualifiedType
      +
      Throws:
      +
      IllegalArgumentException - if any of the given qualifier types have annotation attributes.
      +
      +
      +
      +
    • +
    • +
      +

      withAnnotations

      +
      +
      public QualifiedType<T> withAnnotations(Iterable<? extends Annotation> newQualifiers)
      +
      Creates a QualifiedType with the same type as this instance and new qualifiers. Old qualifiers are discarded.
      +
      +
      Parameters:
      +
      newQualifiers - the qualifiers for the new qualified type.
      +
      Returns:
      +
      a QualifiedType that has the same type as this instance, but with only the given qualifiers.
      +
      +
      +
      +
    • +
    • +
      +

      withAnnotationClasses

      +
      +
      public QualifiedType<T> withAnnotationClasses(Iterable<Class<? extends Annotation>> newQualifiers)
      +
      Creates a QualifiedType with the same type as this instance and new qualifiers. Old qualifiers are discarded.
      +
      +
      Parameters:
      +
      newQualifiers - the qualifiers for the new qualified type.
      +
      Returns:
      +
      a QualifiedType that has the same type as this instance, but with only the given qualifiers.
      +
      +
      +
      +
    • +
    • +
      +

      getType

      +
      +
      public Type getType()
      +
      Returns the qualified type.
      +
      +
      Returns:
      +
      the type being qualified.
      +
      +
      +
      +
    • +
    • +
      +

      getQualifiers

      +
      +
      public Set<Annotation> getQualifiers()
      +
      Returns a set of qualifying annotations.
      +
      +
      Returns:
      +
      the type qualifiers.
      +
      +
      +
      +
    • +
    • +
      +

      mapType

      +
      +
      public QualifiedType<?> mapType(Function<Type,Type> mapper)
      +
      Apply the provided mapping function to the type, and if non-empty is returned, + return an Optional<QualifiedType<?>> with the returned type, and the same + qualifiers as this instance.
      +
      +
      Parameters:
      +
      mapper - a mapping function to apply to the type
      +
      Returns:
      +
      an optional qualified type with the mapped type and the same qualifiers
      +
      +
      +
      +
    • +
    • +
      +

      flatMapType

      +
      +
      public Optional<QualifiedType<?>> flatMapType(Function<Type,Optional<Type>> mapper)
      +
      Apply the provided mapping function to the type, and if non-empty is returned, + return an Optional<QualifiedType<?>> with the returned type, and the same + qualifiers as this instance.
      +
      +
      Parameters:
      +
      mapper - a mapping function to apply to the type
      +
      Returns:
      +
      an optional qualified type with the mapped type and the same qualifiers
      +
      +
      +
      +
    • +
    • +
      +

      hasQualifier

      +
      +
      public boolean hasQualifier(Class<? extends Annotation> qualifier)
      +
      Returns true if this type contains the given qualifier.
      +
      +
      Parameters:
      +
      qualifier - qualifier to check for.
      +
      Returns:
      +
      true if this instance contains the given qualifier.
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/Qualifier.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/Qualifier.html new file mode 100644 index 00000000000..08fcec031cb --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/Qualifier.html @@ -0,0 +1,107 @@ + + + + +Qualifier (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type Qualifier

+
+
+
+
+
@Retention(RUNTIME) +@Target(ANNOTATION_TYPE) +public @interface Qualifier
+
Annotation used to identify type qualifying annotations. Use this to annotate an annotation.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/Qualifiers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/Qualifiers.html new file mode 100644 index 00000000000..19726611372 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/Qualifiers.html @@ -0,0 +1,250 @@ + + + + +Qualifiers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Qualifiers

+
+
java.lang.Object +
org.jdbi.v3.core.qualifier.Qualifiers
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<Qualifiers>
+
+
+
public class Qualifiers +extends Object +implements JdbiConfig<Qualifiers>
+
Utility class for type qualifiers supported by Jdbi core.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Qualifiers

      +
      +
      public Qualifiers()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setRegistry

      +
      +
      public void setRegistry(ConfigRegistry registry)
      +
      Description copied from interface: JdbiConfig
      +
      The 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:
      +
      setRegistry in interface JdbiConfig<Qualifiers>
      +
      Parameters:
      +
      registry - the registry that owns this configuration object
      +
      +
      +
      +
    • +
    • +
      +

      qualifiedTypeOf

      +
      +
      public <ELEM extends AnnotatedElement & Type> +QualifiedType<?> qualifiedTypeOf(ELEM type)
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public Set<Annotation> findFor(AnnotatedElement... elements)
      +
      Returns the set of qualifying annotations on the given elements.
      +
      +
      Parameters:
      +
      elements - the annotated elements. Null elements are ignored.
      +
      Returns:
      +
      the set of qualifying annotations on the given elements.
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public Qualifiers createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<Qualifiers>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/NVarchar.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/NVarchar.html new file mode 100644 index 00000000000..e6dbe8d79e9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/NVarchar.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.qualifier.NVarchar (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.qualifier.NVarchar

+
+No usage of org.jdbi.v3.core.qualifier.NVarchar
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/QualifiedType.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/QualifiedType.html new file mode 100644 index 00000000000..50bd35231b4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/QualifiedType.html @@ -0,0 +1,473 @@ + + + + +Uses of Class org.jdbi.v3.core.qualifier.QualifiedType (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.qualifier.QualifiedType

+
+
Packages that use QualifiedType
+
+
Package
+
Description
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
 
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
 
+ +
+
Google Guice integration.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/Qualifier.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/Qualifier.html new file mode 100644 index 00000000000..3160337717d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/Qualifier.html @@ -0,0 +1,159 @@ + + + + +Uses of Annotation Type org.jdbi.v3.core.qualifier.Qualifier (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.core.qualifier.Qualifier

+
+
Packages that use Qualifier
+
+
Package
+
Description
+ +
 
+ +
 
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/Qualifiers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/Qualifiers.html new file mode 100644 index 00000000000..75dc7523e5b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/class-use/Qualifiers.html @@ -0,0 +1,82 @@ + + + + +Uses of Class org.jdbi.v3.core.qualifier.Qualifiers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.qualifier.Qualifiers

+
+
Packages that use Qualifiers
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/package-summary.html new file mode 100644 index 00000000000..13b06bcc897 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/package-summary.html @@ -0,0 +1,124 @@ + + + + +org.jdbi.v3.core.qualifier (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.qualifier

+
+
+
+
package org.jdbi.v3.core.qualifier
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    Argument qualifier annotation, indicating that the annotated String element should be bound as an + NVARCHAR instead of a VARCHAR.
    +
    + +
    +
    A Type qualified by a set of qualifier annotations.
    +
    + +
    +
    Annotation used to identify type qualifying annotations.
    +
    + +
    +
    Utility class for type qualifiers supported by Jdbi core.
    +
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/package-tree.html new file mode 100644 index 00000000000..6b39f19de5a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/package-tree.html @@ -0,0 +1,79 @@ + + + + +org.jdbi.v3.core.qualifier Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.qualifier

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/package-use.html new file mode 100644 index 00000000000..cb4c4113a47 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/qualifier/package-use.html @@ -0,0 +1,280 @@ + + + + +Uses of Package org.jdbi.v3.core.qualifier (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.qualifier

+
+
Packages that use org.jdbi.v3.core.qualifier
+
+
Package
+
Description
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
 
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
 
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
 
+ +
+
Google Guice integration.
+
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/BatchResultBearing.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/BatchResultBearing.html new file mode 100644 index 00000000000..cf810e8219b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/BatchResultBearing.html @@ -0,0 +1,793 @@ + + + + +BatchResultBearing (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BatchResultBearing

+
+
java.lang.Object +
org.jdbi.v3.core.result.BatchResultBearing
+
+
+
+
+
All Implemented Interfaces:
+
ResultBearing
+
+
+
public final class BatchResultBearing +extends Object +implements ResultBearing
+
Extends the ResultBearing class to provide access to the per-batch row modification counts.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/BatchResultIterable.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/BatchResultIterable.html new file mode 100644 index 00000000000..d1c6c19f100 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/BatchResultIterable.html @@ -0,0 +1,187 @@ + + + + +BatchResultIterable (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface BatchResultIterable<T>

+
+
+
+
+
Type Parameters:
+
T -
+
+
+
All Superinterfaces:
+
Iterable<T>, ResultIterable<T>
+
+
+
public interface BatchResultIterable<T> +extends ResultIterable<T>
+
Extend the ResultIterable for batch operations.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      listPerBatch

      +
      +
      List<List<T>> listPerBatch()
      +
      Split the results into per-batch sub-lists. Note that this may not be correct if any of the executed batches returned an error code.
      +
      +
      Returns:
      +
      results in a List of Lists.
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      static <U> BatchResultIterable<U> of(ResultIterable<U> delegate, + Supplier<int[]> modifiedRowCountsSupplier)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/IteratorCallback.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/IteratorCallback.html new file mode 100644 index 00000000000..3f31a1cf4f0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/IteratorCallback.html @@ -0,0 +1,160 @@ + + + + +IteratorCallback (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IteratorCallback<T,R,X extends Exception>

+
+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface IteratorCallback<T,R,X extends Exception>
+ +
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Will be invoked with a Iterator<T>.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      withIterator

      +
      +
      R withIterator(ResultIterator<T> iterator) + throws X
      +
      Will be invoked with a Iterator<T>. The iterator will be closed when this callback returns.
      +
      +
      Parameters:
      +
      iterator - iterator to be used only within scope of this callback
      +
      Returns:
      +
      The return value of the callback
      +
      Throws:
      +
      X - optional exception thrown by the callback
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/IteratorConsumer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/IteratorConsumer.html new file mode 100644 index 00000000000..f97bbd55e52 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/IteratorConsumer.html @@ -0,0 +1,158 @@ + + + + +IteratorConsumer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IteratorConsumer<T,X extends Exception>

+
+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface IteratorConsumer<T,X extends Exception>
+ +
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Will be invoked with result iterator.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      useIterator

      +
      +
      void useIterator(ResultIterator<T> iterator) + throws X
      +
      Will be invoked with result iterator. The iterator will be closed when this callback returns.
      +
      +
      Parameters:
      +
      iterator - iterator to be used only within scope of this callback
      +
      Throws:
      +
      X - optional exception thrown by the callback
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/LinkedHashMapRowReducer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/LinkedHashMapRowReducer.html new file mode 100644 index 00000000000..5ed0833b737 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/LinkedHashMapRowReducer.html @@ -0,0 +1,198 @@ + + + + +LinkedHashMapRowReducer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface LinkedHashMapRowReducer<K,V>

+
+
+
+
+
Type Parameters:
+
K - the map key type--often the primary key type of <V>.
+
V - the map value type, and the result element type--often the "master" object in a + master/detail relation.
+
+
+
All Superinterfaces:
+
RowReducer<Map<K,V>,V>
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface LinkedHashMapRowReducer<K,V> +extends RowReducer<Map<K,V>,V>
+
A row reducer that uses LinkedHashMap (which preserves insertion order) as a + result container, and returns map.values().stream() as the final result. + +

Implementors need only implement the RowReducer.accumulate(Object, RowView) method.

+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default Map<K,V>
    + +
    +
    Returns a new, empty result container.
    +
    +
    default Stream<V>
    +
    stream(Map<K,V> container)
    +
    +
    Returns a stream of result elements from the result container.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface org.jdbi.v3.core.result.RowReducer

    +accumulate
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      container

      +
      +
      default Map<K,V> container()
      +
      Description copied from interface: RowReducer
      +
      Returns a new, empty result container.
      +
      +
      Specified by:
      +
      container in interface RowReducer<K,V>
      +
      Returns:
      +
      a new result container.
      +
      +
      +
      +
    • +
    • +
      +

      stream

      +
      +
      default Stream<V> stream(Map<K,V> container)
      +
      Description copied from interface: RowReducer
      +
      Returns a stream of result elements from the result container.
      +
      +
      Specified by:
      +
      stream in interface RowReducer<K,V>
      +
      Parameters:
      +
      container - the result container
      +
      Returns:
      +
      stream of result elements.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/NoResultsException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/NoResultsException.html new file mode 100644 index 00000000000..7bd7fb15de4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/NoResultsException.html @@ -0,0 +1,206 @@ + + + + +NoResultsException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class NoResultsException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class NoResultsException +extends StatementException
+
Thrown when no results were found in a context that requires at least one.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultBearing.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultBearing.html new file mode 100644 index 00000000000..7d192082aa4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultBearing.html @@ -0,0 +1,692 @@ + + + + +ResultBearing (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ResultBearing

+
+
+
+
+
All Known Implementing Classes:
+
BatchResultBearing, MetaData, PreparedBatch, Query
+
+
+
public interface ResultBearing
+
Provides access to the contents of a ResultSet by mapping to Java types.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      of

      +
      +
      static ResultBearing of(Supplier<ResultSet> resultSetSupplier, + StatementContext ctx)
      +
      Returns a ResultBearing backed by the given result set supplier and context.
      +
      +
      Parameters:
      +
      resultSetSupplier - result set supplier
      +
      ctx - the statement context
      +
      Returns:
      +
      a ResultBearing
      +
      +
      +
      +
    • +
    • +
      +

      scanResultSet

      +
      +
      <R> R scanResultSet(ResultSetScanner<R> resultSetScanner)
      +
      Invokes the mapper with a result set supplier, and returns the value returned by the mapper.
      +
      +
      Type Parameters:
      +
      R - result type returned by the mapper.
      +
      Parameters:
      +
      resultSetScanner - result set scanner
      +
      Returns:
      +
      the value returned by the mapper.
      +
      +
      +
      +
    • +
    • +
      +

      mapTo

      +
      +
      default <T> ResultIterable<T> mapTo(Class<T> type)
      +
      Maps this result set to a ResultIterable of the given element type.
      +
      +
      Type Parameters:
      +
      T - the type to map the result set rows to
      +
      Parameters:
      +
      type - the type to map the result set rows to
      +
      Returns:
      +
      a ResultIterable of the given type.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      mapTo

      +
      +
      default <T> ResultIterable<T> mapTo(GenericType<T> type)
      +
      Maps this result set to a ResultIterable of the given element type.
      +
      +
      Type Parameters:
      +
      T - the type to map the result set rows to
      +
      Parameters:
      +
      type - the type to map the result set rows to
      +
      Returns:
      +
      a ResultIterable of the given type.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      mapTo

      +
      +
      default ResultIterable<?> mapTo(Type type)
      +
      Maps this result set to a ResultIterable of the given element type.
      +
      +
      Parameters:
      +
      type - the type to map the result set rows to
      +
      Returns:
      +
      a ResultIterable of the given type.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      mapTo

      +
      +
      default <T> ResultIterable<T> mapTo(QualifiedType<T> type)
      +
      Maps this result set to a ResultIterable of the given qualified element type.
      +
      +
      Parameters:
      +
      type - the qualified type to map the result set rows to
      +
      Returns:
      +
      a ResultIterable of the given type.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      mapToBean

      +
      +
      default <T> ResultIterable<T> mapToBean(Class<T> type)
      +
      Maps this result set to a ResultIterable of the given element type, using BeanMapper.
      +
      +
      Type Parameters:
      +
      T - the bean type to map the result set rows to
      +
      Parameters:
      +
      type - the bean type to map the result set rows to
      +
      Returns:
      +
      a ResultIterable of the given type.
      +
      +
      +
      +
    • +
    • +
      +

      mapToMap

      +
      +
      default ResultIterable<Map<String,Object>> mapToMap()
      +
      Maps this result set to a ResultIterable of Map<String,Object>. Keys are column names, and + values are column values.
      +
      +
      Returns:
      +
      a ResultIterable<Map<String,Object>>.
      +
      +
      +
      +
    • +
    • +
      +

      mapToMap

      +
      +
      default <T> ResultIterable<Map<String,T>> mapToMap(Class<T> valueType)
      +
      Maps this result set to a Map of String and the given value class.
      +
      +
      Type Parameters:
      +
      T - the value type
      +
      Parameters:
      +
      valueType - the class to map the resultset columns to
      +
      Returns:
      +
      a Map of String and the given type.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      mapToMap

      +
      +
      default <T> ResultIterable<Map<String,T>> mapToMap(GenericType<T> valueType)
      +
      Maps this result set to a Map of String and the given value type.
      +
      +
      Type Parameters:
      +
      T - the value type
      +
      Parameters:
      +
      valueType - the type to map the resultset columns to
      +
      Returns:
      +
      a Map of String and the given type.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      map

      +
      +
      default <T> ResultIterable<T> map(ColumnMapper<T> mapper)
      +
      Maps this result set to a ResultIterable, using the given column mapper.
      +
      +
      Type Parameters:
      +
      T - the type to map the result set rows to
      +
      Parameters:
      +
      mapper - column mapper used to map the first column of each row
      +
      Returns:
      +
      a ResultIterable of type <T>.
      +
      +
      +
      +
    • +
    • +
      +

      map

      +
      +
      default <T> ResultIterable<T> map(RowMapper<T> mapper)
      +
      Maps this result set to a ResultIterable, using the given row mapper.
      +
      +
      Type Parameters:
      +
      T - the type to map the result set rows to
      +
      Parameters:
      +
      mapper - mapper used to map each row
      +
      Returns:
      +
      a ResultIterable of type <T>.
      +
      +
      +
      +
    • +
    • +
      +

      map

      +
      +
      default <T> ResultIterable<T> map(RowViewMapper<T> mapper)
      +
      Maps this result set to a ResultIterable, using the given RowViewMapper. + This overload only exists to allow RowViewMapper as the type of a lambda expression.
      +
      +
      Type Parameters:
      +
      T - the type to map the result set rows to
      +
      Parameters:
      +
      mapper - RowViewMapper used to map each row
      +
      Returns:
      +
      a ResultIterable of type <T>.
      +
      +
      +
      +
    • +
    • +
      +

      reduceRows

      +
      +
      default <C, +R> Stream<R> reduceRows(RowReducer<C,R> rowReducer)
      +
      Reduce the result rows using the given row reducer.
      +
      +
      Type Parameters:
      +
      C - Mutable result container type
      +
      R - Result element type
      +
      Parameters:
      +
      rowReducer - the row reducer.
      +
      Returns:
      +
      the stream of result elements
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      reduceRows

      +
      +
      default <K, +V> Stream<V> reduceRows(BiConsumer<Map<K,V>,RowView> accumulator)
      +
      Reduce the result rows using a Map<K, V> as the + result container.
      +
      +
      Type Parameters:
      +
      K - map key type
      +
      V - map value type
      +
      Parameters:
      +
      accumulator - accumulator function which gathers data from each + RowView into the result map.
      +
      Returns:
      +
      the stream of elements in the container's Map.values() + collection, in the order they were inserted.
      +
      +
      +
      +
    • +
    • +
      +

      reduceRows

      +
      +
      default <U> U reduceRows(U seed, + BiFunction<U,RowView,U> accumulator)
      +
      Reduce the results. Using a BiFunction<U, RowView, U>, repeatedly + combine query results until only a single value remains.
      +
      +
      Type Parameters:
      +
      U - the type of the accumulator
      +
      Parameters:
      +
      seed - the U to combine with the first result
      +
      accumulator - the function to apply repeatedly
      +
      Returns:
      +
      the final U
      +
      +
      +
      +
    • +
    • +
      +

      reduceResultSet

      +
      +
      default <U> U reduceResultSet(U seed, + ResultSetAccumulator<U> accumulator)
      +
      Reduce the results. Using a ResultSetAccumulator, repeatedly + combine query results until only a single value remains.
      +
      +
      Type Parameters:
      +
      U - the accumulator type
      +
      Parameters:
      +
      seed - the U to combine with the first result
      +
      accumulator - the function to apply repeatedly
      +
      Returns:
      +
      the final U
      +
      +
      +
      +
    • +
    • +
      +

      collectRows

      +
      +
      default <A, +R> R collectRows(Collector<RowView,A,R> collector)
      +
      Collect the results using the given collector. Do not attempt to accumulate the + RowView objects into the result--they are only valid within the + Collector.accumulator() function. Instead, extract mapped types from the + RowView by calling RowView.getRow() or RowView.getColumn().
      +
      +
      Type Parameters:
      +
      A - the mutable accumulator type used by the collector.
      +
      R - the result type returned by the collector.
      +
      Parameters:
      +
      collector - the collector to collect the result rows.
      +
      Returns:
      +
      the result of the collection
      +
      +
      +
      +
    • +
    • +
      +

      collectInto

      +
      +
      default <R> R collectInto(Class<R> containerType)
      +
      Collect the results into a container of the given type. A collector + must be registered for the container type, which knows the element type + for the container. A mapper must be registered for the element type. +

      + This method is equivalent to ResultBearing.mapTo(elementType).collect(containerCollector). +

      +
      +
      Type Parameters:
      +
      R - the result container type
      +
      Parameters:
      +
      containerType - the container type into which results will be collected
      +
      Returns:
      +
      a container into which result rows have been collected
      +
      +
      +
      +
    • +
    • +
      +

      collectInto

      +
      +
      default <R> R collectInto(GenericType<R> containerType)
      +
      Collect the results into a container of the given generic type. A collector + must be registered for the container type, which knows the element type + for the container. A mapper must be registered for the element type. +

      + This method is equivalent to ResultBearing.mapTo(elementType).collect(containerCollector). +

      +

      + Example: +

      +
      + Map<Long, User> usersById = handle.createQuery("select * from user")
      +     .configure(MapEntryMappers.class, cfg -> cfg.setKeyColumn("id"))
      +     .collectInto(new GenericType<Map<Long, User>>() {});
      + 
      +
      +
      Type Parameters:
      +
      R - the result container type
      +
      Parameters:
      +
      containerType - the container type into which results will be collected
      +
      Returns:
      +
      a container into which result rows have been collected
      +
      +
      +
      +
    • +
    • +
      +

      collectInto

      +
      +
      default Object collectInto(Type containerType)
      +
      Collect the results into a container of the given type. A collector + must be registered for the container type, which knows the element type + for the container. A mapper must be registered for the element type. +

      + This method is equivalent to ResultBearing.mapTo(elementType).collect(containerCollector). +

      +
      +
      Parameters:
      +
      containerType - the container type into which results will be collected
      +
      Returns:
      +
      a container into which result rows have been collected
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultIterable.ResultIteratorDelegate.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultIterable.ResultIteratorDelegate.html new file mode 100644 index 00000000000..2574ce53822 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultIterable.ResultIteratorDelegate.html @@ -0,0 +1,219 @@ + + + + +ResultIterable.ResultIteratorDelegate (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ResultIterable.ResultIteratorDelegate<T,R>

+
+
java.lang.Object +
org.jdbi.v3.core.result.ResultIterable.ResultIteratorDelegate<T,R>
+
+
+
+
+
Type Parameters:
+
T - iterable element type of delegate
+
R - returned iterable element type, may be same as delegate's (T)
+
+
+
All Implemented Interfaces:
+
Closeable, AutoCloseable, Iterator<R>, ResultIterator<R>
+
+
+
Enclosing interface:
+
ResultIterable<T>
+
+
+
public abstract static class ResultIterable.ResultIteratorDelegate<T,R> +extends Object +implements ResultIterator<R>
+
An implementation of ResultIterator that delegates calls + to the iterator provided in the constructor.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultIterable.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultIterable.html new file mode 100644 index 00000000000..14214d91d24 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultIterable.html @@ -0,0 +1,876 @@ + + + + +ResultIterable (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ResultIterable<T>

+
+
+
+
+
Type Parameters:
+
T - iterable element type
+
+
+
All Superinterfaces:
+
Iterable<T>
+
+
+
All Known Subinterfaces:
+
BatchResultIterable<T>
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface ResultIterable<T> +extends Iterable<T>
+
An Iterable of values, usually mapped from a ResultSet. Generally, ResultIterables may only + be traversed once.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      of

      +
      +
      static <T> ResultIterable<T> of(Supplier<ResultSet> resultSetSupplier, + RowMapper<T> mapper, + StatementContext ctx)
      +
      Returns a ResultIterable backed by the given result set supplier, mapper, and context.
      +
      +
      Type Parameters:
      +
      T - the mapped type
      +
      Parameters:
      +
      resultSetSupplier - result set supplier
      +
      mapper - row mapper
      +
      ctx - statement context
      +
      Returns:
      +
      the result iterable
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      static <T> ResultIterable<T> of(ResultIterator<T> iterator)
      +
      Returns a ResultIterable backed by the given iterator.
      +
      +
      Type Parameters:
      +
      T - iterator element type
      +
      Parameters:
      +
      iterator - the result iterator
      +
      Returns:
      +
      a ResultIterable
      +
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      +
      ResultIterator<T> iterator()
      +
      Stream all the rows of the result set out + with an Iterator. The Iterator must be + closed to release database resources.
      +
      +
      Specified by:
      +
      iterator in interface Iterable<T>
      +
      Returns:
      +
      the results as a streaming Iterator
      +
      +
      +
      +
    • +
    • +
      +

      useIterator

      +
      +
      default <X extends Exception> void useIterator(IteratorConsumer<T,X> consumer) + throws X
      +
      Passes the iterator of results to the consumer. Database resources owned by the query are + released before this method returns.
      +
      +
      Parameters:
      +
      consumer - a consumer which receives the iterator of results.
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      withIterator

      +
      +
      default <R, +X extends Exception> R withIterator(IteratorCallback<T,R,X> callback) + throws X
      +
      Passes the iterator of results to the callback. Database resources owned by the query are + released before this method returns.
      +
      +
      Type Parameters:
      +
      R - the type returned by the callback
      +
      Parameters:
      +
      callback - a callback which receives the iterator of results, and returns some result.
      +
      Returns:
      +
      the value returned by the callback.
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      map

      +
      +
      default <R> ResultIterable<R> map(Function<? super T,? extends R> mapper)
      +
      Returns a ResultIterable<U> derived from this ResultIterable<T>, by + transforming elements using the given mapper function.
      +
      +
      Type Parameters:
      +
      R - Element type of the returned ResultIterable
      +
      Parameters:
      +
      mapper - function to apply to elements of this ResultIterable
      +
      Returns:
      +
      the new ResultIterable
      +
      +
      +
      +
    • +
    • +
      +

      forEach

      +
      +
      default void forEach(Consumer<? super T> action)
      +
      +
      Specified by:
      +
      forEach in interface Iterable<T>
      +
      +
      +
      +
    • +
    • +
      +

      forEachWithCount

      +
      +
      default int forEachWithCount(Consumer<? super T> action)
      +
      Performs the specified action on each remaining element and returns the iteration i.e. record count.
      + It is often useful (e.g. for logging) to know the record count while processing result sets. +
      + 
      +         int cnt = h.createQuery("select * from something").mapTo(String.class)
      +                    .forEachWithCount(System.out::println);
      +         System.out.println(cnt + " records selected");
      +       
      +  
      +
      +
      Parameters:
      +
      action - action to apply (required)
      +
      Returns:
      +
      iteration count
      +
      Since:
      +
      3.31
      +
      +
      +
      +
    • +
    • +
      +

      one

      +
      +
      default T one()
      +
      Returns the only row in the result set. Returns null if the row itself is + null.
      +
      +
      Returns:
      +
      the only row in the result set.
      +
      Throws:
      +
      IllegalStateException - if the result set contains zero or multiple rows
      +
      +
      +
      +
    • +
    • +
      +

      findOne

      +
      +
      default Optional<T> findOne()
      +
      Returns the only row in the result set, if any. Returns Optional.empty() if zero + rows are returned, or if the row itself is null.
      +
      +
      Returns:
      +
      the only row in the result set, if any.
      +
      Throws:
      +
      IllegalStateException - if the result set contains multiple rows
      +
      +
      +
      +
    • +
    • +
      +

      findOnly

      +
      +
      @Deprecated +default T findOnly()
      +
      Deprecated. +
      use one() or findOne() instead.
      +
      +
      Get the only row in the result set.
      +
      +
      Returns:
      +
      the object mapped from the singular row in the results
      +
      Throws:
      +
      IllegalStateException - if zero or multiple rows are returned
      +
      +
      +
      +
    • +
    • +
      +

      first

      +
      +
      default T first()
      +
      Returns the first row in the result set. Returns null if the row itself is + null.
      +
      +
      Returns:
      +
      the first row in the result set.
      +
      Throws:
      +
      IllegalStateException - if zero rows are returned
      +
      +
      +
      +
    • +
    • +
      +

      findFirst

      +
      +
      default Optional<T> findFirst()
      +
      Returns the first row in the result set, if present. Returns Optional.empty() if + zero rows are returned or the first row is null.
      +
      +
      Returns:
      +
      the first row in the result set, if present.
      +
      +
      +
      +
    • +
    • +
      +

      stream

      +
      +
      default Stream<T> stream()
      +
      Returns the stream of results. + +

      + Note: the returned stream owns database resources, and must be closed via a call to BaseStream.close(), or + by using the stream in a try-with-resources block: +

      + +
      + try (Stream<T> stream = query.stream()) {
      +   // do stuff with stream
      + }
      + 
      +
      +
      Returns:
      +
      the stream of results.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      useStream

      +
      +
      default <X extends Exception> void useStream(StreamConsumer<T,X> consumer) + throws X
      +
      Passes the stream of results to the consumer. Database resources owned by the query are + released before this method returns.
      +
      +
      Type Parameters:
      +
      X - the exception type thrown by the callback, if any
      +
      Parameters:
      +
      consumer - a consumer which receives the stream of results.
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      withStream

      +
      +
      default <R, +X extends Exception> R withStream(StreamCallback<T,R,X> callback) + throws X
      +
      Passes the stream of results to the callback. Database resources owned by the query are + released before this method returns.
      +
      +
      Type Parameters:
      +
      R - the type returned by the callback
      +
      X - the exception type thrown by the callback, if any
      +
      Parameters:
      +
      callback - a callback which receives the stream of results, and returns some result.
      +
      Returns:
      +
      the value returned by the callback.
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      list

      +
      +
      default List<T> list()
      +
      Returns results in a List using the JDK specific default implementation of List as provided + by Collectors.toList(). The same limitations apply to the list instance returned from this method. + If more control over the list type is required, use toCollection(Supplier) or see the collectIntoList() method.
      +
      +
      Returns:
      +
      results in a List
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      set

      +
      +
      default Set<T> set()
      +
      Returns results in a Set using the JDK specific default implementation of Set as provided + by Collectors.toSet(). The same limitations apply to the set instance returned from this method. + If more control over the set type is required, use toCollection(Supplier) or see the collectIntoSet() method.
      +
      +
      Returns:
      +
      results in a Set
      +
      Since:
      +
      3.38.0
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      collect

      +
      +
      default <R> R collect(Collector<? super T,?,R> collector)
      +
      Collect the results into a container specified by a collector.
      +
      +
      Type Parameters:
      +
      R - the generic type of the container
      +
      Parameters:
      +
      collector - the collector
      +
      Returns:
      +
      the container with the query result
      +
      +
      +
      +
    • +
    • +
      +

      collectToMap

      +
      +
      default <K, +V> Map<K,V> collectToMap(Function<? super T,? extends K> keyFunction, + Function<? super T,? extends V> valueFunction)
      +
      Collect the results into a Map, using the given functions to compute keys and values.
      +
      +
      Type Parameters:
      +
      K - the key type
      +
      V - the value type
      +
      Parameters:
      +
      keyFunction - a function that transforms the query result to a map key
      +
      valueFunction - a function that transforms the query result to a map value
      +
      Returns:
      +
      the collected Map
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    • +
      +

      toCollection

      +
      +
      @Alpha +default <C extends Collection<T>> C toCollection(Supplier<C> supplier)
      +
      Collect the results into a collection object similar to Collectors.toCollection(Supplier).
      +
      +
      Parameters:
      +
      supplier - a supplier providing a new empty Collection into which the results will be inserted
      +
      Returns:
      +
      A new collection with all results inserted
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    • +
      +

      collectInto

      +
      +
      @Alpha +default <R extends Collection<? super T>> R collectInto(Type containerType)
      +
      Collect the results into a container type.
      +
      +
      Parameters:
      +
      containerType - A Type object that must describe a container type
      +
      Returns:
      +
      A new collection implementing the container type with all results inserted
      +
      Throws:
      +
      UnsupportedOperationException - if the implementation does not support this operation
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    • +
      +

      collectInto

      +
      +
      @Alpha +default <R extends Collection<? super T>> R collectInto(GenericType<R> containerType)
      +
      Collect the results into a collection type.
      +
      +
      Parameters:
      +
      containerType - A GenericType object that describes a collection type
      +
      Returns:
      +
      A new collection implementing the container type with all results inserted
      +
      Throws:
      +
      UnsupportedOperationException - if the implementation does not support this operation
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    • +
      +

      collectIntoList

      +
      +
      @Alpha +default List<T> collectIntoList()
      +
      Returns results in a List. The implementation of the list can be changed by registering a Collector: +

      +

      
      +     jdbi.getConfig(JdbiCollectors.class).registerCollector(List.class, Collectors.toCollection(LinkedList::new));
      + 
      + or +
      
      +     handle.registerCollector(List.class, Collectors.toCollection(LinkedList::new));
      + 
      +
      + If no collector is registered, then this method behaves like list().
      +
      +
      Returns:
      +
      results in a List
      +
      Since:
      +
      3.38.0
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      collectIntoSet

      +
      +
      @Alpha +default Set<T> collectIntoSet()
      +
      Returns results in a Set. The implementation of the set can be changed by registering a Collector: +

      +

      
      +     jdbi.getConfig(JdbiCollectors.class).registerCollector(Set.class, Collectors.toCollection(LinkedHashSet::new));
      + 
      + or +
      
      +     handle.registerCollector(Set.class, Collectors.toCollection(LinkedHashSet::new));
      + 
      +
      + If no collector is registered, then this method behaves like set().
      +
      +
      Returns:
      +
      results in a Set
      +
      Since:
      +
      3.38.0
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      reduce

      +
      +
      default <U> U reduce(U identity, + BiFunction<U,T,U> accumulator)
      +
      Reduce the results. Using a BiFunction<U, T, U>, repeatedly + combine query results until only a single value remains.
      +
      +
      Type Parameters:
      +
      U - the accumulator type
      +
      Parameters:
      +
      identity - the U to combine with the first result
      +
      accumulator - the function to apply repeatedly
      +
      Returns:
      +
      the final U
      +
      +
      +
      +
    • +
    • +
      +

      filter

      +
      +
      default ResultIterable<T> filter(Predicate<? super T> predicate)
      +
      Convenience method to filter the ResultIterable by applying the specified Predicate.
      + This method has the look and feel of Stream.filter(Predicate) without making use of streams.

      + + Please note that filtering takes place in Java i.e. your client code, not in the database.
      + Filtering inside the database will most likely be of higher performance than filtering outside, + as intermediate results are loaded into Java and then discarded. Moreover, indexes that may exist + in the database will not be utilized here.

      +
      +
      Parameters:
      +
      predicate - a non-null predicate to apply to each element + to determine whether it should be included in the result
      +
      Returns:
      +
      the new result iterable
      +
      Since:
      +
      3.31
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultIterator.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultIterator.html new file mode 100644 index 00000000000..94ac4e8f2c5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultIterator.html @@ -0,0 +1,207 @@ + + + + +ResultIterator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ResultIterator<T>

+
+
+
+
+
All Superinterfaces:
+
AutoCloseable, Closeable, Iterator<T>
+
+
+
All Known Implementing Classes:
+
ResultIterable.ResultIteratorDelegate
+
+
+
public interface ResultIterator<T> +extends Iterator<T>, Closeable
+
Represents a forward-only iterator over a result set, which will lazily iterate + the results. The underlying ResultSet can be closed by calling the + close() method. +

+ The default implementation of ResultIterator will automatically close + the result set after the last element has been retrieved via next() and + hasNext() is called (which will return false). This allows for iteration + over the results with automagic resource cleanup. +

+ The remove() operation is not supported in the default + version, and will raise an UnsupportedOperationException

+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultProducer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultProducer.html new file mode 100644 index 00000000000..d9f11ace78d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultProducer.html @@ -0,0 +1,194 @@ + + + + +ResultProducer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ResultProducer<R>

+
+
+
+
+
Type Parameters:
+
R - Result type
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface ResultProducer<R>
+
Produces a result from an executed PreparedStatement.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      produce

      +
      +
      R produce(Supplier<PreparedStatement> statementSupplier, + StatementContext ctx) + throws SQLException
      +
      Produces a statement result from a lazily supplied PreparedStatement. The statement is not executed until + statementSupplier.get() is invoked. +

      + Implementors that call statementSupplier.get() must ensure that the statement context is closed before + returning, to ensure that database resources are freed: + +

      + public R produce(Supplier<PreparedStatement> statementSupplier, StatementContext context) {
      +     ...
      +     try (StatementContext context = ctx) {
      +         PreparedStatement statement = statementSupplier.get()
      +         // generate and return result from the statement
      +     }
      + }
      + 
      +

      + Alternatively, implementors may return some intermediate result object (e.g. ResultBearing or + ResultIterable) without calling statementSupplier.get(), in which case the burden of closing + resources falls to whichever object ultimately calls statementSupplier.get(). + +

      + public R produce(Supplier<PreparedStatement> statementSupplier, StatementContext context) {
      +     ...
      +     // the implementation of SomeOtherClass.createResponse which may call statementSupplier.get()
      +     // is now responsible to close the StatementContext.
      +     return SomeOtherClass.createResponse(statementSupplier, ..., ctx);
      + }
      + 
      +
      +
      Parameters:
      +
      statementSupplier - supplies a PreparedStatement, post-execution.
      +
      ctx - the statement context
      +
      Returns:
      +
      an object of the type your caller expects
      +
      Throws:
      +
      SQLException - if an error occurs while producing the result.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultProducers.ResultSetCreator.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultProducers.ResultSetCreator.html new file mode 100644 index 00000000000..4a07faa4aa7 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultProducers.ResultSetCreator.html @@ -0,0 +1,164 @@ + + + + +ResultProducers.ResultSetCreator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ResultProducers.ResultSetCreator

+
+
+
+
+
Enclosing class:
+
ResultProducers
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public static interface ResultProducers.ResultSetCreator
+
Returns a ResultSet from a Statement.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Use the supplied statement to create a ResultSet.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      createResultSet

      +
      +
      ResultSet createResultSet(Statement statement) + throws SQLException
      +
      Use the supplied statement to create a ResultSet.
      +
      +
      Parameters:
      +
      statement - An implementation of Statement.
      +
      Returns:
      +
      A ResultSet. May be null.
      +
      Throws:
      +
      SQLException - If the result set could not be created.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultProducers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultProducers.html new file mode 100644 index 00000000000..7618d340f70 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultProducers.html @@ -0,0 +1,337 @@ + + + + +ResultProducers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ResultProducers

+
+
java.lang.Object +
org.jdbi.v3.core.result.ResultProducers
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<ResultProducers>
+
+
+
public class ResultProducers +extends Object +implements JdbiConfig<ResultProducers>
+
Commonly used ResultProducer implementations.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultSetAccumulator.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultSetAccumulator.html new file mode 100644 index 00000000000..97250409dfe --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultSetAccumulator.html @@ -0,0 +1,171 @@ + + + + +ResultSetAccumulator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ResultSetAccumulator<T>

+
+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface ResultSetAccumulator<T>
+
A ResultSetAccumulator repeatedly combines rows + from the given ResultSet to produce a single + result. jdbi will advance the ResultSet between + each method invocation, so don't call ResultSet.next() please.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    apply(T previous, + ResultSet rs, + StatementContext ctx)
    +
    +
    Extract a single row from the result set, and combine it with the + accumulator to produce a result.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      T apply(T previous, + ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Extract a single row from the result set, and combine it with the + accumulator to produce a result.
      +
      +
      Parameters:
      +
      previous - the previous object
      +
      rs - the ResultSet, please do not advance it
      +
      ctx - the statement context
      +
      Returns:
      +
      the accumulated value
      +
      Throws:
      +
      SQLException - in the face of grave danger
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultSetException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultSetException.html new file mode 100644 index 00000000000..74b9d350a8f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultSetException.html @@ -0,0 +1,182 @@ + + + + +ResultSetException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ResultSetException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class ResultSetException +extends StatementException
+
Wraps exceptions thrown while traversing the JDBC result set.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultSetScanner.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultSetScanner.html new file mode 100644 index 00000000000..838e475c3de --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/ResultSetScanner.html @@ -0,0 +1,205 @@ + + + + +ResultSetScanner (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ResultSetScanner<T>

+
+
+
+
+
Type Parameters:
+
T - the collected result type
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface ResultSetScanner<T>
+
Scan over rows of result sets, mapping and collecting the rows to a result type. + Unlike the Row and ColumnMappers, this interface lets you control the ResultSet + scrolling - the implementation should ResultSet.next() over rows it wants to consider.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      scanResultSet

      +
      +
      T scanResultSet(Supplier<ResultSet> resultSetSupplier, + StatementContext ctx) + throws SQLException
      +
      Scans the lazily-supplied ResultSet into a result. The ResultSet is not produced + (and typically, the statement the result came from is not executed) until + resultSetSupplier.get() is called. +

      + Implementors that call resultSetSupplier.get() must ensure that the statement context is closed when the + scanResultSet(Supplier, StatementContext) method exits. Otherwise, database resource may not be freed. + +

      + public T scanResultSet(Supplier<ResultSet> resultSetSupplier, StatementContext ctx) {
      +     ...
      +     try (StatementContext context = ctx) {
      +         ResultSet resultSet = resultSetSupplier.get();
      +         // generate and return result from the result set.
      +     }
      + }
      + 
      +

      + Alternatively, implementors may return some intermediate result object (e.g. ResultIterable) without + calling resultSetSupplier.get(), in which case the burden of closing resources falls to whichever object + ultimately calls resultSetSupplier.get(). + +

      + public T scanResultSet(Supplier<ResultSet> resultSetSupplier, StatementContext ctx) {
      +     ...
      +     // the implementation of SomeOtherClass.createResponse which may call resultSetSupplier.get()
      +     // is now responsible to register the result set for cleanup and to close the StatementContext.
      +     return SomeOtherClass.createResponse(resultSetSupplier, ..., ctx);
      + }
      + 
      +
      +
      Parameters:
      +
      resultSetSupplier - supplies a ResultSet.
      +
      ctx - the statement context.
      +
      Returns:
      +
      the mapped result
      +
      Throws:
      +
      SQLException - if anything goes wrong
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/RowReducer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/RowReducer.html new file mode 100644 index 00000000000..49f71b5c221 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/RowReducer.html @@ -0,0 +1,214 @@ + + + + +RowReducer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface RowReducer<C,R>

+
+
+
+
+
Type Parameters:
+
C - mutable result container type
+
R - result element type
+
+
+
All Known Subinterfaces:
+
LinkedHashMapRowReducer<K,V>
+
+
+
public interface RowReducer<C,R>
+
Reduces row data from a ResultSet into a stream of result + elements. Useful for collapsing one-to-many joins.
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    accumulate(C container, + RowView rowView)
    +
    +
    Accumulate data from the current row into the result container.
    +
    + + +
    +
    Returns a new, empty result container.
    +
    + +
    stream(C container)
    +
    +
    Returns a stream of result elements from the result container.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      container

      +
      +
      C container()
      +
      Returns a new, empty result container.
      +
      +
      Returns:
      +
      a new result container.
      +
      +
      +
      +
    • +
    • +
      +

      accumulate

      +
      +
      void accumulate(C container, + RowView rowView)
      +
      Accumulate data from the current row into the result container. Do not attempt + to accumulate the RowView itself into the result container--it is only + valid within the accumulate() + method invocation. Instead, extract mapped types from the RowView by calling + RowView.getRow() or RowView.getColumn() and store those values + in the container.
      +
      +
      Parameters:
      +
      container - the result container
      +
      rowView - row view over the current result set row.
      +
      +
      +
      +
    • +
    • +
      +

      stream

      +
      +
      Stream<R> stream(C container)
      +
      Returns a stream of result elements from the result container.
      +
      +
      Parameters:
      +
      container - the result container
      +
      Returns:
      +
      stream of result elements.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/RowView.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/RowView.html new file mode 100644 index 00000000000..a9124caddc9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/RowView.html @@ -0,0 +1,430 @@ + + + + +RowView (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class RowView

+
+
java.lang.Object +
org.jdbi.v3.core.result.RowView
+
+
+
+
+
public abstract class RowView +extends Object
+
A RowView is an accessor for ResultSet that uses + RowMapper or ColumnMapper to extract values. + It is not valid outside the scope of the method that receives it.
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    <T> T
    +
    getColumn(int column, + Class<T> type)
    +
    +
    Use a column mapper to extract a type from the current ResultSet row.
    +
    + +
    getColumn(int column, + Type type)
    +
    +
    Use a column mapper to extract a type from the current ResultSet row.
    +
    +
    <T> T
    +
    getColumn(int column, + GenericType<T> type)
    +
    +
    Use a column mapper to extract a type from the current ResultSet row.
    +
    +
    abstract <T> T
    +
    getColumn(int column, + QualifiedType<T> type)
    +
    +
    Use a qualified column mapper to extract a type from the current ResultSet row.
    +
    +
    <T> T
    +
    getColumn(String column, + Class<T> type)
    +
    +
    Use a column mapper to extract a type from the current ResultSet row.
    +
    + +
    getColumn(String column, + Type type)
    +
    +
    Use a column mapper to extract a type from the current ResultSet row.
    +
    +
    <T> T
    +
    getColumn(String column, + GenericType<T> type)
    +
    +
    Use a column mapper to extract a type from the current ResultSet row.
    +
    +
    abstract <T> T
    +
    getColumn(String column, + QualifiedType<T> type)
    +
    +
    Use a qualified column mapper to extract a type from the current ResultSet row.
    +
    +
    <T> T
    +
    getRow(Class<T> rowType)
    +
    +
    Use a row mapper to extract a type from the current ResultSet row.
    +
    +
    abstract Object
    +
    getRow(Type type)
    +
    +
    Use a row mapper to extract a type from the current ResultSet row.
    +
    +
    <T> T
    +
    getRow(GenericType<T> rowType)
    +
    +
    Use a row mapper to extract a type from the current ResultSet row.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      RowView

      +
      +
      public RowView()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getRow

      +
      +
      public <T> T getRow(Class<T> rowType)
      +
      Use a row mapper to extract a type from the current ResultSet row.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      rowType - the Class of the type
      +
      Returns:
      +
      the materialized T
      +
      +
      +
      +
    • +
    • +
      +

      getRow

      +
      +
      public <T> T getRow(GenericType<T> rowType)
      +
      Use a row mapper to extract a type from the current ResultSet row.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      rowType - the GenericType of the type
      +
      Returns:
      +
      the materialized T
      +
      +
      +
      +
    • +
    • +
      +

      getRow

      +
      +
      public abstract Object getRow(Type type)
      +
      Use a row mapper to extract a type from the current ResultSet row.
      +
      +
      Parameters:
      +
      type - the type to map
      +
      Returns:
      +
      the materialized object
      +
      +
      +
      +
    • +
    • +
      +

      getColumn

      +
      +
      public <T> T getColumn(String column, + Class<T> type)
      +
      Use a column mapper to extract a type from the current ResultSet row.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      column - the column name
      +
      type - the Class of the type
      +
      Returns:
      +
      the materialized T
      +
      +
      +
      +
    • +
    • +
      +

      getColumn

      +
      +
      public <T> T getColumn(int column, + Class<T> type)
      +
      Use a column mapper to extract a type from the current ResultSet row.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      column - the column index
      +
      type - the Class of the type
      +
      Returns:
      +
      the materialized T
      +
      +
      +
      +
    • +
    • +
      +

      getColumn

      +
      +
      public <T> T getColumn(String column, + GenericType<T> type)
      +
      Use a column mapper to extract a type from the current ResultSet row.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      column - the column name
      +
      type - the GenericType of the type
      +
      Returns:
      +
      the materialized T
      +
      +
      +
      +
    • +
    • +
      +

      getColumn

      +
      +
      public abstract <T> T getColumn(int column, + QualifiedType<T> type)
      +
      Use a qualified column mapper to extract a type from the current ResultSet row.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      column - the column index
      +
      type - the QualifiedType of the type
      +
      Returns:
      +
      the materialized T
      +
      +
      +
      +
    • +
    • +
      +

      getColumn

      +
      +
      public abstract <T> T getColumn(String column, + QualifiedType<T> type)
      +
      Use a qualified column mapper to extract a type from the current ResultSet row.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      column - the column name
      +
      type - the QualifiedType of the type
      +
      Returns:
      +
      the materialized T
      +
      +
      +
      +
    • +
    • +
      +

      getColumn

      +
      +
      public <T> T getColumn(int column, + GenericType<T> type)
      +
      Use a column mapper to extract a type from the current ResultSet row.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      column - the column index
      +
      type - the GenericType of the type
      +
      Returns:
      +
      the materialized T
      +
      +
      +
      +
    • +
    • +
      +

      getColumn

      +
      +
      public Object getColumn(String column, + Type type)
      +
      Use a column mapper to extract a type from the current ResultSet row.
      +
      +
      Parameters:
      +
      column - the column name
      +
      type - the Type of the type
      +
      Returns:
      +
      the materialized object
      +
      +
      +
      +
    • +
    • +
      +

      getColumn

      +
      +
      public Object getColumn(int column, + Type type)
      +
      Use a column mapper to extract a type from the current ResultSet row.
      +
      +
      Parameters:
      +
      column - the column name
      +
      type - the Class of the type
      +
      Returns:
      +
      the materialized object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/StreamCallback.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/StreamCallback.html new file mode 100644 index 00000000000..016e62bd99d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/StreamCallback.html @@ -0,0 +1,160 @@ + + + + +StreamCallback (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface StreamCallback<T,R,X extends Exception>

+
+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface StreamCallback<T,R,X extends Exception>
+ +
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    withStream(Stream<T> stream)
    +
    +
    Will be invoked with a Stream<T>.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      withStream

      +
      +
      R withStream(Stream<T> stream) + throws X
      +
      Will be invoked with a Stream<T>. The stream will be closed when this callback returns.
      +
      +
      Parameters:
      +
      stream - stream to be used only within scope of this callback
      +
      Returns:
      +
      The return value of the callback
      +
      Throws:
      +
      X - optional exception thrown by the callback
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/StreamConsumer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/StreamConsumer.html new file mode 100644 index 00000000000..a29284c335e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/StreamConsumer.html @@ -0,0 +1,158 @@ + + + + +StreamConsumer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface StreamConsumer<T,X extends Exception>

+
+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface StreamConsumer<T,X extends Exception>
+ +
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    useStream(Stream<T> stream)
    +
    +
    Will be invoked with result stream.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      useStream

      +
      +
      void useStream(Stream<T> stream) + throws X
      +
      Will be invoked with result stream. The stream will be closed when this callback returns.
      +
      +
      Parameters:
      +
      stream - stream to be used only within scope of this callback
      +
      Throws:
      +
      X - optional exception thrown by the callback
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/UnableToProduceResultException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/UnableToProduceResultException.html new file mode 100644 index 00000000000..c42fe3fdd88 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/UnableToProduceResultException.html @@ -0,0 +1,226 @@ + + + + +UnableToProduceResultException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UnableToProduceResultException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class UnableToProduceResultException +extends StatementException
+
Wraps exceptions thrown while producing Java result types.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UnableToProduceResultException

      +
      +
      public UnableToProduceResultException(Throwable cause)
      +
      +
      +
    • +
    • +
      +

      UnableToProduceResultException

      +
      +
      public UnableToProduceResultException(String message)
      +
      +
      +
    • +
    • +
      +

      UnableToProduceResultException

      +
      +
      public UnableToProduceResultException(Exception cause, + StatementContext ctx)
      +
      +
      +
    • +
    • +
      +

      UnableToProduceResultException

      +
      +
      public UnableToProduceResultException(String message, + StatementContext ctx)
      +
      +
      +
    • +
    • +
      +

      UnableToProduceResultException

      +
      +
      public UnableToProduceResultException(String string, + Throwable throwable, + StatementContext ctx)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/BatchResultBearing.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/BatchResultBearing.html new file mode 100644 index 00000000000..9ee356b1277 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/BatchResultBearing.html @@ -0,0 +1,88 @@ + + + + +Uses of Class org.jdbi.v3.core.result.BatchResultBearing (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.result.BatchResultBearing

+
+
Packages that use BatchResultBearing
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/BatchResultIterable.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/BatchResultIterable.html new file mode 100644 index 00000000000..55352521c3e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/BatchResultIterable.html @@ -0,0 +1,121 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.BatchResultIterable (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.BatchResultIterable

+
+
Packages that use BatchResultIterable
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/IteratorCallback.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/IteratorCallback.html new file mode 100644 index 00000000000..bc244137e57 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/IteratorCallback.html @@ -0,0 +1,90 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.IteratorCallback (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.IteratorCallback

+
+
Packages that use IteratorCallback
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/IteratorConsumer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/IteratorConsumer.html new file mode 100644 index 00000000000..e9bf5f09537 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/IteratorConsumer.html @@ -0,0 +1,89 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.IteratorConsumer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.IteratorConsumer

+
+
Packages that use IteratorConsumer
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/LinkedHashMapRowReducer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/LinkedHashMapRowReducer.html new file mode 100644 index 00000000000..d2173c63bd4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/LinkedHashMapRowReducer.html @@ -0,0 +1,57 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.LinkedHashMapRowReducer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.LinkedHashMapRowReducer

+
+No usage of org.jdbi.v3.core.result.LinkedHashMapRowReducer
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/NoResultsException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/NoResultsException.html new file mode 100644 index 00000000000..f3a54c6ed61 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/NoResultsException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.result.NoResultsException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.result.NoResultsException

+
+No usage of org.jdbi.v3.core.result.NoResultsException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultBearing.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultBearing.html new file mode 100644 index 00000000000..ad139bcc736 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultBearing.html @@ -0,0 +1,220 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.ResultBearing (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.ResultBearing

+
+
Packages that use ResultBearing
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultIterable.ResultIteratorDelegate.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultIterable.ResultIteratorDelegate.html new file mode 100644 index 00000000000..73f5a8789d4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultIterable.ResultIteratorDelegate.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.result.ResultIterable.ResultIteratorDelegate (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.result.ResultIterable.ResultIteratorDelegate

+
+No usage of org.jdbi.v3.core.result.ResultIterable.ResultIteratorDelegate
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultIterable.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultIterable.html new file mode 100644 index 00000000000..dc2ea302326 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultIterable.html @@ -0,0 +1,184 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.ResultIterable (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.ResultIterable

+
+
Packages that use ResultIterable
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultIterator.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultIterator.html new file mode 100644 index 00000000000..41f87f538e2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultIterator.html @@ -0,0 +1,146 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.ResultIterator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.ResultIterator

+
+
Packages that use ResultIterator
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultProducer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultProducer.html new file mode 100644 index 00000000000..e9c7b540a05 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultProducer.html @@ -0,0 +1,131 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.ResultProducer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.ResultProducer

+
+
Packages that use ResultProducer
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultProducers.ResultSetCreator.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultProducers.ResultSetCreator.html new file mode 100644 index 00000000000..24dda8bbfa5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultProducers.ResultSetCreator.html @@ -0,0 +1,91 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.ResultProducers.ResultSetCreator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.ResultProducers.ResultSetCreator

+
+ +
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultProducers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultProducers.html new file mode 100644 index 00000000000..9dc827382cf --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultProducers.html @@ -0,0 +1,92 @@ + + + + +Uses of Class org.jdbi.v3.core.result.ResultProducers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.result.ResultProducers

+
+
Packages that use ResultProducers
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultSetAccumulator.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultSetAccumulator.html new file mode 100644 index 00000000000..e45fc1f94ae --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultSetAccumulator.html @@ -0,0 +1,94 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.ResultSetAccumulator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.ResultSetAccumulator

+
+
Packages that use ResultSetAccumulator
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultSetException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultSetException.html new file mode 100644 index 00000000000..0ec9d2832b0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultSetException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.result.ResultSetException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.result.ResultSetException

+
+No usage of org.jdbi.v3.core.result.ResultSetException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultSetScanner.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultSetScanner.html new file mode 100644 index 00000000000..96cb59965ff --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/ResultSetScanner.html @@ -0,0 +1,118 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.ResultSetScanner (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.ResultSetScanner

+
+
Packages that use ResultSetScanner
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/RowReducer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/RowReducer.html new file mode 100644 index 00000000000..2e37ecc77d6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/RowReducer.html @@ -0,0 +1,106 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.RowReducer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.RowReducer

+
+
Packages that use RowReducer
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/RowView.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/RowView.html new file mode 100644 index 00000000000..044649e6b6c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/RowView.html @@ -0,0 +1,148 @@ + + + + +Uses of Class org.jdbi.v3.core.result.RowView (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.result.RowView

+
+
Packages that use RowView
+
+
Package
+
Description
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/StreamCallback.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/StreamCallback.html new file mode 100644 index 00000000000..99c61316816 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/StreamCallback.html @@ -0,0 +1,90 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.StreamCallback (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.StreamCallback

+
+
Packages that use StreamCallback
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/StreamConsumer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/StreamConsumer.html new file mode 100644 index 00000000000..2dcdb7a3b01 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/StreamConsumer.html @@ -0,0 +1,89 @@ + + + + +Uses of Interface org.jdbi.v3.core.result.StreamConsumer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.result.StreamConsumer

+
+
Packages that use StreamConsumer
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/UnableToProduceResultException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/UnableToProduceResultException.html new file mode 100644 index 00000000000..82b5ed6e4ac --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/class-use/UnableToProduceResultException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.result.UnableToProduceResultException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.result.UnableToProduceResultException

+
+No usage of org.jdbi.v3.core.result.UnableToProduceResultException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/package-summary.html new file mode 100644 index 00000000000..a122886cc82 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/package-summary.html @@ -0,0 +1,205 @@ + + + + +org.jdbi.v3.core.result (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.result

+
+
+
+
package org.jdbi.v3.core.result
+
+

+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/package-tree.html new file mode 100644 index 00000000000..0d16dcb5bc8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/package-tree.html @@ -0,0 +1,139 @@ + + + + +org.jdbi.v3.core.result Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.result

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/result/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/package-use.html new file mode 100644 index 00000000000..d362b8fa885 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/result/package-use.html @@ -0,0 +1,220 @@ + + + + +Uses of Package org.jdbi.v3.core.result (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.result

+
+
Packages that use org.jdbi.v3.core.result
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/JdbiPlugin.Singleton.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/JdbiPlugin.Singleton.html new file mode 100644 index 00000000000..e79277cce6c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/JdbiPlugin.Singleton.html @@ -0,0 +1,223 @@ + + + + +JdbiPlugin.Singleton (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiPlugin.Singleton

+
+
java.lang.Object +
org.jdbi.v3.core.spi.JdbiPlugin.Singleton
+
+
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
Direct Known Subclasses:
+
Gson2Plugin, GuavaPlugin, H2DatabasePlugin, Jackson2Plugin, JsonPlugin, MoshiPlugin, PostgisPlugin, PostgresPlugin, SQLitePlugin, SqlObjectPlugin, VavrPlugin
+
+
+
Enclosing interface:
+
JdbiPlugin
+
+
+
public abstract static class JdbiPlugin.Singleton +extends Object +implements JdbiPlugin
+
Abstract base class for single-install JdbiPlugins.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Singleton

      +
      +
      public Singleton()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      equals

      +
      +
      public boolean equals(Object obj)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/JdbiPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/JdbiPlugin.html new file mode 100644 index 00000000000..dd1c97468cc --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/JdbiPlugin.html @@ -0,0 +1,222 @@ + + + + +JdbiPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JdbiPlugin

+
+
+
+
+
All Known Implementing Classes:
+
CaffeineCachePlugin, ConfiguringPlugin, Gson2Plugin, GuavaPlugin, H2DatabasePlugin, Jackson2Plugin, JdbiPlugin.Singleton, JodaTimePlugin, JpaPlugin, JsonPlugin, MoshiPlugin, NoopCachePlugin, PostgisPlugin, PostgresPlugin, SQLitePlugin, SqlObjectPlugin, VavrPlugin
+
+
+
public interface JdbiPlugin
+
A plugin is given an opportunity to customize instances of various Jdbi + types before they are returned from their factories.
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    Nested Classes
    +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    static class 
    + +
    +
    Abstract base class for single-install JdbiPlugins.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default Connection
    + +
    +
    Configure customizations for a newly acquired Connection.
    +
    +
    default Handle
    + +
    +
    Configure customizations for a new Handle instance.
    +
    +
    default void
    + +
    +
    Configure customizations global to any object managed by this Jdbi.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      default void customizeJdbi(Jdbi jdbi) + throws SQLException
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Parameters:
      +
      jdbi - the jdbi to customize
      +
      Throws:
      +
      SQLException - something went wrong with the database
      +
      +
      +
      +
    • +
    • +
      +

      customizeHandle

      +
      +
      default Handle customizeHandle(Handle handle) + throws SQLException
      +
      Configure customizations for a new Handle instance.
      +
      +
      Parameters:
      +
      handle - the handle just created
      +
      Returns:
      +
      the transformed handle
      +
      Throws:
      +
      SQLException - something went wrong with the database
      +
      +
      +
      +
    • +
    • +
      +

      customizeConnection

      +
      +
      default Connection customizeConnection(Connection conn) + throws SQLException
      +
      Configure customizations for a newly acquired Connection.
      +
      +
      Parameters:
      +
      conn - the connection Jdbi acquired
      +
      Returns:
      +
      the transformed connection to use
      +
      Throws:
      +
      SQLException - something went wrong with the database
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/class-use/JdbiPlugin.Singleton.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/class-use/JdbiPlugin.Singleton.html new file mode 100644 index 00000000000..36690c1878c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/class-use/JdbiPlugin.Singleton.html @@ -0,0 +1,290 @@ + + + + +Uses of Class org.jdbi.v3.core.spi.JdbiPlugin.Singleton (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.spi.JdbiPlugin.Singleton

+
+
Packages that use JdbiPlugin.Singleton
+
+
Package
+
Description
+ +
+
+ The h2 package adds vendor support for the H2 embeddable pure Java database implementation.
+
+ +
 
+ +
+
+ guava provides extra types that are commonly needed beyond built + in JDK types.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ The sqlite plugin provides improved support for + java.net.URL.
+
+ +
+
SQL Objects
+
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/class-use/JdbiPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/class-use/JdbiPlugin.html new file mode 100644 index 00000000000..da43167960c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/class-use/JdbiPlugin.html @@ -0,0 +1,523 @@ + + + + +Uses of Interface org.jdbi.v3.core.spi.JdbiPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.spi.JdbiPlugin

+
+
Packages that use JdbiPlugin
+
+
Package
+
Description
+ +
+
Cache implementation using the Caffeine cache library.
+
+ +
+
A non-caching cache implementation.
+
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The h2 package adds vendor support for the H2 embeddable pure Java database implementation.
+
+ +
+
+ The spi package includes entrypoints to extending Jdbi + instances with your own custom functionality.
+
+ +
 
+ +
+
+ guava provides extra types that are commonly needed beyond built + in JDK types.
+
+ +
+
Google Guice integration.
+
+ +
 
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
 
+ +
 
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ Classes here provide integration hooks for working with the Spring framework.
+
+ +
+
+ The sqlite plugin provides improved support for + java.net.URL.
+
+ +
+
SQL Objects
+
+ +
+
JUnit 4 testing support.
+
+ +
+
JUnit 5 testing support.
+
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/package-summary.html new file mode 100644 index 00000000000..b4ce6e849f6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/package-summary.html @@ -0,0 +1,123 @@ + + + + +org.jdbi.v3.core.spi (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.spi

+
+
+
+
package org.jdbi.v3.core.spi
+
+

+ The spi package includes entrypoints to extending Jdbi + instances with your own custom functionality. This package may evolve more quickly + than stable core features. +

+
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    A plugin is given an opportunity to customize instances of various Jdbi + types before they are returned from their factories.
    +
    + +
    +
    Abstract base class for single-install JdbiPlugins.
    +
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/package-tree.html new file mode 100644 index 00000000000..07ff885d86b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/package-tree.html @@ -0,0 +1,77 @@ + + + + +org.jdbi.v3.core.spi Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.spi

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/package-use.html new file mode 100644 index 00000000000..1a0a12e7d16 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/spi/package-use.html @@ -0,0 +1,514 @@ + + + + +Uses of Package org.jdbi.v3.core.spi (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.spi

+
+
Packages that use org.jdbi.v3.core.spi
+
+
Package
+
Description
+ +
+
Cache implementation using the Caffeine cache library.
+
+ +
+
A non-caching cache implementation.
+
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The h2 package adds vendor support for the H2 embeddable pure Java database implementation.
+
+ +
+
+ The spi package includes entrypoints to extending Jdbi + instances with your own custom functionality.
+
+ +
 
+ +
+
+ guava provides extra types that are commonly needed beyond built + in JDK types.
+
+ +
+
Google Guice integration.
+
+ +
 
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
 
+ +
 
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ Classes here provide integration hooks for working with the Spring framework.
+
+ +
+
+ The sqlite plugin provides improved support for + java.net.URL.
+
+ +
+
SQL Objects
+
+ +
+
JUnit 4 testing support.
+
+ +
+
JUnit 5 testing support.
+
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Batch.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Batch.html new file mode 100644 index 00000000000..2daed62165f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Batch.html @@ -0,0 +1,341 @@ + + + + +Batch (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Batch

+
+
java.lang.Object +
org.jdbi.v3.core.statement.Batch
+
+
+
+
+
All Implemented Interfaces:
+
Closeable, AutoCloseable, Configurable<Batch>
+
+
+
public class Batch +extends Object
+
Represents a group of non-prepared statements to be sent to the RDMBS in one "request".
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Batch

      +
      +
      public Batch(Handle handle)
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      add

      +
      +
      public Batch add(String sql)
      +
      Add a statement to the batch
      +
      +
      Parameters:
      +
      sql - SQL to be added to the batch, possibly a named statement
      +
      Returns:
      +
      the same Batch statement
      +
      +
      +
      +
    • +
    • +
      +

      execute

      +
      +
      public int[] execute()
      +
      Execute the batch and return the number of rows affected for each batch part. + Note that some database drivers might return special values like Statement.SUCCESS_NO_INFO + or Statement.EXECUTE_FAILED.
      +
      +
      Returns:
      +
      the number of rows affected per batch part
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      getHandle

      +
      +
      public final Handle getHandle()
      +
      +
      +
    • +
    • +
      +

      getConfig

      +
      +
      public ConfigRegistry getConfig()
      +
      Description copied from interface: Configurable
      +
      Returns the configuration registry associated with this object.
      +
      +
      Specified by:
      +
      getConfig in interface Configurable<This>
      +
      Returns:
      +
      the configuration registry associated with this object.
      +
      +
      +
      +
    • +
    • +
      +

      getContext

      +
      +
      public final StatementContext getContext()
      +
      Returns the statement context associated with this statement.
      +
      +
      Returns:
      +
      the statement context associated with this statement.
      +
      +
      +
      +
    • +
    • +
      +

      attachToHandleForCleanup

      +
      +
      @Beta +public final Batch attachToHandleForCleanup()
      +
      Registers with the handle for cleaning when the handle is closed. +
      + There are some situations where Statements need to be cleaned up to avoid resource leaks. This method registers the current Statement it with the + Handle. If the statement or the context are cleaned by themselves, it will automatically unregister, so in normal operations, resources should not pool for cleanup with the Handle. +
      +
      +
      Since:
      +
      3.35.0
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      public void close()
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      Specified by:
      +
      close in interface Closeable
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public final boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public final int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Binding.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Binding.html new file mode 100644 index 00000000000..7d03e636d98 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Binding.html @@ -0,0 +1,412 @@ + + + + +Binding (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Binding

+
+
java.lang.Object +
org.jdbi.v3.core.statement.Binding
+
+
+
+
+
public class Binding +extends Object
+
Represents the arguments bound to a particular statement.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      addPositional

      +
      +
      public void addPositional(int position, + Argument argument)
      +
      Bind a positional parameter at the given index (0-based).
      +
      +
      Parameters:
      +
      position - binding position
      +
      argument - the argument to bind
      +
      +
      +
      +
    • +
    • +
      +

      addNamed

      +
      +
      public void addNamed(String name, + Argument argument)
      +
      Bind a named parameter for the given name.
      +
      +
      Parameters:
      +
      name - bound argument name
      +
      argument - the argument to bind
      +
      +
      +
      +
    • +
    • +
      +

      addPositional

      +
      +
      public void addPositional(int position, + Object argument)
      +
      Bind a positional parameter at the given index (0-based).
      +
      +
      Parameters:
      +
      position - binding position
      +
      argument - the argument to bind
      +
      +
      +
      +
    • +
    • +
      +

      addNamed

      +
      +
      public void addNamed(String name, + Object argument)
      +
      Bind a named parameter for the given name.
      +
      +
      Parameters:
      +
      name - bound argument name
      +
      argument - the argument to bind
      +
      +
      +
      +
    • +
    • +
      +

      addPositional

      +
      +
      public void addPositional(int position, + Object argument, + QualifiedType<?> type)
      +
      Bind a positional parameter at the given index (0-based).
      +
      +
      Parameters:
      +
      position - binding position
      +
      argument - the argument to bind
      +
      +
      +
      +
    • +
    • +
      +

      addNamed

      +
      +
      public void addNamed(String name, + Object argument, + QualifiedType<?> type)
      +
      Bind a named parameter for the given name.
      +
      +
      Parameters:
      +
      name - bound argument name
      +
      argument - the argument to bind
      +
      +
      +
      +
    • +
    • +
      +

      addNamedArgumentFinder

      +
      +
      public void addNamedArgumentFinder(NamedArgumentFinder args)
      +
      Bind a named argument finder.
      +
      +
      Parameters:
      +
      args - the argument finder to bind
      +
      +
      +
      +
    • +
    • +
      +

      findForName

      +
      +
      @Deprecated +public Optional<Argument> findForName(String name, + StatementContext ctx2)
      +
      Deprecated. +
      don't inspect a Binding: keep your own state!
      +
      +
      Look up an argument by name.
      +
      +
      Parameters:
      +
      name - the key to lookup the value of
      +
      ctx2 - the statement context
      +
      Returns:
      +
      the bound Argument
      +
      +
      +
      +
    • +
    • +
      +

      getNames

      +
      +
      @Deprecated +public Collection<String> getNames()
      +
      Deprecated. +
      this is expensive to compute, and it's bad practice to inspect a Binding: keep track of your own state!
      +
      +
      +
      Returns:
      +
      the set of known binding names
      +
      +
      +
      +
    • +
    • +
      +

      findForPosition

      +
      +
      @Deprecated +public Optional<Argument> findForPosition(int position)
      +
      Deprecated. +
      don't inspect a Binding: keep your own state!
      +
      +
      Look up an argument by position.
      +
      +
      Parameters:
      +
      position - starts at 0, not 1
      +
      Returns:
      +
      argument bound to that position
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    • +
      +

      clear

      +
      +
      public void clear()
      +
      Remove all bindings from this Binding.
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      +
      public boolean isEmpty()
      +
      Returns whether any bindings exist.
      +
      +
      Returns:
      +
      True if there are no bindings.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/CachingSqlParser.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/CachingSqlParser.html new file mode 100644 index 00000000000..97e0574bfc9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/CachingSqlParser.html @@ -0,0 +1,237 @@ + + + + +CachingSqlParser (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CachingSqlParser

+
+
java.lang.Object +
org.jdbi.v3.core.statement.CachingSqlParser
+
+
+
+
+
All Implemented Interfaces:
+
SqlParser
+
+
+
Direct Known Subclasses:
+
ColonPrefixSqlParser, HashPrefixSqlParser
+
+
+
public abstract class CachingSqlParser +extends Object +implements SqlParser
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      PARSED_SQL_CACHE_SIZE

      +
      +
      public static final int PARSED_SQL_CACHE_SIZE
      +
      The default size of the parsed SQL cache.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      parse

      +
      +
      public ParsedSql parse(String sql, + StatementContext ctx)
      +
      Description copied from interface: SqlParser
      +
      Parses the given SQL statement, and returns the ParsedSql + for the statement.
      +
      +
      Specified by:
      +
      parse in interface SqlParser
      +
      Parameters:
      +
      sql - The SQL statement to parse
      +
      ctx - The statement context for the statement being executed
      +
      Returns:
      +
      the parsed SQL representing the SQL statement itself along with + information about the parameters which should be bound (number and names)
      +
      +
      +
      +
    • +
    • +
      +

      cacheStats

      +
      +
      @Beta +public <T> T cacheStats()
      +
      Returns cache statistics for the internal sql parser cache. This returns a cache specific object, + so the user needs to know what caching library is in use.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Call.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Call.html new file mode 100644 index 00000000000..37b56cc2df9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Call.html @@ -0,0 +1,571 @@ + + + + +Call (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Call

+
+
java.lang.Object +
org.jdbi.v3.core.statement.SqlStatement<Call> +
org.jdbi.v3.core.statement.Call
+
+
+
+
+
+
All Implemented Interfaces:
+
Closeable, AutoCloseable, Configurable<Call>
+
+
+
public class Call +extends SqlStatement<Call>
+
Used for invoking stored procedures. The most common way to use this is to register OutParameters with the call and then use the invoke() method + to retrieve the return values from the invoked procedure. +
+ There are some databases, most prominently MS SqlServer that only support limited OUT parameters, especially do not support cursors + (for MS SqlServer see Using a stored procedure with output parameters). + Those databases may support returning a result set from the procedure invocation, to access this result set use the OutParameters.getResultSet() method to retrieve + the result set from the underlying call operation.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      registerOutParameter

      +
      +
      public Call registerOutParameter(int position, + int sqlType)
      +
      Register a positional output parameter.
      +
      +
      Parameters:
      +
      position - the parameter position (zero-based)
      +
      sqlType - an SQL type constant as defined by Types or by the JDBC vendor.
      +
      Returns:
      +
      self
      +
      +
      +
      +
    • +
    • +
      +

      registerOutParameter

      +
      +
      public Call registerOutParameter(int position, + int sqlType, + CallableStatementMapper mapper)
      +
      Register a positional output parameter.
      +
      +
      Parameters:
      +
      position - the parameter position (zero-based)
      +
      sqlType - an SQL type constant as defined by Types or by the JDBC vendor.
      +
      mapper - a mapper which converts the CallableStatement to a desired output type.
      +
      Returns:
      +
      self
      +
      +
      +
      +
    • +
    • +
      +

      registerOutParameter

      +
      +
      public Call registerOutParameter(String name, + int sqlType)
      +
      Register a named output parameter.
      +
      +
      Parameters:
      +
      name - the parameter name
      +
      sqlType - an SQL type constant as defined by Types or by the JDBC vendor.
      +
      Returns:
      +
      self
      +
      +
      +
      +
    • +
    • +
      +

      registerOutParameter

      +
      +
      public Call registerOutParameter(String name, + int sqlType, + CallableStatementMapper mapper)
      +
      Register a named output parameter.
      +
      +
      Parameters:
      +
      name - the parameter name
      +
      sqlType - an SQL type constant as defined by Types or by the JDBC vendor.
      +
      mapper - a mapper which converts the CallableStatement to a desired output type.
      +
      Returns:
      +
      self
      +
      +
      +
      +
    • +
    • +
      +

      invoke

      +
      +
      public OutParameters invoke()
      +
      Invoke the callable statement. Note that the statement will be cleaned up, so cursor-typed values may not work.
      +
      +
      Returns:
      +
      the output parameters resulting from the invocation.
      +
      +
      +
      +
    • +
    • +
      +

      invoke

      +
      +
      public void invoke(Consumer<OutParameters> resultConsumer)
      +
      Invoke the callable statement and process its OutParameters results.
      +
      +
      +
    • +
    • +
      +

      invoke

      +
      +
      public <T> T invoke(Function<OutParameters,T> resultComputer)
      +
      Invoke the callable statement and process its OutParameters results, + returning a computed value of type T.
      +
      +
      +
    • +
    • +
      +

      setFetchSize

      +
      +
      public Call setFetchSize(int fetchSize)
      +
      Specify the fetch size for the call. This should cause the results to be + fetched from the underlying RDBMS in groups of rows equal to the number passed. + This is useful for doing chunked streaming of results when exhausting memory + could be a problem.
      +
      +
      Parameters:
      +
      fetchSize - the number of rows to fetch in a bunch
      +
      Returns:
      +
      the modified call
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      setMaxRows

      +
      +
      public Call setMaxRows(int maxRows)
      +
      Specify the maximum number of rows the call is to return. This uses the underlying JDBC + Statement.setMaxRows(int)}.
      +
      +
      Parameters:
      +
      maxRows - maximum number of rows to return
      +
      Returns:
      +
      modified call
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      setMaxFieldSize

      +
      +
      public Call setMaxFieldSize(int maxFields)
      +
      Specify the maximum field size in the result set. This uses the underlying JDBC + Statement.setMaxFieldSize(int)
      +
      +
      Parameters:
      +
      maxFields - maximum field size
      +
      Returns:
      +
      modified call
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      concurrentUpdatable

      +
      +
      public Call concurrentUpdatable()
      +
      Specify that the result set should be concurrent updatable. + + This will allow the update methods to be called on the result set produced by this + Call.
      +
      +
      Returns:
      +
      the modified call
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      getHandle

      +
      +
      public final Handle getHandle()
      +
      +
      +
    • +
    • +
      +

      getConfig

      +
      +
      public ConfigRegistry getConfig()
      +
      Description copied from interface: Configurable
      +
      Returns the configuration registry associated with this object.
      +
      +
      Specified by:
      +
      getConfig in interface Configurable<This>
      +
      Returns:
      +
      the configuration registry associated with this object.
      +
      +
      +
      +
    • +
    • +
      +

      getContext

      +
      +
      public final StatementContext getContext()
      +
      Returns the statement context associated with this statement.
      +
      +
      Returns:
      +
      the statement context associated with this statement.
      +
      +
      +
      +
    • +
    • +
      +

      attachToHandleForCleanup

      +
      +
      @Beta +public final Call attachToHandleForCleanup()
      +
      Registers with the handle for cleaning when the handle is closed. +
      + There are some situations where Statements need to be cleaned up to avoid resource leaks. This method registers the current Statement it with the + Handle. If the statement or the context are cleaned by themselves, it will automatically unregister, so in normal operations, resources should not pool for cleanup with the Handle. +
      +
      +
      Since:
      +
      3.35.0
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      public void close()
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      Specified by:
      +
      close in interface Closeable
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public final boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public final int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/CallableStatementMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/CallableStatementMapper.html new file mode 100644 index 00000000000..1962d9c4bfd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/CallableStatementMapper.html @@ -0,0 +1,150 @@ + + + + +CallableStatementMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface CallableStatementMapper

+
+
+
+
+
public interface CallableStatementMapper
+
Map an OUT parameter in a callable statement to a result type.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    map(int position, + CallableStatement stmt)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Cleanable.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Cleanable.html new file mode 100644 index 00000000000..ab65211629c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Cleanable.html @@ -0,0 +1,227 @@ + + + + +Cleanable (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface Cleanable

+
+
+
+
+
All Superinterfaces:
+
AutoCloseable
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface Cleanable +extends AutoCloseable
+
Cleans up some JDBC resource e.g. after completing execution of a SQL statement. Arguments, mappers, and other + Jdbi interface implementations that allocate database resources should register a Cleanable to ensure that + resources are freed after database operations are completed.
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final Cleanable
    + +
    +
    A cleanable that does nothing.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
     
    +
    default void
    + +
    +
    Cleans the underlying resource and appends possible exceptions to the given Throwable.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      NO_OP

      +
      +
      static final Cleanable NO_OP
      +
      A cleanable that does nothing.
      +
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      close

      +
      +
      void close() + throws SQLException
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      Throws:
      +
      SQLException
      +
      +
      +
      +
    • +
    • +
      +

      closeAndSuppress

      +
      +
      default void closeAndSuppress(Throwable t)
      +
      Cleans the underlying resource and appends possible exceptions to the given Throwable.
      +
      +
      Parameters:
      +
      t - A Throwable. Must not be null.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ColonPrefixSqlParser.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ColonPrefixSqlParser.html new file mode 100644 index 00000000000..b5158c63e59 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ColonPrefixSqlParser.html @@ -0,0 +1,225 @@ + + + + +ColonPrefixSqlParser (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ColonPrefixSqlParser

+
+
java.lang.Object +
org.jdbi.v3.core.statement.CachingSqlParser +
org.jdbi.v3.core.statement.ColonPrefixSqlParser
+
+
+
+
+
+
All Implemented Interfaces:
+
SqlParser
+
+
+
public class ColonPrefixSqlParser +extends CachingSqlParser
+
SQL parser which recognizes named parameter tokens of the form + :tokenName +

+ This is the default SQL parser +

+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ColonPrefixSqlParser

      +
      +
      public ColonPrefixSqlParser()
      +
      +
      +
    • +
    • +
      +

      ColonPrefixSqlParser

      +
      +
      @Beta +public ColonPrefixSqlParser(JdbiCacheBuilder cacheBuilder)
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      nameParameter

      +
      +
      public String nameParameter(String rawName, + StatementContext ctx)
      +
      Description copied from interface: SqlParser
      +
      Convert rawName to a name as recognized by this parser
      +
      +
      Parameters:
      +
      rawName - the raw name to transform
      +
      ctx - The statement context for the statement being executed
      +
      Returns:
      +
      a name appropriate for being identified a a named parameter by this parser
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/DefaultStatementBuilder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/DefaultStatementBuilder.html new file mode 100644 index 00000000000..4d1bc8d2bbb --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/DefaultStatementBuilder.html @@ -0,0 +1,330 @@ + + + + +DefaultStatementBuilder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DefaultStatementBuilder

+
+
java.lang.Object +
org.jdbi.v3.core.statement.DefaultStatementBuilder
+
+
+
+
+
All Implemented Interfaces:
+
StatementBuilder
+
+
+
public class DefaultStatementBuilder +extends Object +implements StatementBuilder
+
A StatementBuilder which will always create a new PreparedStatement.
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DefaultStatementBuilder

      +
      +
      public DefaultStatementBuilder()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      create

      +
      +
      public Statement create(Connection conn, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: StatementBuilder
      +
      Called each time a statement needs to be created.
      +
      +
      Specified by:
      +
      create in interface StatementBuilder
      +
      Parameters:
      +
      conn - the JDBC Connection the statement is being created for
      +
      ctx - Statement context associated with the SqlStatement this is building for
      +
      Returns:
      +
      a Statement
      +
      Throws:
      +
      SQLException - if anything goes wrong getting the statement
      +
      +
      +
      +
    • +
    • +
      +

      create

      +
      +
      public PreparedStatement create(Connection conn, + String sql, + StatementContext ctx) + throws SQLException
      +
      Create a new DefaultStatementBuilder which will always create a new PreparedStatement from + the Connection
      +
      +
      Specified by:
      +
      create in interface StatementBuilder
      +
      Parameters:
      +
      conn - Used to prepare the statement
      +
      sql - Translated SQL statement
      +
      ctx - Unused
      +
      Returns:
      +
      a new PreparedStatement
      +
      Throws:
      +
      SQLException - if anything goes wrong preparing the statement
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      public void close(Connection conn, + String sql, + Statement stmt) + throws SQLException
      +
      Called to close an individual prepared statement created from this builder. + In this case, it closes immediately.
      +
      +
      Specified by:
      +
      close in interface StatementBuilder
      +
      Parameters:
      +
      conn - the JDBC Connection that this statement was created for.
      +
      sql - the translated SQL which was prepared
      +
      stmt - the statement
      +
      Throws:
      +
      SQLException - if anything goes wrong closing the statement
      +
      +
      +
      +
    • +
    • +
      +

      createCall

      +
      +
      public CallableStatement createCall(Connection conn, + String sql, + StatementContext ctx) + throws SQLException
      +
      Called each time a Callable statement needs to be created
      +
      +
      Specified by:
      +
      createCall in interface StatementBuilder
      +
      Parameters:
      +
      conn - the JDBC Connection the statement is being created for
      +
      sql - the translated SQL which should be prepared
      +
      ctx - Statement context associated with the SqlStatement this is building for
      +
      Returns:
      +
      a CallableStatement for the given arguments
      +
      Throws:
      +
      SQLException - if anything goes wrong preparing the statement
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/DefinedAttributeTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/DefinedAttributeTemplateEngine.html new file mode 100644 index 00000000000..28fbfc405a2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/DefinedAttributeTemplateEngine.html @@ -0,0 +1,226 @@ + + + + +DefinedAttributeTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DefinedAttributeTemplateEngine

+
+
java.lang.Object +
org.jdbi.v3.core.statement.DefinedAttributeTemplateEngine
+
+
+
+
+
All Implemented Interfaces:
+
TemplateEngine, TemplateEngine.Parsing
+
+
+
public class DefinedAttributeTemplateEngine +extends Object +implements TemplateEngine.Parsing
+
Template engine which replaces angle-bracketed tokens like + <name> with the string value of the named attribute. + Attribute names may contain letters (a-z, A-Z), digits (0-9), or underscores + (_).
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DefinedAttributeTemplateEngine

      +
      +
      public DefinedAttributeTemplateEngine()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      parse

      +
      +
      public Optional<Function<StatementContext,String>> parse(String template, + ConfigRegistry config)
      +
      Description copied from interface: TemplateEngine
      +
      Parse a SQL template and return a parsed representation ready to apply to a statement. + This allows the parsed representation to be cached and reused.
      +
      +
      Specified by:
      +
      parse in interface TemplateEngine
      +
      Specified by:
      +
      parse in interface TemplateEngine.Parsing
      +
      Parameters:
      +
      template - the sql template to parse
      +
      config - the Jdbi configuration at prepare time
      +
      Returns:
      +
      a parsed representation, if available
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/EmptyHandling.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/EmptyHandling.html new file mode 100644 index 00000000000..7526b6d31ca --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/EmptyHandling.html @@ -0,0 +1,275 @@ + + + + +EmptyHandling (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum EmptyHandling

+
+
java.lang.Object +
java.lang.Enum<EmptyHandling> +
org.jdbi.v3.core.statement.EmptyHandling
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<EmptyHandling>, BiConsumer<SqlStatement,String>
+
+
+
public enum EmptyHandling +extends Enum<EmptyHandling> +implements BiConsumer<SqlStatement,String>
+
describes what should be done if the value passed to SqlStatement.bindList(java.lang.String, java.lang.Object...) is null or empty
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      BLANK

      +
      +
      public static final EmptyHandling BLANK
      +

      Render nothing in the query.

      +

      + select * from things where x in ()

      +
      +
      +
    • +
    • +
      +

      NULL_KEYWORD

      +
      +
      public static final EmptyHandling NULL_KEYWORD
      +

      Render the keyword null in the query, useful e.g. in postgresql where "in ()" is invalid syntax.

      +

      + select * from things where x in (null)

      +
      +
      +
    • +
    • +
      +

      DEFINE_NULL

      +
      +
      public static final EmptyHandling DEFINE_NULL
      +

      Define a null value, leaving the result up to the TemplateEngine to decide.

      +

      + This value was specifically added to make conditionals work better with StringTemplate.

      +
      +
      +
    • +
    • +
      +

      THROW

      +
      +
      public static final EmptyHandling THROW
      +
      Throw IllegalArgumentException.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static EmptyHandling[] values()
      +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum type, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static EmptyHandling valueOf(String name)
      +
      Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum type has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/HashPrefixSqlParser.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/HashPrefixSqlParser.html new file mode 100644 index 00000000000..9c2289f1cba --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/HashPrefixSqlParser.html @@ -0,0 +1,222 @@ + + + + +HashPrefixSqlParser (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class HashPrefixSqlParser

+
+
java.lang.Object +
org.jdbi.v3.core.statement.CachingSqlParser +
org.jdbi.v3.core.statement.HashPrefixSqlParser
+
+
+
+
+
+
All Implemented Interfaces:
+
SqlParser
+
+
+
public class HashPrefixSqlParser +extends CachingSqlParser
+
SQL parser which recognizes named parameter tokens of the form + #tokenName.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      HashPrefixSqlParser

      +
      +
      public HashPrefixSqlParser()
      +
      +
      +
    • +
    • +
      +

      HashPrefixSqlParser

      +
      +
      @Beta +public HashPrefixSqlParser(JdbiCacheBuilder cacheBuilder)
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      nameParameter

      +
      +
      public String nameParameter(String rawName, + StatementContext ctx)
      +
      Description copied from interface: SqlParser
      +
      Convert rawName to a name as recognized by this parser
      +
      +
      Parameters:
      +
      rawName - the raw name to transform
      +
      ctx - The statement context for the statement being executed
      +
      Returns:
      +
      a name appropriate for being identified a a named parameter by this parser
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MessageFormatTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MessageFormatTemplateEngine.html new file mode 100644 index 00000000000..80a0bed3401 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MessageFormatTemplateEngine.html @@ -0,0 +1,249 @@ + + + + +MessageFormatTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MessageFormatTemplateEngine

+
+
java.lang.Object +
org.jdbi.v3.core.statement.MessageFormatTemplateEngine
+
+
+
+
+
All Implemented Interfaces:
+
TemplateEngine
+
+
+
@Deprecated +public class MessageFormatTemplateEngine +extends Object +implements TemplateEngine
+
Deprecated. +
MessageFormat formats integers with decimal separators, e.g. 1000"1,000". This hindsight realization has led us to discourage its use.
+
+
Uses the equivalent of MessageFormat.format(String, Object...) as a template engine. + + You must use "0", "1", "2", etc as keys: start at 0, increment by 1. Keys must be numerically unique. You must Configurable.define(String, Object) as many key/value pairs as there are placeholders in the pattern string. + + You may define key/value pairs in any order. Keys may contain leading '0's. + + Any invalid use will trigger an IllegalArgumentException (or subclasses such as NumberFormatException) when render(String, StatementContext) is called – typically when the statement is about to be executed. + + Example usage: +

+     // select bar from foo where col = 'abc'
+     jdbi.useHandle(handle -> handle.createCall("select {1} from {0} where col = ''{2}''")
+         .setTemplateEngine(MessageFormatTemplateEngine.INSTANCE)
+         .define("0", "foo")
+         .define("1", "bar")
+         .define("2", "abc")
+         .invoke());
+ 
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MessageFormatTemplateEngine

      +
      +
      public MessageFormatTemplateEngine()
      +
      Deprecated.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      +
      public String render(String template, + StatementContext ctx)
      +
      Deprecated.
      +
      Description copied from interface: TemplateEngine
      +
      Renders an SQL statement from the given template, using the statement + context as needed.
      +
      +
      Specified by:
      +
      render in interface TemplateEngine
      +
      Parameters:
      +
      template - The SQL to rewrite
      +
      ctx - The statement context for the statement being executed
      +
      Returns:
      +
      something which can provide the actual SQL to prepare a statement from + and which can bind the correct arguments to that prepared statement
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MetaData.MetaDataResultSetProvider.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MetaData.MetaDataResultSetProvider.html new file mode 100644 index 00000000000..f5025b0d125 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MetaData.MetaDataResultSetProvider.html @@ -0,0 +1,163 @@ + + + + +MetaData.MetaDataResultSetProvider (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface MetaData.MetaDataResultSetProvider

+
+
+
+
+
All Superinterfaces:
+
MetaData.MetaDataValueProvider<ResultSet>
+
+
+
Enclosing class:
+
MetaData
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public static interface MetaData.MetaDataResultSetProvider +extends MetaData.MetaDataValueProvider<ResultSet>
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    provideValue(DatabaseMetaData databaseMetaData)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MetaData.MetaDataValueProvider.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MetaData.MetaDataValueProvider.html new file mode 100644 index 00000000000..a32062bde5d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MetaData.MetaDataValueProvider.html @@ -0,0 +1,160 @@ + + + + +MetaData.MetaDataValueProvider (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface MetaData.MetaDataValueProvider<T>

+
+
+
+
+
All Known Subinterfaces:
+
MetaData.MetaDataResultSetProvider
+
+
+
Enclosing class:
+
MetaData
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public static interface MetaData.MetaDataValueProvider<T>
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    provideValue(DatabaseMetaData databaseMetaData)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MetaData.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MetaData.html new file mode 100644 index 00000000000..2268774346c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/MetaData.html @@ -0,0 +1,355 @@ + + + + +MetaData (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MetaData

+
+
java.lang.Object +
org.jdbi.v3.core.statement.MetaData
+
+
+
+
+
All Implemented Interfaces:
+
Closeable, AutoCloseable, Configurable<MetaData>, ResultBearing
+
+
+
public final class MetaData +extends Object +implements ResultBearing
+
Access to Database Metadata.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      scanResultSet

      +
      +
      public <R> R scanResultSet(ResultSetScanner<R> resultSetScanner)
      +
      Description copied from interface: ResultBearing
      +
      Invokes the mapper with a result set supplier, and returns the value returned by the mapper.
      +
      +
      Specified by:
      +
      scanResultSet in interface ResultBearing
      +
      Type Parameters:
      +
      R - result type returned by the mapper.
      +
      Parameters:
      +
      resultSetScanner - result set scanner
      +
      Returns:
      +
      the value returned by the mapper.
      +
      +
      +
      +
    • +
    • +
      +

      execute

      +
      +
      public <R> R execute()
      +
      +
      +
    • +
    • +
      +

      getHandle

      +
      +
      public final Handle getHandle()
      +
      +
      +
    • +
    • +
      +

      getConfig

      +
      +
      public ConfigRegistry getConfig()
      +
      Description copied from interface: Configurable
      +
      Returns the configuration registry associated with this object.
      +
      +
      Specified by:
      +
      getConfig in interface Configurable<This>
      +
      Returns:
      +
      the configuration registry associated with this object.
      +
      +
      +
      +
    • +
    • +
      +

      getContext

      +
      +
      public final StatementContext getContext()
      +
      Returns the statement context associated with this statement.
      +
      +
      Returns:
      +
      the statement context associated with this statement.
      +
      +
      +
      +
    • +
    • +
      +

      attachToHandleForCleanup

      +
      +
      @Beta +public final MetaData attachToHandleForCleanup()
      +
      Registers with the handle for cleaning when the handle is closed. +
      + There are some situations where Statements need to be cleaned up to avoid resource leaks. This method registers the current Statement it with the + Handle. If the statement or the context are cleaned by themselves, it will automatically unregister, so in normal operations, resources should not pool for cleanup with the Handle. +
      +
      +
      Since:
      +
      3.35.0
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      public void close()
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      Specified by:
      +
      close in interface Closeable
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public final boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public final int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/NoTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/NoTemplateEngine.html new file mode 100644 index 00000000000..6a2b615ba6c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/NoTemplateEngine.html @@ -0,0 +1,223 @@ + + + + +NoTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class NoTemplateEngine

+
+
java.lang.Object +
org.jdbi.v3.core.statement.NoTemplateEngine
+
+
+
+
+
All Implemented Interfaces:
+
TemplateEngine
+
+
+
public class NoTemplateEngine +extends Object +implements TemplateEngine
+
A TemplateEngine that does not do any templating but returns SQL verbatim.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      NoTemplateEngine

      +
      +
      public NoTemplateEngine()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      +
      public String render(String template, + StatementContext ctx)
      +
      Description copied from interface: TemplateEngine
      +
      Renders an SQL statement from the given template, using the statement + context as needed.
      +
      +
      Specified by:
      +
      render in interface TemplateEngine
      +
      Parameters:
      +
      template - The SQL to rewrite
      +
      ctx - The statement context for the statement being executed
      +
      Returns:
      +
      something which can provide the actual SQL to prepare a statement from + and which can bind the correct arguments to that prepared statement
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/OutParameters.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/OutParameters.html new file mode 100644 index 00000000000..a9cd92a6790 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/OutParameters.html @@ -0,0 +1,910 @@ + + + + +OutParameters (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class OutParameters

+
+
java.lang.Object +
org.jdbi.v3.core.statement.OutParameters
+
+
+
+
+
public class OutParameters +extends Object
+
Holds all output parameters from a stored procedure call using Call. + Since output parameters can themselves be streaming result sets or cursors, it is important + to consume your OutParameters before closing the Call or Handle they came from.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getResultSet

      +
      +
      public ResultBearing getResultSet()
      +
      Returns a ResultBearing backed by the main result set returned by the procedure. This is not supported by all databases.
      +
      +
      Returns:
      +
      A ResultBearing. This is never null but may be empty.
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      getObject

      +
      +
      @Nullable +public <T> T getObject(String name, + Class<T> type)
      +
      Retrieves an out parameter and casts it to a specific type.
      +
      +
      Type Parameters:
      +
      T - the output parameter type
      +
      Parameters:
      +
      name - The out parameter name
      +
      type - The java type to obtain
      +
      Returns:
      +
      the output of name as type T
      +
      Throws:
      +
      ClassCastException - If the parameter can not be cast to type T
      +
      +
      +
      +
    • +
    • +
      +

      getObject

      +
      +
      @Nullable +public <T> T getObject(int pos, + Class<T> type)
      +
      Retrieves an out parameter and casts it to a specific type.
      +
      +
      Type Parameters:
      +
      T - the output parameter type
      +
      Parameters:
      +
      pos - The out parameter index
      +
      type - The java type to obtain
      +
      Returns:
      +
      the output of name as type T
      +
      Throws:
      +
      ClassCastException - If the parameter can not be cast to type T
      +
      +
      +
      +
    • +
    • +
      +

      getObject

      +
      +
      @Nullable +public Object getObject(String name)
      +
      Retrieves an out parameter as an object.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as an Object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getObject

      +
      +
      @Nullable +public Object getObject(int pos)
      +
      Retrieves an out parameter as an object.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as an Object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getString

      +
      +
      @Nullable +public String getString(String name)
      +
      Retrieves an out parameter as a string.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as a String. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getString

      +
      +
      @Nullable +public String getString(int pos)
      +
      Retrieves an out parameter as a string.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as a String. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getBytes

      +
      +
      @Nullable +public byte[] getBytes(String name)
      +
      Retrieves an out parameter as a byte array.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as a byte array. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getBytes

      +
      +
      @Nullable +public byte[] getBytes(int pos)
      +
      Retrieves an out parameter as a byte array.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as a byte array. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getInt

      +
      +
      @Nullable +public Integer getInt(String name)
      +
      Retrieves an out parameter as a Integer object.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as an Integer object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getInt

      +
      +
      @Nullable +public Integer getInt(int pos)
      +
      Retrieves an out parameter as a Integer object.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as an Integer object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getIntValue

      +
      +
      public int getIntValue(String name)
      +
      Retrieves an out parameter as a int value.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as an int. Returns 0 if the value is absent.
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      getIntValue

      +
      +
      public int getIntValue(int pos)
      +
      Retrieves an out parameter as a int value.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as an int. Returns 0 if the value is absent.
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      getLong

      +
      +
      @Nullable +public Long getLong(String name)
      +
      Retrieves an out parameter as a Long object.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as an Long object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getLong

      +
      +
      @Nullable +public Long getLong(int pos)
      +
      Retrieves an out parameter as a Long object.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as an Long object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getLongValue

      +
      +
      public long getLongValue(String name)
      +
      Retrieves an out parameter as a long value.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as an long. Returns 0 if the value is absent.
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      getLongValue

      +
      +
      public long getLongValue(int pos)
      +
      Retrieves an out parameter as a long value.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as an long. Returns 0 if the value is absent.
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      getShort

      +
      +
      @Nullable +public Short getShort(String name)
      +
      Retrieves an out parameter as a Short object.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as an Short object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getShort

      +
      +
      @Nullable +public Short getShort(int pos)
      +
      Retrieves an out parameter as a Short object.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as an Short object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getShortValue

      +
      +
      public short getShortValue(String name)
      +
      Retrieves an out parameter as a short value.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as an short. Returns 0 if the value is absent.
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      getShortValue

      +
      +
      public short getShortValue(int pos)
      +
      Retrieves an out parameter as a short value.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as an short. Returns 0 if the value is absent.
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      getDate

      +
      +
      @Nullable +public Date getDate(String name)
      +
      Retrieves an out parameter as a Date object.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as a Date object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getDate

      +
      +
      @Nullable +public Date getDate(int pos)
      +
      Retrieves an out parameter as a Date object.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as a Date object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getTimestamp

      +
      +
      @Nullable +public Timestamp getTimestamp(String name)
      +
      Retrieves an out parameter as a Timestamp object.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as a Timestamp object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getTimestamp

      +
      +
      @Nullable +public Timestamp getTimestamp(int pos)
      +
      Retrieves an out parameter as a Timestamp object.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as a Timestamp object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getDouble

      +
      +
      @Nullable +public Double getDouble(String name)
      +
      Retrieves an out parameter as a Double object.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as an Double object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getDouble

      +
      +
      @Nullable +public Double getDouble(int pos)
      +
      Retrieves an out parameter as a Double object.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as an Double object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getDoubleValue

      +
      +
      public double getDoubleValue(String name)
      +
      Retrieves an out parameter as a double value.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as an double. Returns 0.0d if the value is absent.
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      getDoubleValue

      +
      +
      public double getDoubleValue(int pos)
      +
      Retrieves an out parameter as a double value.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as an double. Returns 0.0d if the value is absent.
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      getFloat

      +
      +
      @Nullable +public Float getFloat(String name)
      +
      Retrieves an out parameter as a Float object.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as an Float object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getFloat

      +
      +
      @Nullable +public Float getFloat(int pos)
      +
      Retrieves an out parameter as a Float object.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as an Float object. Can be null.
      +
      +
      +
      +
    • +
    • +
      +

      getFloatValue

      +
      +
      public float getFloatValue(String name)
      +
      Retrieves an out parameter as a float value.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      The value as an float. Returns 0.0f if the value is absent.
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      getFloatValue

      +
      +
      public float getFloatValue(int pos)
      +
      Retrieves an out parameter as a float value.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      The value as an float. Returns 0.0f if the value is absent.
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      getRowSet

      +
      +
      @Nonnull +public ResultBearing getRowSet(String name)
      +
      Retrieves a ResultBearing for an out parameter. This usually requires that the out parameter is a cursor type.
      +
      +
      Parameters:
      +
      name - The out parameter name
      +
      Returns:
      +
      A ResultBearing object representing the out parameter and backed by the cursor. + This is not supported by all database drivers. Never null but may be empty.
      +
      +
      +
      +
    • +
    • +
      +

      getRowSet

      +
      +
      @Nonnull +public ResultBearing getRowSet(int pos)
      +
      Retrieves a ResultBearing for an out parameter. This usually requires that the out parameter is a cursor type.
      +
      +
      Parameters:
      +
      pos - The out parameter index
      +
      Returns:
      +
      A ResultBearing object representing the out parameter and backed by the cursor. + This is not supported by all database drivers. Never null but may be empty.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ParsedParameters.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ParsedParameters.html new file mode 100644 index 00000000000..abd934a10ba --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ParsedParameters.html @@ -0,0 +1,287 @@ + + + + +ParsedParameters (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ParsedParameters

+
+
java.lang.Object +
org.jdbi.v3.core.statement.ParsedParameters
+
+
+
+
+
public final class ParsedParameters +extends Object
+
The parsed parameters from an SQL statement.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isPositional

      +
      +
      public boolean isPositional()
      +
      Whether the the SQL statement uses positional parameters. False means that + the statement either uses named parameters, or has no parameters at all.
      +
      +
      Returns:
      +
      true if the statemetnt uses positional parameters.
      +
      +
      +
      +
    • +
    • +
      +

      getParameterCount

      +
      +
      public int getParameterCount()
      +
      The number of parameters from the SQL statement.
      +
      +
      Returns:
      +
      the number of parameters from the SQL statement.
      +
      +
      +
      +
    • +
    • +
      +

      getParameterNames

      +
      +
      public List<String> getParameterNames()
      +
      The parameter names from the SQL statement.
      +
      +
      Returns:
      +
      the parameter names from the SQL statement.
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    • +
      +

      named

      +
      +
      public static ParsedParameters named(List<String> names)
      +
      A static factory of named ParsedParameters instances. + List given in argument must contain parameter names from the + related statement. They must be bare names, free of SQL + variable processing syntax such as a prefixed colon or other + delimiters.
      +
      +
      Parameters:
      +
      names - the parameter names from SQL statement
      +
      Returns:
      +
      New ParsedParameters instance
      +
      Throws:
      +
      IllegalArgumentException - if names list contains positional parameter
      +
      +
      +
      +
    • +
    • +
      +

      positional

      +
      +
      public static ParsedParameters positional(int count)
      +
      A static factory of positional ParsedParameters instances. + The count given in the argument must indicate how many positional + parameters are available in the statement.
      +
      +
      Parameters:
      +
      count - the number of positional parameters in statement
      +
      Returns:
      +
      New ParsedParameters instance
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ParsedSql.Builder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ParsedSql.Builder.html new file mode 100644 index 00000000000..6c7b0fa9c1c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ParsedSql.Builder.html @@ -0,0 +1,223 @@ + + + + +ParsedSql.Builder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ParsedSql.Builder

+
+
java.lang.Object +
org.jdbi.v3.core.statement.ParsedSql.Builder
+
+
+
+
+
Enclosing class:
+
ParsedSql
+
+
+
public static class ParsedSql.Builder +extends Object
+
Fluent builder for ParsedSql instances.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      append

      +
      +
      public ParsedSql.Builder append(String sqlFragment)
      +
      Appends the given SQL fragment to the SQL string.
      +
      +
      Parameters:
      +
      sqlFragment - the SQL fragment
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      appendPositionalParameter

      +
      +
      public ParsedSql.Builder appendPositionalParameter()
      +
      Records a positional parameters, and appends a ? to the + SQL string.
      +
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      appendNamedParameter

      +
      +
      public ParsedSql.Builder appendNamedParameter(String name)
      +
      Records a named parameter with the given name, and appends a + ? to the SQL string.
      +
      +
      Parameters:
      +
      name - the parameter name.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      build

      +
      +
      public ParsedSql build()
      +
      Returns the finalized ParsedSql object.
      +
      +
      Returns:
      +
      the finalized ParsedSql object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ParsedSql.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ParsedSql.html new file mode 100644 index 00000000000..ffd1893cf28 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/ParsedSql.html @@ -0,0 +1,292 @@ + + + + +ParsedSql (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ParsedSql

+
+
java.lang.Object +
org.jdbi.v3.core.statement.ParsedSql
+
+
+
+
+
public final class ParsedSql +extends Object
+
The SQL and parameters parsed from an SQL statement.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getSql

      +
      +
      public String getSql()
      +
      Returns a SQL string suitable for use with a JDBC PreparedStatement.
      +
      +
      Returns:
      +
      a SQL string suitable for use with a JDBC PreparedStatement.
      +
      +
      +
      +
    • +
    • +
      +

      getParameters

      +
      +
      public ParsedParameters getParameters()
      +
      The set of parameters parsed from the input SQL string.
      +
      +
      Returns:
      +
      the set of parameters parsed from the input SQL string.
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static ParsedSql of(String sql, + ParsedParameters parameters)
      +
      A static factory of ParsedSql instances. The statement + may contain only positional parameters + (the "?" character). If your SQL + code contains named parameters (for example variables preceded + by a colon) then you have to replace them with positional + parameters and specify the mapping in the + ParsedParameters. You cannot mix named and positional + parameters in one SQL statement.
      +
      +
      Parameters:
      +
      sql - the SQL code containing only positional parameters
      +
      parameters - the ordered list of named parameters, or positional parameters
      +
      Returns:
      +
      New ParsedSql instance
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      builder

      +
      +
      public static ParsedSql.Builder builder()
      +
      Creates a new ParsedSql builder.
      +
      +
      Returns:
      +
      a builder instance.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/PreparedBatch.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/PreparedBatch.html new file mode 100644 index 00000000000..127ea9c63c1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/PreparedBatch.html @@ -0,0 +1,565 @@ + + + + +PreparedBatch (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PreparedBatch

+
+
java.lang.Object +
org.jdbi.v3.core.statement.SqlStatement<PreparedBatch> +
org.jdbi.v3.core.statement.PreparedBatch
+
+
+
+
+
+
All Implemented Interfaces:
+
Closeable, AutoCloseable, Configurable<PreparedBatch>, ResultBearing
+
+
+
public class PreparedBatch +extends SqlStatement<PreparedBatch> +implements ResultBearing
+
Represents a prepared batch statement. Multiple bindings are added to the + compiled statement and then executed in a single operation. This is, generally, + a very efficient way to execute large numbers of the same statement where + the statement only varies by the arguments bound to it. + + The statement starts with an empty binding. You bind a single batch of parameters + with the usual SqlStatement binding methods, and then call + add() to add the current binding as a batch and then clear it. + + An entire batch can be bound and added in one go with add(Map) + or add(Object...).
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      scanResultSet

      +
      +
      public <R> R scanResultSet(ResultSetScanner<R> resultSetScanner)
      +
      Description copied from interface: ResultBearing
      +
      Invokes the mapper with a result set supplier, and returns the value returned by the mapper.
      +
      +
      Specified by:
      +
      scanResultSet in interface ResultBearing
      +
      Type Parameters:
      +
      R - result type returned by the mapper.
      +
      Parameters:
      +
      resultSetScanner - result set scanner
      +
      Returns:
      +
      the value returned by the mapper.
      +
      +
      +
      +
    • +
    • +
      +

      execute

      +
      +
      public int[] execute()
      +
      Execute the batch and return the number of rows affected for each batch part. + Note that some database drivers might return special values like Statement.SUCCESS_NO_INFO + or Statement.EXECUTE_FAILED.
      +
      +
      Returns:
      +
      the number of rows affected per batch part
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      executeAndGetModCount

      +
      +
      public ResultIterator<Integer> executeAndGetModCount()
      +
      Execute the batch and return the mod counts as in execute, but as a + Jdbi result iterator instead of an array.
      +
      +
      Returns:
      +
      the number of rows affected per batch part
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      executeAndReturnGeneratedKeys

      +
      +
      @Deprecated +public ResultBearing executeAndReturnGeneratedKeys(String... columnNames)
      +
      Deprecated. +
      Use executePreparedBatch(String...) which has the same functionality but also returns the per-batch modified row counts.
      +
      +
      Execute the batch and give access to any generated keys returned by the operation.
      +
      +
      Parameters:
      +
      columnNames - The column names for generated keys.
      +
      Returns:
      +
      A ResultBearing object that can be used to access the results of the batch.
      +
      +
      +
      +
    • +
    • +
      +

      executePreparedBatch

      +
      +
      public BatchResultBearing executePreparedBatch(String... columnNames)
      +
      Execute the batch and give access to any generated keys returned by the operation.
      +
      +
      Parameters:
      +
      columnNames - The column names for generated keys.
      +
      Returns:
      +
      A BatchResultBearing object that can be used to access the results of the batch and the per-batch modified row counts.
      +
      +
      +
      +
    • +
    • +
      +

      execute

      +
      +
      public <R> R execute(ResultProducer<R> producer)
      +
      Executes the batch, returning the result obtained from the given ResultProducer.
      +
      +
      Type Parameters:
      +
      R - the type of the result
      +
      Parameters:
      +
      producer - the result producer.
      +
      Returns:
      +
      value returned by the result producer.
      +
      +
      +
      +
    • +
    • +
      +

      add

      +
      +
      public PreparedBatch add()
      +
      Add the current binding as a saved batch and clear the binding.
      +
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      add

      +
      +
      public PreparedBatch add(Object... args)
      +
      Bind arguments positionally, add the binding as a saved batch, and + then clear the current binding.
      +
      +
      Parameters:
      +
      args - the positional arguments to bind
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      add

      +
      +
      public PreparedBatch add(Map<String,?> args)
      +
      Bind arguments from a Map, add the binding as a saved batch, + then clear the current binding.
      +
      +
      Parameters:
      +
      args - map to bind arguments from for named parameters on the statement
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      size

      +
      +
      public int size()
      +
      Returns the number of bindings in this batch.
      +
      +
      Returns:
      +
      the number of bindings in this batch.
      +
      +
      +
      +
    • +
    • +
      +

      getHandle

      +
      +
      public final Handle getHandle()
      +
      +
      +
    • +
    • +
      +

      getConfig

      +
      +
      public ConfigRegistry getConfig()
      +
      Description copied from interface: Configurable
      +
      Returns the configuration registry associated with this object.
      +
      +
      Specified by:
      +
      getConfig in interface Configurable<This>
      +
      Returns:
      +
      the configuration registry associated with this object.
      +
      +
      +
      +
    • +
    • +
      +

      getContext

      +
      +
      public final StatementContext getContext()
      +
      Returns the statement context associated with this statement.
      +
      +
      Returns:
      +
      the statement context associated with this statement.
      +
      +
      +
      +
    • +
    • +
      +

      attachToHandleForCleanup

      +
      +
      @Beta +public final PreparedBatch attachToHandleForCleanup()
      +
      Registers with the handle for cleaning when the handle is closed. +
      + There are some situations where Statements need to be cleaned up to avoid resource leaks. This method registers the current Statement it with the + Handle. If the statement or the context are cleaned by themselves, it will automatically unregister, so in normal operations, resources should not pool for cleanup with the Handle. +
      +
      +
      Since:
      +
      3.35.0
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      public void close()
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      Specified by:
      +
      close in interface Closeable
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public final boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public final int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Query.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Query.html new file mode 100644 index 00000000000..892a3e5d5b7 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Query.html @@ -0,0 +1,462 @@ + + + + +Query (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Query

+
+
java.lang.Object +
org.jdbi.v3.core.statement.SqlStatement<Query> +
org.jdbi.v3.core.statement.Query
+
+
+
+
+
+
All Implemented Interfaces:
+
Closeable, AutoCloseable, Configurable<Query>, ResultBearing
+
+
+
public class Query +extends SqlStatement<Query> +implements ResultBearing
+
Statement providing convenience result handling for SQL queries.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      execute

      +
      +
      public <R> R execute(ResultProducer<R> producer)
      +
      Executes the query, returning the result obtained from the given ResultProducer.
      +
      +
      Type Parameters:
      +
      R - the type of the result
      +
      Parameters:
      +
      producer - the result producer.
      +
      Returns:
      +
      value returned by the result producer.
      +
      +
      +
      +
    • +
    • +
      +

      scanResultSet

      +
      +
      public <R> R scanResultSet(ResultSetScanner<R> resultSetScanner)
      +
      Description copied from interface: ResultBearing
      +
      Invokes the mapper with a result set supplier, and returns the value returned by the mapper.
      +
      +
      Specified by:
      +
      scanResultSet in interface ResultBearing
      +
      Type Parameters:
      +
      R - result type returned by the mapper.
      +
      Parameters:
      +
      resultSetScanner - result set scanner
      +
      Returns:
      +
      the value returned by the mapper.
      +
      +
      +
      +
    • +
    • +
      +

      setFetchSize

      +
      +
      public Query setFetchSize(int fetchSize)
      +
      Specify the fetch size for the query. This should cause the results to be + fetched from the underlying RDBMS in groups of rows equal to the number passed. + This is useful for doing chunked streaming of results when exhausting memory + could be a problem.
      +
      +
      Parameters:
      +
      fetchSize - the number of rows to fetch in a bunch
      +
      Returns:
      +
      the modified query
      +
      +
      +
      +
    • +
    • +
      +

      setMaxRows

      +
      +
      public Query setMaxRows(int maxRows)
      +
      Specify the maximum number of rows the query is to return. This uses the underlying JDBC + Statement.setMaxRows(int)}.
      +
      +
      Parameters:
      +
      maxRows - maximum number of rows to return
      +
      Returns:
      +
      modified query
      +
      +
      +
      +
    • +
    • +
      +

      setMaxFieldSize

      +
      +
      public Query setMaxFieldSize(int maxFields)
      +
      Specify the maximum field size in the result set. This uses the underlying JDBC + Statement.setMaxFieldSize(int)
      +
      +
      Parameters:
      +
      maxFields - maximum field size
      +
      Returns:
      +
      modified query
      +
      +
      +
      +
    • +
    • +
      +

      concurrentUpdatable

      +
      +
      public Query concurrentUpdatable()
      +
      Specify that the result set should be concurrent updatable. + + This will allow the update methods to be called on the result set produced by this + Query.
      +
      +
      Returns:
      +
      the modified query
      +
      +
      +
      +
    • +
    • +
      +

      getHandle

      +
      +
      public final Handle getHandle()
      +
      +
      +
    • +
    • +
      +

      getConfig

      +
      +
      public ConfigRegistry getConfig()
      +
      Description copied from interface: Configurable
      +
      Returns the configuration registry associated with this object.
      +
      +
      Specified by:
      +
      getConfig in interface Configurable<This>
      +
      Returns:
      +
      the configuration registry associated with this object.
      +
      +
      +
      +
    • +
    • +
      +

      getContext

      +
      +
      public final StatementContext getContext()
      +
      Returns the statement context associated with this statement.
      +
      +
      Returns:
      +
      the statement context associated with this statement.
      +
      +
      +
      +
    • +
    • +
      +

      attachToHandleForCleanup

      +
      +
      @Beta +public final Query attachToHandleForCleanup()
      +
      Registers with the handle for cleaning when the handle is closed. +
      + There are some situations where Statements need to be cleaned up to avoid resource leaks. This method registers the current Statement it with the + Handle. If the statement or the context are cleaned by themselves, it will automatically unregister, so in normal operations, resources should not pool for cleanup with the Handle. +
      +
      +
      Since:
      +
      3.35.0
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      public void close()
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      Specified by:
      +
      close in interface Closeable
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public final boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public final int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Script.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Script.html new file mode 100644 index 00000000000..728637d0e20 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Script.html @@ -0,0 +1,375 @@ + + + + +Script (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Script

+
+
java.lang.Object +
org.jdbi.v3.core.statement.SqlStatement<Script> +
org.jdbi.v3.core.statement.Script
+
+
+
+
+
+
All Implemented Interfaces:
+
Closeable, AutoCloseable, Configurable<Script>
+
+
+
public class Script +extends SqlStatement<Script>
+
Represents a number of SQL statements delimited by semicolon which will be executed in order in a batch statement.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      execute

      +
      +
      public int[] execute()
      +
      Execute this script in a batch statement
      +
      +
      Returns:
      +
      an array of ints which are the results of each statement in the script
      +
      +
      +
      +
    • +
    • +
      +

      executeAsSeparateStatements

      +
      +
      public void executeAsSeparateStatements()
      +
      Execute this script as a set of separate statements
      +
      +
      +
    • +
    • +
      +

      getStatements

      +
      +
      public List<String> getStatements()
      +
      Locate the Script and split it into statements.
      +
      +
      Returns:
      +
      the split statements
      +
      +
      +
      +
    • +
    • +
      +

      getHandle

      +
      +
      public final Handle getHandle()
      +
      +
      +
    • +
    • +
      +

      getConfig

      +
      +
      public ConfigRegistry getConfig()
      +
      Description copied from interface: Configurable
      +
      Returns the configuration registry associated with this object.
      +
      +
      Specified by:
      +
      getConfig in interface Configurable<This>
      +
      Returns:
      +
      the configuration registry associated with this object.
      +
      +
      +
      +
    • +
    • +
      +

      getContext

      +
      +
      public final StatementContext getContext()
      +
      Returns the statement context associated with this statement.
      +
      +
      Returns:
      +
      the statement context associated with this statement.
      +
      +
      +
      +
    • +
    • +
      +

      attachToHandleForCleanup

      +
      +
      @Beta +public final Script attachToHandleForCleanup()
      +
      Registers with the handle for cleaning when the handle is closed. +
      + There are some situations where Statements need to be cleaned up to avoid resource leaks. This method registers the current Statement it with the + Handle. If the statement or the context are cleaned by themselves, it will automatically unregister, so in normal operations, resources should not pool for cleanup with the Handle. +
      +
      +
      Since:
      +
      3.35.0
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      public void close()
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      Specified by:
      +
      close in interface Closeable
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public final boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public final int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Slf4JSqlLogger.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Slf4JSqlLogger.html new file mode 100644 index 00000000000..be90f59ff2b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Slf4JSqlLogger.html @@ -0,0 +1,242 @@ + + + + +Slf4JSqlLogger (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Slf4JSqlLogger

+
+
java.lang.Object +
org.jdbi.v3.core.statement.Slf4JSqlLogger
+
+
+
+
+
All Implemented Interfaces:
+
SqlLogger
+
+
+
public class Slf4JSqlLogger +extends Object +implements SqlLogger
+
Simple SqlLogger that emits some diagnostic information about + Jdbi usage. Usually you shouldn't log every database statement made but + it can be helpful for debugging.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlLogger.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlLogger.html new file mode 100644 index 00000000000..faccd4a80bb --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlLogger.html @@ -0,0 +1,228 @@ + + + + +SqlLogger (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SqlLogger

+
+
+
+
+
All Known Implementing Classes:
+
Slf4JSqlLogger
+
+
+
public interface SqlLogger
+
SqlLoggers receive query data before and after a query is executed, and after an exception is thrown by a bad query. + + Defined attributes (see Configurable.define(String, Object)) and bound Arguments (see SqlStatement.bind(String, Object)) are available on the StatementContext, along with timing information using Instants. It's recommendable to use ChronoUnit.between(java.time.temporal.Temporal, java.time.temporal.Temporal) to measure elapsed time in your unit of choice, as in StatementContext.getElapsedTime(java.time.temporal.ChronoUnit). + + Note that if you bind an Argument instance directly, it must implement Object.toString() if you want to be able to log it in any meaningful way. You can also implement log censorship that way, e.g. to hide sensitive content like passwords.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlParser.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlParser.html new file mode 100644 index 00000000000..e0870311edc --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlParser.html @@ -0,0 +1,188 @@ + + + + +SqlParser (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SqlParser

+
+
+
+
+
All Known Implementing Classes:
+
CachingSqlParser, ColonPrefixSqlParser, HashPrefixSqlParser
+
+
+
public interface SqlParser
+
Parses the named parameters out of an SQL statement, and returns the + ParsedSql containing the JDBC-ready SQL statement, along with the + type of parameters used (named or positional), the number, and the parameter + name for each position (if applicable).
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      parse

      +
      +
      ParsedSql parse(String sql, + StatementContext ctx)
      +
      Parses the given SQL statement, and returns the ParsedSql + for the statement.
      +
      +
      Parameters:
      +
      sql - The SQL statement to parse
      +
      ctx - The statement context for the statement being executed
      +
      Returns:
      +
      the parsed SQL representing the SQL statement itself along with + information about the parameters which should be bound (number and names)
      +
      +
      +
      +
    • +
    • +
      +

      nameParameter

      +
      +
      String nameParameter(String rawName, + StatementContext ctx)
      +
      Convert rawName to a name as recognized by this parser
      +
      +
      Parameters:
      +
      rawName - the raw name to transform
      +
      ctx - The statement context for the statement being executed
      +
      Returns:
      +
      a name appropriate for being identified a a named parameter by this parser
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlStatement.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlStatement.html new file mode 100644 index 00000000000..7c7ea7bceec --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlStatement.html @@ -0,0 +1,3204 @@ + + + + +SqlStatement (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SqlStatement<This extends SqlStatement<This>>

+
+
java.lang.Object +
org.jdbi.v3.core.statement.SqlStatement<This>
+
+
+
+
+
All Implemented Interfaces:
+
Closeable, AutoCloseable, Configurable<This>
+
+
+
Direct Known Subclasses:
+
Call, PreparedBatch, Query, Script, Update
+
+
+
public abstract class SqlStatement<This extends SqlStatement<This>> +extends Object
+
This class provides the common functions between Query and + Update. It defines most of the argument binding functions + used by its subclasses.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setQueryTimeout

      +
      +
      public This setQueryTimeout(int seconds)
      +
      Set the query timeout, in seconds, on the prepared statement.
      +
      +
      Parameters:
      +
      seconds - number of seconds before timing out
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      cleanupHandleCommit

      +
      +
      public This cleanupHandleCommit()
      +
      Transfer ownership of the handle to the statement: when the statement is closed, + commit the handle's transaction (if one exists) and close the handle.
      +
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      cleanupHandleRollback

      +
      +
      public This cleanupHandleRollback()
      +
      When the statement is closed, roll it back then close the owning Handle.
      +
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public This bind(int position, + Argument argument)
      +
      Used if you need to have some exotic parameter bound.
      +
      +
      Parameters:
      +
      position - position to bindBinaryStream this argument, starting at 0
      +
      argument - exotic argument factory
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public This bind(String name, + Argument argument)
      +
      Used if you need to have some exotic parameter bound.
      +
      +
      Parameters:
      +
      name - name to bindBinaryStream this argument
      +
      argument - exotic argument factory
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindBean

      +
      +
      public This bindBean(Object bean)
      +
      Binds named parameters from JavaBean properties on the argument.
      +
      +
      Parameters:
      +
      bean - source of named parameter values to use as arguments
      +
      Returns:
      +
      modified statement
      +
      +
      +
      +
    • +
    • +
      +

      bindBean

      +
      +
      public This bindBean(String prefix, + Object bean)
      +
      Binds named parameters from JavaBean properties on the bean argument, with the given prefix. + + Example: the prefix foo applied to a bean property bar will be bound as foo.bar.
      +
      +
      Parameters:
      +
      prefix - a prefix to apply to all property names.
      +
      bean - source of named parameter values to use as arguments. Can be null, in this case, nothing is bound.
      +
      Returns:
      +
      modified statement
      +
      +
      +
      +
    • +
    • +
      +

      bindPojo

      +
      +
      @Beta +public This bindPojo(Object pojo)
      +
      Binds named parameters from object properties on the argument. + The type must have been registered with pojo type mapping functionality first, usually + by a plugin or configuration.
      +
      +
      Parameters:
      +
      pojo - source of named parameter values to use as arguments
      +
      Returns:
      +
      modified statement
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindPojo

      +
      +
      @Beta +public This bindPojo(String prefix, + Object pojo)
      +
      Binds named parameters from object properties on the bean argument, with the given prefix. + The type must have been registered with pojo type mapping functionality first, usually + by a plugin or configuration.
      +
      +
      Parameters:
      +
      prefix - a prefix to apply to all property names.
      +
      pojo - source of named parameter values to use as arguments
      +
      Returns:
      +
      modified statement
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindPojo

      +
      +
      @Beta +public This bindPojo(Object pojo, + Type type)
      +
      Binds named parameters from object properties on the argument. + The type must have been registered with pojo type mapping functionality first, usually + by a plugin or configuration.
      +
      +
      Parameters:
      +
      pojo - source of named parameter values to use as arguments
      +
      type - the static, possibly generic type of the pojo
      +
      Returns:
      +
      modified statement
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindPojo

      +
      +
      @Beta +public This bindPojo(String prefix, + Object pojo, + Type type)
      +
      Binds named parameters from object properties on the bean argument, with the given prefix. + The type must have been registered with pojo type mapping functionality first, usually + by a plugin or configuration.
      +
      +
      Parameters:
      +
      prefix - a prefix to apply to all property names.
      +
      pojo - source of named parameter values to use as arguments
      +
      type - the static, possibly generic type of the pojo
      +
      Returns:
      +
      modified statement
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindPojo

      +
      +
      @Beta +public This bindPojo(Object pojo, + GenericType<?> type)
      +
      Binds named parameters from object properties on the argument. + The type must have been registered with pojo type mapping functionality first, usually + by a plugin or configuration.
      +
      +
      Parameters:
      +
      pojo - source of named parameter values to use as arguments
      +
      type - the static generic type of the pojo
      +
      Returns:
      +
      modified statement
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindPojo

      +
      +
      @Beta +public This bindPojo(String prefix, + Object pojo, + GenericType<?> type)
      +
      Binds named parameters from object properties on the bean argument, with the given prefix. + The type must have been registered with pojo type mapping functionality first, usually + by a plugin or configuration.
      +
      +
      Parameters:
      +
      prefix - a prefix to apply to all property names.
      +
      pojo - source of named parameter values to use as arguments
      +
      type - the static generic type of the pojo
      +
      Returns:
      +
      modified statement
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindFields

      +
      +
      public This bindFields(Object object)
      +
      Binds public fields of the specified object as arguments for the query.
      +
      +
      Parameters:
      +
      object - source of the public fields to bind.
      +
      Returns:
      +
      modified statement
      +
      +
      +
      +
    • +
    • +
      +

      bindFields

      +
      +
      public This bindFields(String prefix, + Object object)
      +
      Binds public fields of the specified object as arguments for the query.
      +
      +
      Parameters:
      +
      prefix - a prefix to apply to all field names.
      +
      object - source of the public fields to bind. If the object is null, nothing is bound.
      +
      Returns:
      +
      modified statement
      +
      +
      +
      +
    • +
    • +
      +

      bindMethods

      +
      +
      public This bindMethods(Object object)
      +
      Binds methods with no parameters on the argument.
      +
      +
      Parameters:
      +
      object - source of methods to use as arguments
      +
      Returns:
      +
      modified statement
      +
      +
      +
      +
    • +
    • +
      +

      bindMethods

      +
      +
      public This bindMethods(String prefix, + Object object)
      +
      Binds methods with no parameters on the argument, with the given prefix.
      +
      +
      Parameters:
      +
      prefix - a prefix to apply to all property names.
      +
      object - source of methods to use as arguments. If the object is null, nothing is bound.
      +
      Returns:
      +
      modified statement
      +
      +
      +
      +
    • +
    • +
      +

      bindMap

      +
      +
      public This bindMap(Map<String,?> map)
      +
      Binds named parameters from a map of String to Object instances
      +
      +
      Parameters:
      +
      map - map where keys are matched to named parameters in order to bind arguments. + Can be null, in which case the binding has no effect.
      +
      Returns:
      +
      modified statement
      +
      +
      +
      +
    • +
    • +
      +

      bindNamedArgumentFinder

      +
      +
      public This bindNamedArgumentFinder(NamedArgumentFinder namedArgumentFinder)
      +
      Binds a new NamedArgumentFinder.
      +
      +
      Parameters:
      +
      namedArgumentFinder - A NamedArgumentFinder to bind. Can be null.
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Character value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Character value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + String value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + String value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindNVarchar

      +
      +
      public final This bindNVarchar(int position, + String value)
      +
      Bind a String argument positionally, as NVARCHAR type.
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindNVarchar

      +
      +
      public final This bindNVarchar(String name, + String value)
      +
      Bind a String argument by name, as NVARCHAR type.
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + int value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Integer value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + int value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Integer value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + char value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + char value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindASCIIStream

      +
      +
      public final This bindASCIIStream(int position, + InputStream value, + int length)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      length - how long is the stream being bound?
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindASCIIStream

      +
      +
      public final This bindASCIIStream(String name, + InputStream value, + int length)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      length - bytes to read from value
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + BigDecimal value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + BigDecimal value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindBinaryStream

      +
      +
      public final This bindBinaryStream(int position, + InputStream value, + int length)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      length - the number of bytes in the stream.
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindBinaryStream

      +
      +
      public final This bindBinaryStream(String name, + InputStream value, + int length)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      length - bytes to read from value
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Blob value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Blob value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + boolean value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Boolean value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + boolean value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Boolean value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + byte value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Byte value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + byte value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Byte value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + byte[] value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + byte[] value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Reader value, + int length)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      length - number of characters to read
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Reader value, + int length)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      length - number of characters to read
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Clob value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Clob value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Date value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Date value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Date value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Date value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + double value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Double value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + double value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Double value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + float value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Float value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + float value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Float value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + long value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Long value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + long value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Long value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Short value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + short value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + short value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Short value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Object value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Object value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Time value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Time value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + Timestamp value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + Timestamp value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + URL value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + URL value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + URI value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + URI value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(int position, + UUID value)
      +
      Bind an argument positionally
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bind

      +
      +
      public final This bind(String name, + UUID value)
      +
      Bind an argument by name
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindByType

      +
      +
      public final This bindByType(int position, + Object value, + Type argumentType)
      +
      Bind an argument dynamically by the type passed in.
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      argumentType - type for value argument
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindByType

      +
      +
      public final This bindByType(int position, + Object value, + GenericType<?> argumentType)
      +
      Bind an argument dynamically by the generic type passed in.
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      argumentType - type token for value argument
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindByType

      +
      +
      public final This bindByType(int position, + Object value, + QualifiedType<?> argumentType)
      +
      Bind an argument dynamically by the qualified type passed in.
      +
      +
      Parameters:
      +
      position - position to bind the parameter at, starting at 0
      +
      value - to bind
      +
      argumentType - type token for value argument
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindByType

      +
      +
      public final This bindByType(String name, + Object value, + Type argumentType)
      +
      Bind an argument dynamically by the type passed in.
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      argumentType - type for value argument
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindByType

      +
      +
      public final This bindByType(String name, + Object value, + GenericType<?> argumentType)
      +
      Bind an argument dynamically by the generic type passed in.
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      argumentType - type token for value argument
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindByType

      +
      +
      public final This bindByType(String name, + Object value, + QualifiedType<?> argumentType)
      +
      Bind an argument dynamically by the type passed in.
      +
      +
      Parameters:
      +
      name - token name to bind the parameter to
      +
      value - to bind
      +
      argumentType - type for value argument
      +
      Returns:
      +
      the same Query instance
      +
      +
      +
      +
    • +
    • +
      +

      bindArray

      +
      +
      @SafeVarargs +public final <T> This bindArray(String name, + T... array)
      +
      Bind a Java array as a SQL array. Usually you can just bind(int, Object) an array, + but this method allows varargs.
      +
      +
      Type Parameters:
      +
      T - the array element type
      +
      Parameters:
      +
      name - the name of the parameter to bind
      +
      array - the array to bind
      +
      Returns:
      +
      this Query
      +
      +
      +
      +
    • +
    • +
      +

      bindArray

      +
      +
      @SafeVarargs +public final <T> This bindArray(int pos, + T... array)
      +
      Bind a Java array as a SQL array. Usually you can just bind(int, Object) an array, + but this method allows varargs.
      +
      +
      Type Parameters:
      +
      T - the array element type
      +
      Parameters:
      +
      pos - the position of the parameter to bind
      +
      array - the array to bind
      +
      Returns:
      +
      this Query
      +
      +
      +
      +
    • +
    • +
      +

      bindArray

      +
      +
      public final This bindArray(String name, + Type elementType, + Object... array)
      +
      Bind a Java array as a SQL array, casting each element to a new type.
      +
      +
      Parameters:
      +
      name - the name of the parameter to bind
      +
      elementType - the array element type
      +
      array - the array to bind
      +
      Returns:
      +
      this Query
      +
      +
      +
      +
    • +
    • +
      +

      bindArray

      +
      +
      public final This bindArray(int pos, + Type elementType, + Object... array)
      +
      Bind a Java array as a SQL array, casting each element to a new type.
      +
      +
      Parameters:
      +
      pos - the position of the parameter to bind
      +
      elementType - the array element type
      +
      array - the array to bind
      +
      Returns:
      +
      this Query
      +
      +
      +
      +
    • +
    • +
      +

      bindArray

      +
      +
      public final This bindArray(String name, + Type elementType, + Iterable<?> iterable)
      +
      Bind an Iterable as a SQL array.
      +
      +
      Parameters:
      +
      name - the name of the parameter to bind
      +
      elementType - the element type of the Iterable
      +
      iterable - the iterable to bind as an array
      +
      Returns:
      +
      this Query
      +
      +
      +
      +
    • +
    • +
      +

      bindArray

      +
      +
      public final This bindArray(int pos, + Type elementType, + Iterable<?> iterable)
      +
      Bind an Iterable as a SQL array.
      +
      +
      Parameters:
      +
      pos - the position of the parameter to bind
      +
      elementType - the element type of the Iterable
      +
      iterable - the iterable to bind as an array
      +
      Returns:
      +
      this Query
      +
      +
      +
      +
    • +
    • +
      +

      bindArray

      +
      +
      public final This bindArray(String name, + Type elementType, + Iterator<?> iterator)
      +
      Bind an Iterator as a SQL array.
      +
      +
      Parameters:
      +
      name - the name of the parameter to bind
      +
      elementType - the element type of the Iterable
      +
      iterator - the iterator to bind as an array
      +
      Returns:
      +
      this Query
      +
      +
      +
      +
    • +
    • +
      +

      bindArray

      +
      +
      public final This bindArray(int pos, + Type elementType, + Iterator<?> iterator)
      +
      Bind an Iterator as a SQL array.
      +
      +
      Parameters:
      +
      pos - the position of the parameter to bind
      +
      elementType - the element type of the Iterator
      +
      iterator - the Iterator to bind as an array
      +
      Returns:
      +
      this Query
      +
      +
      +
      +
    • +
    • +
      +

      bindNull

      +
      +
      public final This bindNull(String name, + int sqlType)
      +
      Bind NULL to be set for a given argument.
      +
      +
      Parameters:
      +
      name - Named parameter to bind to
      +
      sqlType - The sqlType must be set and is a value from java.sql.Types
      +
      Returns:
      +
      the same statement instance
      +
      +
      +
      +
    • +
    • +
      +

      bindNull

      +
      +
      public final This bindNull(int position, + int sqlType)
      +
      Bind NULL to be set for a given argument.
      +
      +
      Parameters:
      +
      position - position to bind NULL to, starting at 0
      +
      sqlType - The sqlType must be set and is a value from java.sql.Types
      +
      Returns:
      +
      the same statement instance
      +
      +
      +
      +
    • +
    • +
      +

      bindBySqlType

      +
      +
      public final This bindBySqlType(String name, + Object value, + int sqlType)
      +
      Bind a value using a specific type from java.sql.Types via + PreparedStatement#setObject(int, Object, int)
      +
      +
      Parameters:
      +
      name - Named parameter to bind at
      +
      value - Value to bind
      +
      sqlType - The sqlType from java.sql.Types
      +
      Returns:
      +
      self
      +
      +
      +
      +
    • +
    • +
      +

      bindBySqlType

      +
      +
      public final This bindBySqlType(int position, + Object value, + int sqlType)
      +
      Bind a value using a specific type from java.sql.Types via + PreparedStatement#setObject(int, Object, int)
      +
      +
      Parameters:
      +
      position - position to bind NULL to, starting at 0
      +
      value - Value to bind
      +
      sqlType - The sqlType from java.sql.Types
      +
      Returns:
      +
      self
      +
      +
      +
      +
    • +
    • +
      +

      bindList

      +
      +
      public final This bindList(String key, + Object... values)
      + +
      +
      Parameters:
      +
      key - attribute name
      +
      values - vararg values that will be comma-spliced into the defined attribute value.
      +
      Returns:
      +
      this
      +
      Throws:
      +
      IllegalArgumentException - if the vararg array is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindList

      +
      +
      public final This bindList(BiConsumer<SqlStatement,String> onEmpty, + String key, + Object... values)
      + +
      +
      Parameters:
      +
      onEmpty - handler for null/empty vararg array
      +
      key - attribute name
      +
      values - vararg values that will be comma-spliced into the defined attribute value.
      +
      Returns:
      +
      this
      +
      Throws:
      +
      IllegalArgumentException - if the vararg array is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindList

      +
      +
      public final This bindList(String key, + Iterable<?> values)
      + +
      +
      Parameters:
      +
      key - attribute name
      +
      values - iterable values that will be comma-spliced into the defined attribute value.
      +
      Returns:
      +
      this
      +
      Throws:
      +
      IllegalArgumentException - if the iterable is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindList

      +
      +
      public final This bindList(BiConsumer<SqlStatement,String> onEmpty, + String key, + Iterable<?> values)
      + +
      +
      Parameters:
      +
      onEmpty - handler for null/empty list
      +
      key - attribute name
      +
      values - iterable values that will be comma-spliced into the defined attribute value.
      +
      Returns:
      +
      this
      +
      Throws:
      +
      IllegalArgumentException - if the iterable is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindList

      +
      +
      public final This bindList(String key, + Iterator<?> values)
      + +
      +
      Parameters:
      +
      key - attribute name
      +
      values - iterator of values that will be comma-spliced into the defined attribute value.
      +
      Returns:
      +
      this
      +
      Throws:
      +
      IllegalArgumentException - if the iterator is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindList

      +
      +
      public final This bindList(BiConsumer<SqlStatement,String> onEmpty, + String key, + Iterator<?> values)
      + +
      +
      Parameters:
      +
      onEmpty - handler for null/empty list
      +
      key - attribute name
      +
      values - iterator of values that will be comma-spliced into the defined attribute value.
      +
      Returns:
      +
      this
      +
      Throws:
      +
      IllegalArgumentException - if the iterator is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindList

      +
      +
      public final This bindList(BiConsumer<SqlStatement,String> onEmpty, + String key, + List<?> values)
      +
      Bind a parameter for each value in the given list, and defines an attribute as the comma-separated list of + parameter references (using colon prefix). +

      + Examples: +

      + List<String> columnNames = Arrays.asList("id", "name", "created_on");
      + List<Object> values = Arrays.asList(1, "Alice", LocalDate.now());
      + handle.createUpdate("insert into things (<columnNames>) values (<values>)")
      +     .defineList("columnNames", columnNames)
      +     .bindList("values", values)
      +     .execute();
      +
      + List<Integer> ids = Arrays.asList(1, 2, 3);
      + List<Thing> things = handle.createQuery("select * from things where id in (<ids>)")
      +     .bindList("ids", ids)
      +     .mapTo(Contact.class)
      +     .list();
      + 
      + + Note that using this method modifies the SQL statement by using a defined attribute. This is + problematic when using Handle.prepareBatch(String) or the PreparedBatch SQL + operation as those evaluate the SQL statement only once. When binding lists of different size, + the number of placeholders will not match the number of elements in the list which will lead + to errors.
      +
      +
      Parameters:
      +
      onEmpty - handler for null/empty list
      +
      key - attribute name
      +
      values - list of values that will be comma-spliced into the defined attribute value.
      +
      Returns:
      +
      this
      +
      Throws:
      +
      IllegalArgumentException - if the list is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindBeanList

      +
      +
      public final This bindBeanList(String key, + List<?> values, + List<String> propertyNames)
      +
      Bind a parameter for each value in the given list * number of property names, + and defines an attribute as the comma-separated list of parameter references (using colon prefix). + + Used to create query similar to: + select * from things where (id, foo) in ((1,'abc'),(2,'def'),(3,'ghi')) +

      + Examples: +

      +
      + List<ThingKey> thingKeys = ...
      + List<Thing> things = handle.createQuery("select * from things where (id, foo) in (<thingKeys>)")
      +     .bindBeanList("thingKeys", thingKeys, Arrays.asList("id", "foo"))
      +     .mapTo(Contact.class)
      +     .list();
      + 
      +
      +
      Parameters:
      +
      key - attribute name
      +
      values - list of values that will be comma-spliced into the defined attribute value.
      +
      propertyNames - list of properties that will be invoked on the values.
      +
      Returns:
      +
      this
      +
      Throws:
      +
      IllegalArgumentException - if the list of values or properties is empty.
      +
      UnableToCreateStatementException - If a property can't be found on an value or we can't find a Argument for it.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      bindMethodsList

      +
      +
      public final This bindMethodsList(String key, + Iterable<?> values, + List<String> methodNames)
      +
      For each value given, create a tuple by invoking each given method in order, and bind the tuple into + a VALUES (...) format insert clause.
      +
      +
      Parameters:
      +
      key - attribute name
      +
      values - list of values that will be comma-spliced into the defined attribute value
      +
      methodNames - list of methods that will be invoked on the values
      +
      Returns:
      +
      this
      +
      Throws:
      +
      IllegalArgumentException - if the list of values or properties is empty.
      +
      UnableToCreateStatementException - if the method cannot be found
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      defineList

      +
      +
      public final This defineList(String key, + Object... values)
      +
      Define an attribute as the comma-separated String from the elements of the values argument. +

      + Examples: +

      + handle.createUpdate("insert into things (<columnNames>) values (<values>)")
      +     .defineList("columnNames", "id", "name", "created_on")
      +     .bindList("values", 1, "Alice", LocalDate.now())
      +     .execute();
      +
      + List<Thing> things = handle.createQuery("select <columnNames> from things")
      +     .bindList("columnNames", "id", "name", "created_on")
      +     .mapTo(Contact.class)
      +     .list();
      + 
      +
      +
      Parameters:
      +
      key - attribute name
      +
      values - vararg values that will be comma-spliced into the defined attribute value.
      +
      Returns:
      +
      this
      +
      Throws:
      +
      IllegalArgumentException - if the vararg array is empty, or contains any null elements.
      +
      +
      +
      +
    • +
    • +
      +

      defineList

      +
      +
      public final This defineList(String key, + List<?> values)
      +
      Define an attribute as the comma-separated String from the elements of the values argument. +

      + Examples: +

      + List<String> columnNames = Arrays.asList("id", "name", "created_on");
      + List<Object> values = Arrays.asList(1, "Alice", LocalDate.now());
      + handle.createUpdate("insert into things (<columnNames>) values (<values>)")
      +     .defineList("columnNames", columnNames)
      +     .bindList("values", 1, values)
      +     .execute();
      +
      + List<String> columnNames = Arrays.asList("id", "name", "created_on");
      + List<Thing> things = handle.createQuery("select <columnNames> from things")
      +     .bindList("columnNames", columnNames)
      +     .mapTo(Contact.class)
      +     .list();
      + 
      +
      +
      Parameters:
      +
      key - attribute name
      +
      values - list of values that will be comma-spliced into the defined attribute value.
      +
      Returns:
      +
      this
      +
      Throws:
      +
      IllegalArgumentException - if the list is empty, or contains any null elements.
      +
      +
      +
      +
    • +
    • +
      +

      defineNamedBindings

      +
      +
      @Beta +public This defineNamedBindings()
      +
      Define all bound arguments that don't already have a definition with a boolean indicating their presence. + Useful to easily template optional properties of pojos or beans like <if(property)>property = :property<endif>.
      +
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    • +
      +

      getHandle

      +
      +
      public final Handle getHandle()
      +
      +
      +
    • +
    • +
      +

      getConfig

      +
      +
      public ConfigRegistry getConfig()
      +
      Description copied from interface: Configurable
      +
      Returns the configuration registry associated with this object.
      +
      +
      Specified by:
      +
      getConfig in interface Configurable<This>
      +
      Returns:
      +
      the configuration registry associated with this object.
      +
      +
      +
      +
    • +
    • +
      +

      getContext

      +
      +
      public final StatementContext getContext()
      +
      Returns the statement context associated with this statement.
      +
      +
      Returns:
      +
      the statement context associated with this statement.
      +
      +
      +
      +
    • +
    • +
      +

      attachToHandleForCleanup

      +
      +
      @Beta +public final This attachToHandleForCleanup()
      +
      Registers with the handle for cleaning when the handle is closed. +
      + There are some situations where Statements need to be cleaned up to avoid resource leaks. This method registers the current Statement it with the + Handle. If the statement or the context are cleaned by themselves, it will automatically unregister, so in normal operations, resources should not pool for cleanup with the Handle. +
      +
      +
      Since:
      +
      3.35.0
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      public void close()
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      Specified by:
      +
      close in interface Closeable
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public final boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public final int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlStatements.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlStatements.html new file mode 100644 index 00000000000..483ef26755d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/SqlStatements.html @@ -0,0 +1,769 @@ + + + + +SqlStatements (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SqlStatements

+
+
java.lang.Object +
org.jdbi.v3.core.statement.SqlStatements
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<SqlStatements>
+
+
+
public final class SqlStatements +extends Object +implements JdbiConfig<SqlStatements>
+
Configuration holder for SqlStatements.
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      SQL_TEMPLATE_CACHE_SIZE

      +
      +
      public static final int SQL_TEMPLATE_CACHE_SIZE
      +
      The default size of the SQL template cache.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SqlStatements

      +
      +
      public SqlStatements()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      define

      +
      +
      public SqlStatements define(String key, + Object value)
      +
      Define an attribute for StatementContext for statements executed by Jdbi.
      +
      +
      Parameters:
      +
      key - the key for the attribute
      +
      value - the value for the attribute
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      defineMap

      +
      +
      public SqlStatements defineMap(Map<String,?> values)
      +
      Defines attributes for each key/value pair in the Map.
      +
      +
      Parameters:
      +
      values - map of attributes to define.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getAttribute

      +
      +
      public Object getAttribute(String key)
      +
      Obtain the value of an attribute
      +
      +
      Parameters:
      +
      key - the name of the attribute
      +
      Returns:
      +
      the value of the attribute
      +
      +
      +
      +
    • +
    • +
      +

      getAttributes

      +
      +
      public Map<String,Object> getAttributes()
      +
      Returns the attributes which will be applied to SQL statements created by Jdbi.
      +
      +
      Returns:
      +
      the defined attributes.
      +
      +
      +
      +
    • +
    • +
      +

      addCustomizer

      +
      +
      public SqlStatements addCustomizer(StatementCustomizer customizer)
      +
      Provides a means for custom statement modification. Common customizations + have their own methods, such as Query.setMaxRows(int)
      +
      +
      Parameters:
      +
      customizer - instance to be used to customize a statement
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      addContextListener

      +
      +
      public SqlStatements addContextListener(StatementContextListener listener)
      +
      +
      +
    • +
    • +
      +

      getTemplateEngine

      +
      +
      public TemplateEngine getTemplateEngine()
      +
      Returns the TemplateEngine which renders the SQL template.
      +
      +
      Returns:
      +
      the template engine which renders the SQL template prior to + parsing parameters.
      +
      +
      +
      +
    • +
    • +
      +

      setTemplateEngine

      +
      +
      public SqlStatements setTemplateEngine(TemplateEngine templateEngine)
      +
      Sets the TemplateEngine used to render SQL for all + SQL statements executed by Jdbi. The default + engine replaces <name>-style tokens + with attributes defined + on the statement context.
      +
      +
      Parameters:
      +
      templateEngine - the new template engine.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      setTemplateCache

      +
      +
      @Beta +public SqlStatements setTemplateCache(JdbiCacheBuilder cacheBuilder)
      +
      Sets the cache used to avoid repeatedly parsing SQL statements.
      +
      +
      Parameters:
      +
      cacheBuilder - the cache builder to use to create the cache.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getSqlParser

      +
      +
      public SqlParser getSqlParser()
      +
      +
      +
    • +
    • +
      +

      setSqlParser

      +
      +
      public SqlStatements setSqlParser(SqlParser sqlParser)
      +
      Sets the SqlParser used to parse parameters in SQL statements + executed by Jdbi. The default parses colon-prefixed named parameter + tokens, e.g. :name.
      +
      +
      Parameters:
      +
      sqlParser - the new SQL parser.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getTimingCollector

      +
      +
      @Deprecated +public TimingCollector getTimingCollector()
      +
      Deprecated. +
      use getSqlLogger() instead
      +
      +
      +
      Returns:
      +
      the timing collector
      +
      +
      +
      +
    • +
    • +
      +

      setTimingCollector

      +
      +
      @Deprecated +public SqlStatements setTimingCollector(TimingCollector timingCollector)
      + +
      Sets the TimingCollector used to collect timing about the SQL statements executed + by Jdbi. The default collector does nothing.
      +
      +
      Parameters:
      +
      timingCollector - the new timing collector
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getSqlLogger

      +
      +
      public SqlLogger getSqlLogger()
      +
      Returns the current logger.
      +
      +
      Returns:
      +
      A SqlLogger instance
      +
      +
      +
      +
    • +
    • +
      +

      setSqlLogger

      +
      +
      public SqlStatements setSqlLogger(SqlLogger sqlLogger)
      +
      Sets a SqlLogger instance to log all SQL operations.
      +
      +
      Parameters:
      +
      sqlLogger - The logger. Using null turns off all logging
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getQueryTimeout

      +
      +
      @Beta +public Integer getQueryTimeout()
      +
      +
      +
    • +
    • +
      +

      setQueryTimeout

      +
      +
      @Beta +public SqlStatements setQueryTimeout(@Nullable + Integer seconds)
      +
      Jdbi does not implement its own timeout mechanism: it simply calls Statement.setQueryTimeout(int), leaving timeout handling to your jdbc + driver.
      +
      +
      Parameters:
      +
      seconds - the time in seconds to wait for a query to complete; 0 to disable the timeout; null to leave it at defaults (i.e. Jdbi will not call + setQueryTimeout(int))
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      isUnusedBindingAllowed

      +
      +
      public boolean isUnusedBindingAllowed()
      +
      +
      +
    • +
    • +
      +

      setUnusedBindingAllowed

      +
      +
      public SqlStatements setUnusedBindingAllowed(boolean unusedBindingAllowed)
      +
      Sets whether or not an exception should be thrown when any arguments are given to a query but not actually used in it. + Unused bindings tend to be bugs or oversights, but are not always. + Defaults to false: unused bindings are not allowed.
      +
      +
      Parameters:
      +
      unusedBindingAllowed - the new setting
      +
      Returns:
      +
      this
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      isAttachAllStatementsForCleanup

      +
      +
      public boolean isAttachAllStatementsForCleanup()
      + +
      +
      Returns:
      +
      True if statements are attached to their handle for cleanup
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    • +
      +

      setAttachAllStatementsForCleanup

      +
      +
      @Beta +public void setAttachAllStatementsForCleanup(boolean attachAllStatementsForCleanup)
      +
      Sets whether all statements created will automatically attached to the corresponding Handle object automatically. + This can be useful when mostly short-lived handles are used because closing the handle will now clean up all outstanding resources from + any statement. The default is false.
      +
      +
      Parameters:
      +
      attachAllStatementsForCleanup - If true, all statements are automatically attached to the Handle
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    • +
      +

      isAttachCallbackStatementsForCleanup

      +
      +
      public boolean isAttachCallbackStatementsForCleanup()
      + +
      +
      Returns:
      +
      True if statements are attached to their handle within Jdbi callbacks
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    • +
      +

      setScriptStatementsNeedSemicolon

      +
      +
      public void setScriptStatementsNeedSemicolon(boolean scriptStatementsNeedSemicolon)
      +
      If true, script statements parsed by a Script object will have a trailing semicolon. Some + databases (e.g. Oracle) require that trailing semicolon while others (e.g. MySQL) do not and may consider + it a syntax error. If executing a script against the database results in syntax errors that point at semicolons, + change the value of this setting. +
      + The default setting is true for historical reasons.
      +
      +
      Parameters:
      +
      scriptStatementsNeedSemicolon - If true, parsed statements will have a trailing semicolon.
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      isScriptStatementsNeedSemicolon

      +
      +
      public boolean isScriptStatementsNeedSemicolon()
      +
      If true, script statements parsed by a Script object will have a trailing semicolon. Some + databases (e.g. Oracle) require that trailing semicolon while others (e.g. MySQL) do not and may consider + it a syntax error. If executing a script against the database results in syntax errors that point at semicolons, + change the value of this setting.
      +
      +
      Returns:
      +
      True if parsed statements will have a trailing semicolon.
      +
      Since:
      +
      3.43.0
      +
      +
      +
      +
    • +
    • +
      +

      setAttachCallbackStatementsForCleanup

      +
      +
      public void setAttachCallbackStatementsForCleanup(boolean attachCallbackStatementsForCleanup)
      +
      Sets whether statements created within the Jdbi.withHandle(org.jdbi.v3.core.HandleCallback<R, X>), Jdbi.useHandle(org.jdbi.v3.core.HandleConsumer<X>), Jdbi.inTransaction(org.jdbi.v3.core.HandleCallback<R, X>) and Jdbi.useTransaction(org.jdbi.v3.core.HandleConsumer<X>) + callback methods will automatically attached to the Handle object and therefore cleaned up when the callback ends. The default is true.
      +
      +
      Parameters:
      +
      attachCallbackStatementsForCleanup - If true, statements created within the Jdbi callbacks are attached to the handle
      +
      Since:
      +
      3.38.0
      +
      +
      +
      +
    • +
    • +
      +

      cacheStats

      +
      +
      @Beta +public <T> T cacheStats()
      +
      Returns cache statistics for the internal template cache. This returns a cache specific object, + so the user needs to know what caching library is in use.
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public SqlStatements createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<SqlStatements>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementBuilder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementBuilder.html new file mode 100644 index 00000000000..4ffc7a998aa --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementBuilder.html @@ -0,0 +1,277 @@ + + + + +StatementBuilder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface StatementBuilder

+
+
+
+
+
All Known Implementing Classes:
+
DefaultStatementBuilder
+
+
+
public interface StatementBuilder
+
Used to convert translated SQL into a prepared statement. The default implementation + created by DefaultStatementBuilder.FACTORY creates a new statement on every call. + + A StatementBuilder is always associated with exactly one Handle instance
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      create

      +
      +
      Statement create(Connection conn, + StatementContext ctx) + throws SQLException
      +
      Called each time a statement needs to be created.
      +
      +
      Parameters:
      +
      conn - the JDBC Connection the statement is being created for
      +
      ctx - Statement context associated with the SqlStatement this is building for
      +
      Returns:
      +
      a Statement
      +
      Throws:
      +
      SQLException - if anything goes wrong getting the statement
      +
      +
      +
      +
    • +
    • +
      +

      create

      +
      +
      PreparedStatement create(Connection conn, + String sql, + StatementContext ctx) + throws SQLException
      +
      Called each time a prepared statement needs to be created.
      +
      +
      Parameters:
      +
      conn - the JDBC Connection the statement is being created for
      +
      sql - the translated SQL which should be prepared
      +
      ctx - Statement context associated with the SqlStatement this is building for
      +
      Returns:
      +
      a PreparedStatement for the given arguments
      +
      Throws:
      +
      SQLException - if anything goes wrong preparing the statement
      +
      +
      +
      +
    • +
    • +
      +

      createCall

      +
      +
      CallableStatement createCall(Connection conn, + String sql, + StatementContext ctx) + throws SQLException
      +
      Called each time a Callable statement needs to be created.
      +
      +
      Parameters:
      +
      conn - the JDBC Connection the statement is being created for
      +
      sql - the translated SQL which should be prepared
      +
      ctx - Statement context associated with the SqlStatement
      +
      Returns:
      +
      a CallableStatement for the given arguments
      +
      Throws:
      +
      SQLException - if anything goes wrong preparing the statement
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      void close(Connection conn, + String sql, + Statement stmt) + throws SQLException
      +
      Called to close an individual statement created from this builder.
      +
      +
      Parameters:
      +
      conn - the JDBC Connection that this statement was created for.
      +
      sql - the translated SQL which was prepared.
      +
      stmt - the statement.
      +
      Throws:
      +
      SQLException - if anything goes wrong closing the statement.
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      default void close(Connection conn)
      +
      Is called when the Handle, to which this StatementBuilder is attached to, is closed.
      +
      +
      Parameters:
      +
      conn - The connection which can be used to release resources. The Connection is managed by the + Handle and must not be closed by the StatementBuilder.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementBuilderFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementBuilderFactory.html new file mode 100644 index 00000000000..61a02a321ab --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementBuilderFactory.html @@ -0,0 +1,154 @@ + + + + +StatementBuilderFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface StatementBuilderFactory

+
+
+
+
+
public interface StatementBuilderFactory
+
Used to specify how prepared statements are built. A factory is attached to a Jdbi instance, and + whenever the Jdbi instance is used to create a Handle the factory will be used to create a + StatementBuilder for that specific handle.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      createStatementBuilder

      +
      +
      StatementBuilder createStatementBuilder(Connection conn)
      +
      Creates a new StatementBuilder from a Connection object.
      +
      +
      Parameters:
      +
      conn - the connection to create a statement builder for
      +
      Returns:
      +
      a StatementBuilder, called when a new handle is opened
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementContext.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementContext.html new file mode 100644 index 00000000000..403bc356cfc --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementContext.html @@ -0,0 +1,1057 @@ + + + + +StatementContext (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class StatementContext

+
+
java.lang.Object +
org.jdbi.v3.core.statement.StatementContext
+
+
+
+
+
All Implemented Interfaces:
+
Closeable, AutoCloseable
+
+
+
public class StatementContext +extends Object +implements Closeable
+
The statement context provides access to statement-local configuration. + Context is inherited from the parent Handle initially and changes will + not outlive the statement. + The context will be passed through most major jdbi APIs. +

+ DISCLAIMER: The class is not intended to be extended. The final modifier is absent to allow + mock tools to create a mock object of this class in the user code.

+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getConfig

      +
      +
      public <C extends JdbiConfig<C>> C getConfig(Class<C> configClass)
      +
      Gets the configuration object of the given type, associated with this context.
      +
      +
      Type Parameters:
      +
      C - the configuration type
      +
      Parameters:
      +
      configClass - the configuration type
      +
      Returns:
      +
      the configuration object of the given type, associated with this context.
      +
      +
      +
      +
    • +
    • +
      +

      getConfig

      +
      +
      public ConfigRegistry getConfig()
      +
      Returns the ConfigRegistry.
      +
      +
      Returns:
      +
      the ConfigRegistry used by this context.
      +
      +
      +
      +
    • +
    • +
      +

      getAttributes

      +
      +
      public Map<String,Object> getAttributes()
      +
      Returns the attributes applied in this context.
      +
      +
      Returns:
      +
      the defined attributes.
      +
      +
      +
      +
    • +
    • +
      +

      getAttribute

      +
      +
      public Object getAttribute(String key)
      +
      Obtain the value of an attribute
      +
      +
      Parameters:
      +
      key - the name of the attribute
      +
      Returns:
      +
      the value of the attribute
      +
      +
      +
      +
    • +
    • +
      +

      define

      +
      +
      public void define(String key, + Object value)
      +
      Define an attribute for in this context.
      +
      +
      Parameters:
      +
      key - the key for the attribute
      +
      value - the value for the attribute
      +
      +
      +
      +
    • +
    • +
      +

      findArgumentFor

      +
      +
      public Optional<Argument> findArgumentFor(Type type, + Object value)
      +
      Obtain an argument for given value in this context
      +
      +
      Parameters:
      +
      type - the type of the argument.
      +
      value - the argument value.
      +
      Returns:
      +
      an Argument for the given value.
      +
      +
      +
      +
    • +
    • +
      +

      findArgumentFor

      +
      +
      public Optional<Argument> findArgumentFor(QualifiedType<?> type, + Object value)
      +
      Obtain an argument for given value in this context
      +
      +
      Parameters:
      +
      type - the type of the argument.
      +
      value - the argument value.
      +
      Returns:
      +
      an Argument for the given value.
      +
      +
      +
      +
    • +
    • +
      +

      getSqlArrayArgumentStrategy

      +
      +
      public SqlArrayArgumentStrategy getSqlArrayArgumentStrategy()
      +
      Returns the strategy used by this context to bind array-type arguments to SQL statements.
      +
      +
      Returns:
      +
      the strategy used to bind array-type arguments to SQL statements
      +
      +
      +
      +
    • +
    • +
      +

      findSqlArrayTypeFor

      +
      +
      public Optional<SqlArrayType<?>> findSqlArrayTypeFor(Type elementType)
      +
      Obtain an SqlArrayType for the given array element type in this context
      +
      +
      Parameters:
      +
      elementType - the array element type.
      +
      Returns:
      +
      an SqlArrayType for the given element type.
      +
      +
      +
      +
    • +
    • +
      +

      findMapperFor

      +
      +
      public <T> Optional<RowMapper<T>> findMapperFor(Class<T> type)
      +
      Obtain a mapper for the given type in this context.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a mapper for the given type, or empty if no row or column mappers + is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findMapperFor

      +
      +
      public <T> Optional<RowMapper<T>> findMapperFor(GenericType<T> type)
      +
      Obtain a mapper for the given type in this context.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a mapper for the given type, or empty if no row or column mappers + is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findMapperFor

      +
      +
      public Optional<RowMapper<?>> findMapperFor(Type type)
      +
      Obtain a mapper for the given type in this context.
      +
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a mapper for the given type, or empty if no row or column mappers + is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findMapperFor

      +
      +
      public <T> Optional<RowMapper<T>> findMapperFor(QualifiedType<T> type)
      +
      Obtain a mapper for the given qualified type in this context.
      +
      +
      Parameters:
      +
      type - the target qualified type to map to
      +
      Returns:
      +
      a mapper for the given qualified type, or empty if no row or column mappers + is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findColumnMapperFor

      +
      +
      public <T> Optional<ColumnMapper<T>> findColumnMapperFor(Class<T> type)
      +
      Obtain a column mapper for the given type in this context.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a ColumnMapper for the given type, or empty if no column mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findColumnMapperFor

      +
      +
      public <T> Optional<ColumnMapper<T>> findColumnMapperFor(GenericType<T> type)
      +
      Obtain a column mapper for the given type in this context.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a ColumnMapper for the given type, or empty if no column mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findColumnMapperFor

      +
      +
      public Optional<ColumnMapper<?>> findColumnMapperFor(Type type)
      +
      Obtain a column mapper for the given type in this context.
      +
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a ColumnMapper for the given type, or empty if no column mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findColumnMapperFor

      +
      +
      public <T> Optional<ColumnMapper<T>> findColumnMapperFor(QualifiedType<T> type)
      +
      Obtain a column mapper for the given qualified type in this context.
      +
      +
      Parameters:
      +
      type - the qualified target type to map to
      +
      Returns:
      +
      a ColumnMapper for the given type, or empty if no column mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findRowMapperFor

      +
      +
      public Optional<RowMapper<?>> findRowMapperFor(Type type)
      +
      Obtain a row mapper for the given type in this context.
      +
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a RowMapper for the given type, or empty if no row mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findRowMapperFor

      +
      +
      public <T> Optional<RowMapper<T>> findRowMapperFor(Class<T> type)
      +
      Obtain a row mapper for the given type in this context.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a RowMapper for the given type, or empty if no row mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findRowMapperFor

      +
      +
      public <T> Optional<RowMapper<T>> findRowMapperFor(GenericType<T> type)
      +
      Obtain a row mapper for the given type in this context.
      +
      +
      Type Parameters:
      +
      T - the type to map
      +
      Parameters:
      +
      type - the target type to map to
      +
      Returns:
      +
      a RowMapper for the given type, or empty if no row mapper is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findCollectorFor

      +
      +
      public Optional<Collector<?,?,?>> findCollectorFor(Type containerType)
      +
      Obtain a collector for the given type.
      +
      +
      Parameters:
      +
      containerType - the container type.
      +
      Returns:
      +
      a Collector for the given container type, or empty null if no collector is registered for the given type.
      +
      +
      +
      +
    • +
    • +
      +

      findElementTypeFor

      +
      +
      public Optional<Type> findElementTypeFor(Type containerType)
      +
      Returns the element type for the given container type.
      +
      +
      Parameters:
      +
      containerType - the container type.
      +
      Returns:
      +
      the element type for the given container type, if available.
      +
      +
      +
      +
    • +
    • +
      +

      getRawSql

      +
      +
      public String getRawSql()
      +
      Obtain the initial sql for the statement used to create the statement
      +
      +
      Returns:
      +
      the initial sql
      +
      +
      +
      +
    • +
    • +
      +

      getRenderedSql

      +
      +
      public String getRenderedSql()
      +
      Obtain the rendered SQL statement +

      + Not available until until statement execution time +

      +
      +
      Returns:
      +
      the sql statement after processing template directives.
      +
      +
      +
      +
    • +
    • +
      +

      getParsedSql

      +
      +
      public ParsedSql getParsedSql()
      +
      Obtain the parsed SQL statement +

      + Not available until until statement execution time +

      +
      +
      Returns:
      +
      the sql statement as it will be executed against the database
      +
      +
      +
      +
    • +
    • +
      +

      getStatement

      +
      +
      public PreparedStatement getStatement()
      +
      Obtain the actual prepared statement being used. +

      + Not available until execution time +

      +
      +
      Returns:
      +
      Obtain the actual prepared statement being used.
      +
      +
      +
      +
    • +
    • +
      +

      getConnection

      +
      +
      public Connection getConnection()
      +
      Obtain the JDBC connection being used for this statement
      +
      +
      Returns:
      +
      the JDBC connection
      +
      +
      +
      +
    • +
    • +
      +

      getBinding

      +
      +
      public Binding getBinding()
      +
      Returns the statement binding.
      +
      +
      Returns:
      +
      The statement binding.
      +
      +
      +
      +
    • +
    • +
      +

      setReturningGeneratedKeys

      +
      +
      public void setReturningGeneratedKeys(boolean b)
      +
      Sets whether the current statement returns generated keys.
      +
      +
      Parameters:
      +
      b - return generated keys?
      +
      +
      +
      +
    • +
    • +
      +

      isReturningGeneratedKeys

      +
      +
      public boolean isReturningGeneratedKeys()
      +
      Whether the statement being generated is expected to return generated keys.
      +
      +
      Returns:
      +
      whether the statement being generated is expected to return generated keys.
      +
      +
      +
      +
    • +
    • +
      +

      getGeneratedKeysColumnNames

      +
      +
      public String[] getGeneratedKeysColumnNames()
      +
      Returns the generated key column names or empty if none were generated.
      +
      +
      Returns:
      +
      the generated key column names. Returns an empty array if none exist.
      +
      +
      +
      +
    • +
    • +
      +

      setGeneratedKeysColumnNames

      +
      +
      public void setGeneratedKeysColumnNames(String[] generatedKeysColumnNames)
      +
      Set the generated key column names.
      +
      +
      Parameters:
      +
      generatedKeysColumnNames - the generated key column names
      +
      +
      +
      +
    • +
    • +
      +

      isConcurrentUpdatable

      +
      +
      public boolean isConcurrentUpdatable()
      +
      Return if the statement should be concurrent updatable. + + If this returns true, the concurrency level of the created ResultSet will be + ResultSet.CONCUR_UPDATABLE, otherwise the result set is not updatable, + and will have concurrency level ResultSet.CONCUR_READ_ONLY.
      +
      +
      Returns:
      +
      if the statement generated should be concurrent updatable.
      +
      +
      +
      +
    • +
    • +
      +

      setConcurrentUpdatable

      +
      +
      public void setConcurrentUpdatable(boolean concurrentUpdatable)
      +
      Set the context to create a concurrent updatable result set. + + This cannot be combined with isReturningGeneratedKeys(), only + one option may be selected. It does not make sense to combine these either, as one + applies to queries, and the other applies to updates.
      +
      +
      Parameters:
      +
      concurrentUpdatable - if the result set should be concurrent updatable.
      +
      +
      +
      +
    • +
    • +
      +

      getExecutionMoment

      +
      +
      @Nullable +public Instant getExecutionMoment()
      +
      Returns the query execution start as an Instant.
      +
      +
      Returns:
      +
      the Instant at which query execution began
      +
      +
      +
      +
    • +
    • +
      +

      setExecutionMoment

      +
      +
      public void setExecutionMoment(Instant executionMoment)
      +
      Sets the query execution start. This is not part of the Jdbi API and should not be called by + code outside JDBI.
      +
      +
      Parameters:
      +
      executionMoment - Sets the start of query execution.
      +
      +
      +
      +
    • +
    • +
      +

      getCompletionMoment

      +
      +
      @Nullable +public Instant getCompletionMoment()
      +
      If query execution was successful, returns the query execution end as an Instant.
      +
      +
      Returns:
      +
      the Instant at which query execution ended, if it did so successfully
      +
      +
      +
      +
    • +
    • +
      +

      setCompletionMoment

      +
      +
      public void setCompletionMoment(Instant completionMoment)
      +
      Sets the query execution end. This is not part of the Jdbi API and should not be called by + code outside JDBI.
      +
      +
      Parameters:
      +
      completionMoment - Sets the end of query execution.
      +
      +
      +
      +
    • +
    • +
      +

      getExceptionMoment

      +
      +
      @Nullable +public Instant getExceptionMoment()
      +
      If query execution failed, returns the query execution end as an Instant.
      +
      +
      Returns:
      +
      the Instant at which query execution ended, if it did so with an exception
      +
      +
      +
      +
    • +
    • +
      +

      setExceptionMoment

      +
      +
      public void setExceptionMoment(Instant exceptionMoment)
      +
      Sets the query execution end. This is not part of the Jdbi API and should not be called by + code outside JDBI.
      +
      +
      Parameters:
      +
      exceptionMoment - Sets the end of query execution.
      +
      +
      +
      +
    • +
    • +
      +

      getElapsedTime

      +
      +
      public long getElapsedTime(ChronoUnit unit)
      +
      Convenience method to measure elapsed time between start of query execution and completion or exception as appropriate. Do not call with a null argument or before a query has executed/exploded.
      +
      +
      Parameters:
      +
      unit - the time unit to convert to
      +
      Returns:
      +
      the elapsed time in the given unit
      +
      +
      +
      +
    • +
    • +
      +

      addCleanable

      +
      +
      public void addCleanable(Cleanable cleanable)
      +
      Registers a Cleanable to be invoked when the statement context is closed. Cleanables can be registered + on a statement context, which will be cleaned up when + the statement finishes or (in the case of a ResultIterator), the object representing the results is closed. +

      + Resources cleaned up by Jdbi include ResultSet, Statement, Handle, + Array, and StatementBuilder.

      +
      +
      Parameters:
      +
      cleanable - the Cleanable to clean on close
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      public void close()
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      Specified by:
      +
      close in interface Closeable
      +
      +
      +
      +
    • +
    • +
      +

      getExtensionMethod

      +
      +
      public ExtensionMethod getExtensionMethod()
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public final boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public final int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementContextListener.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementContextListener.html new file mode 100644 index 00000000000..eda4c1752f5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementContextListener.html @@ -0,0 +1,212 @@ + + + + +StatementContextListener (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface StatementContextListener

+
+
+
+
+
@Beta +public interface StatementContextListener
+
Listener interface for the StatementContext. Each method will be called when specific events with the context happen.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      contextCreated

      +
      +
      default void contextCreated(StatementContext statementContext)
      +
      A new StatementContext is created.
      +
      +
      Parameters:
      +
      statementContext - The StatementContext object that was created. Never null.
      +
      +
      +
      +
    • +
    • +
      +

      contextCleaned

      +
      +
      default void contextCleaned(StatementContext statementContext)
      +
      A StatementContext object was cleaned. Implementers should be aware that the + StatementContext.close() method can be called multiple times as Statements can be reused.
      +
      +
      Parameters:
      +
      statementContext - The StatementContext object that was cleaned. Never null.
      +
      +
      +
      +
    • +
    • +
      +

      cleanableAdded

      +
      +
      default void cleanableAdded(StatementContext statementContext, + Cleanable cleanable)
      +
      A Cleanable object was added to this context for cleanup when the context is cleaned.
      +
      +
      Parameters:
      +
      statementContext - The StatementContext. Never null.
      +
      cleanable - The Cleanable object that should be closed when the context is closed. Never null.
      +
      +
      +
      +
    • +
    • +
      +

      cleanableRemoved

      +
      +
      default void cleanableRemoved(StatementContext statementContext, + Cleanable cleanable)
      +
      A Cleanable object was removed from the context.
      +
      +
      Parameters:
      +
      statementContext - The StatementContext. Never null.
      +
      cleanable - The Cleanable object that was removed from the context.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementCustomizer.html new file mode 100644 index 00000000000..bc9bfd7b731 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementCustomizer.html @@ -0,0 +1,231 @@ + + + + +StatementCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface StatementCustomizer

+
+
+
+
+
public interface StatementCustomizer
+
Allows tweaking of statement behaviour.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      beforeTemplating

      +
      +
      default void beforeTemplating(PreparedStatement stmt, + StatementContext ctx) + throws SQLException
      +
      Invoked prior to using the TemplateEngine to render sql from definitions.
      +
      +
      Parameters:
      +
      stmt - the statement we are about to render
      +
      ctx - the context associated with the statement
      +
      Throws:
      +
      SQLException - go ahead and percolate it for Jdbi to handle
      +
      +
      +
      +
    • +
    • +
      +

      beforeBinding

      +
      +
      default void beforeBinding(PreparedStatement stmt, + StatementContext ctx) + throws SQLException
      +
      Invoked prior to applying bound parameters to the PreparedStatement.
      +
      +
      Parameters:
      +
      stmt - Prepared statement being customized
      +
      ctx - Statement context associated with the statement being customized
      +
      Throws:
      +
      SQLException - go ahead and percolate it for Jdbi to handle
      +
      +
      +
      +
    • +
    • +
      +

      beforeExecution

      +
      +
      default void beforeExecution(PreparedStatement stmt, + StatementContext ctx) + throws SQLException
      +
      Make the changes you need to inside this method. It will be invoked prior to execution of + the prepared statement
      +
      +
      Parameters:
      +
      stmt - Prepared statement being customized
      +
      ctx - Statement context associated with the statement being customized
      +
      Throws:
      +
      SQLException - go ahead and percolate it for Jdbi to handle
      +
      +
      +
      +
    • +
    • +
      +

      afterExecution

      +
      +
      default void afterExecution(PreparedStatement stmt, + StatementContext ctx) + throws SQLException
      +
      This will be invoked after execution of the prepared statement, but before any results + are accessed.
      +
      +
      Parameters:
      +
      stmt - Prepared statement being customized
      +
      ctx - Statement context associated with the statement being customized
      +
      Throws:
      +
      SQLException - go ahead and percolate it for Jdbi to handle
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementCustomizers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementCustomizers.html new file mode 100644 index 00000000000..cbacdb5ac2f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementCustomizers.html @@ -0,0 +1,223 @@ + + + + +StatementCustomizers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class StatementCustomizers

+
+
java.lang.Object +
org.jdbi.v3.core.statement.StatementCustomizers
+
+
+
+
+
public final class StatementCustomizers +extends Object
+
Some simple StatementCustomizers you might find handy.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      statementTimeout

      +
      +
      public static StatementCustomizer statementTimeout(int seconds)
      +
      Set a timeout on the statement.
      +
      +
      Parameters:
      +
      seconds - timeout in seconds
      +
      Returns:
      +
      the customizer
      +
      +
      +
      +
    • +
    • +
      +

      fetchSize

      +
      +
      public static StatementCustomizer fetchSize(int fetchSize)
      +
      Set the number of rows to fetch from the database in a single batch. + In a transaction, may enable streaming result sets instead of buffering in memory.
      +
      +
      Parameters:
      +
      fetchSize - number of rows to fetch at a time
      +
      Returns:
      +
      the customizer
      +
      +
      +
      +
    • +
    • +
      +

      maxRows

      +
      +
      public static StatementCustomizer maxRows(int maxRows)
      +
      Limit number of rows returned. Note that this may be significantly + less efficient than doing it in the SQL with a LIMIT clause + and is not recommended unless you understand why you need it specifically.
      +
      +
      Parameters:
      +
      maxRows - number of rows to return
      +
      Returns:
      +
      the customizer
      +
      +
      +
      +
    • +
    • +
      +

      maxFieldSize

      +
      +
      public static StatementCustomizer maxFieldSize(int maxFieldSize)
      +
      Sets the limit of large variable size types like VARCHAR. + Limited data is silently discarded, so be careful!
      +
      +
      Parameters:
      +
      maxFieldSize - the maximum field size to return
      +
      Returns:
      +
      the customizer
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementException.html new file mode 100644 index 00000000000..5a482c622b4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementException.html @@ -0,0 +1,292 @@ + + + + +StatementException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class StatementException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
Direct Known Subclasses:
+
LargeObjectException, NoResultsException, ResultSetException, UnableToCreateStatementException, UnableToExecuteStatementException, UnableToProduceResultException, UnableToRetrieveMetaDataException
+
+
+
public abstract class StatementException +extends JdbiException
+
Superclass for exceptions thrown while trying to execute a statement.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      StatementException

      +
      +
      public StatementException(Throwable cause)
      +
      +
      +
    • +
    • +
      +

      StatementException

      +
      +
      public StatementException(String string, + Throwable throwable, + StatementContext ctx)
      +
      +
      +
    • +
    • +
      +

      StatementException

      +
      +
      public StatementException(String string, + Throwable throwable)
      +
      +
      +
    • +
    • +
      +

      StatementException

      +
      +
      public StatementException(Throwable cause, + StatementContext ctx)
      +
      +
      +
    • +
    • +
      +

      StatementException

      +
      +
      public StatementException(String message, + StatementContext ctx)
      +
      +
      +
    • +
    • +
      +

      StatementException

      +
      +
      public StatementException(String string)
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getStatementContext

      +
      +
      public StatementContext getStatementContext()
      +
      +
      +
    • +
    • +
      +

      getShortMessage

      +
      +
      public String getShortMessage()
      +
      +
      +
    • +
    • +
      +

      getMessage

      +
      +
      public String getMessage()
      +
      +
      Overrides:
      +
      getMessage in class Throwable
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementExceptions.MessageRendering.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementExceptions.MessageRendering.html new file mode 100644 index 00000000000..053b0887825 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementExceptions.MessageRendering.html @@ -0,0 +1,288 @@ + + + + +StatementExceptions.MessageRendering (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum StatementExceptions.MessageRendering

+
+
java.lang.Object +
java.lang.Enum<StatementExceptions.MessageRendering> +
org.jdbi.v3.core.statement.StatementExceptions.MessageRendering
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<StatementExceptions.MessageRendering>, Function<StatementException,String>
+
+
+
Enclosing class:
+
StatementExceptions
+
+
+
public static enum StatementExceptions.MessageRendering +extends Enum<StatementExceptions.MessageRendering> +implements Function<StatementException,String>
+
Control exception message generation.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementExceptions.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementExceptions.html new file mode 100644 index 00000000000..1c7219df7bb --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/StatementExceptions.html @@ -0,0 +1,304 @@ + + + + +StatementExceptions (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class StatementExceptions

+
+
java.lang.Object +
org.jdbi.v3.core.statement.StatementExceptions
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<StatementExceptions>
+
+
+
@Beta +public class StatementExceptions +extends Object +implements JdbiConfig<StatementExceptions>
+
Configuration for StatementException and subclasses behavior.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      StatementExceptions

      +
      +
      public StatementExceptions()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getLengthLimit

      +
      +
      public int getLengthLimit()
      +
      Returns the limit hint to use to shorten strings.
      +
      +
      Returns:
      +
      the limit hint to use to shorten strings.
      +
      +
      +
      +
    • +
    • +
      +

      setLengthLimit

      +
      +
      public StatementExceptions setLengthLimit(int lengthLimit)
      +
      Set a hint on how long you'd like to shorten various variable-length strings to.
      +
      +
      Parameters:
      +
      lengthLimit - the limit hint.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getMessageRendering

      +
      +
      public Function<StatementException,String> getMessageRendering()
      +
      Returns the statement exception message rendering strategy.
      +
      +
      Returns:
      +
      the statement exception message rendering strategy.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      setMessageRendering

      +
      +
      public StatementExceptions setMessageRendering(Function<StatementException,String> messageRendering)
      +
      Configure exception statement message generation.
      +
      +
      Parameters:
      +
      messageRendering - the message rendering strategy to use
      +
      Returns:
      +
      this
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public StatementExceptions createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<StatementExceptions>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/TemplateEngine.Parsing.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/TemplateEngine.Parsing.html new file mode 100644 index 00000000000..913b2e646c0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/TemplateEngine.Parsing.html @@ -0,0 +1,223 @@ + + + + +TemplateEngine.Parsing (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface TemplateEngine.Parsing

+
+
+
+
+
All Superinterfaces:
+
TemplateEngine
+
+
+
All Known Implementing Classes:
+
DefinedAttributeTemplateEngine, FreemarkerEngine
+
+
+
Enclosing interface:
+
TemplateEngine
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public static interface TemplateEngine.Parsing +extends TemplateEngine
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from interface org.jdbi.v3.core.statement.TemplateEngine

    +TemplateEngine.Parsing
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface org.jdbi.v3.core.statement.TemplateEngine

    +NOP
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    parse(String template, + ConfigRegistry config)
    +
    +
    Parse a SQL template and return a parsed representation ready to apply to a statement.
    +
    +
    default String
    +
    render(String template, + StatementContext ctx)
    +
    +
    Renders an SQL statement from the given template, using the statement + context as needed.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      +
      default String render(String template, + StatementContext ctx)
      +
      Description copied from interface: TemplateEngine
      +
      Renders an SQL statement from the given template, using the statement + context as needed.
      +
      +
      Specified by:
      +
      render in interface TemplateEngine
      +
      Parameters:
      +
      template - The SQL to rewrite
      +
      ctx - The statement context for the statement being executed
      +
      Returns:
      +
      something which can provide the actual SQL to prepare a statement from + and which can bind the correct arguments to that prepared statement
      +
      +
      +
      +
    • +
    • +
      +

      parse

      +
      + +
      Description copied from interface: TemplateEngine
      +
      Parse a SQL template and return a parsed representation ready to apply to a statement. + This allows the parsed representation to be cached and reused.
      +
      +
      Specified by:
      +
      parse in interface TemplateEngine
      +
      Parameters:
      +
      template - the sql template to parse
      +
      config - the Jdbi configuration at prepare time
      +
      Returns:
      +
      a parsed representation, if available
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/TemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/TemplateEngine.html new file mode 100644 index 00000000000..dfd0b88eba6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/TemplateEngine.html @@ -0,0 +1,254 @@ + + + + +TemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface TemplateEngine

+
+
+
+
+
All Known Subinterfaces:
+
TemplateEngine.Parsing
+
+
+
All Known Implementing Classes:
+
DefinedAttributeTemplateEngine, FreemarkerEngine, MessageFormatTemplateEngine, NoTemplateEngine, StringSubstitutorTemplateEngine, StringTemplateEngine
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface TemplateEngine
+
Renders an SQL statement from a template. +

+ Note for implementors: define a suitable public constructor for SqlObject's UseTemplateEngine annotation, and/or create your own custom annotation in case your TemplateEngine has configuration parameters! Suitable constructors are the no-arg constructor, one that takes a Class, and one that takes both a Class and a Method.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    Nested Classes
    +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    static interface 
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final TemplateEngine
    + +
    +
    Convenience constant that returns the input template.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    parse(String template, + ConfigRegistry config)
    +
    +
    Parse a SQL template and return a parsed representation ready to apply to a statement.
    +
    + +
    render(String template, + StatementContext ctx)
    +
    +
    Renders an SQL statement from the given template, using the statement + context as needed.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      NOP

      +
      +
      static final TemplateEngine NOP
      +
      Convenience constant that returns the input template.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      +
      String render(String template, + StatementContext ctx)
      +
      Renders an SQL statement from the given template, using the statement + context as needed.
      +
      +
      Parameters:
      +
      template - The SQL to rewrite
      +
      ctx - The statement context for the statement being executed
      +
      Returns:
      +
      something which can provide the actual SQL to prepare a statement from + and which can bind the correct arguments to that prepared statement
      +
      +
      +
      +
    • +
    • +
      +

      parse

      +
      +
      default Optional<Function<StatementContext,String>> parse(String template, + ConfigRegistry config)
      +
      Parse a SQL template and return a parsed representation ready to apply to a statement. + This allows the parsed representation to be cached and reused.
      +
      +
      Parameters:
      +
      template - the sql template to parse
      +
      config - the Jdbi configuration at prepare time
      +
      Returns:
      +
      a parsed representation, if available
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/TimingCollector.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/TimingCollector.html new file mode 100644 index 00000000000..c47c5a15606 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/TimingCollector.html @@ -0,0 +1,208 @@ + + + + +TimingCollector (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface TimingCollector

+
+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +@Deprecated +public interface TimingCollector
+
Deprecated. +
Use SqlLogger instead.
+
+
This class collects timing information for statement execution.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/UnableToCreateStatementException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/UnableToCreateStatementException.html new file mode 100644 index 00000000000..d142f8fe22b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/UnableToCreateStatementException.html @@ -0,0 +1,238 @@ + + + + +UnableToCreateStatementException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UnableToCreateStatementException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class UnableToCreateStatementException +extends StatementException
+
Thrown when Jdbi couldn't create a statement.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UnableToCreateStatementException

      +
      +
      public UnableToCreateStatementException(String string, + Throwable cause, + StatementContext ctx)
      +
      +
      +
    • +
    • +
      +

      UnableToCreateStatementException

      +
      +
      public UnableToCreateStatementException(String string, + Throwable cause)
      +
      +
      +
    • +
    • +
      +

      UnableToCreateStatementException

      +
      +
      public UnableToCreateStatementException(Throwable cause)
      +
      +
      +
    • +
    • +
      +

      UnableToCreateStatementException

      +
      +
      public UnableToCreateStatementException(String string)
      +
      +
      +
    • +
    • +
      +

      UnableToCreateStatementException

      +
      +
      public UnableToCreateStatementException(String string, + StatementContext ctx)
      +
      +
      +
    • +
    • +
      +

      UnableToCreateStatementException

      +
      +
      public UnableToCreateStatementException(Exception cause, + StatementContext ctx)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/UnableToExecuteStatementException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/UnableToExecuteStatementException.html new file mode 100644 index 00000000000..46e1f4fefee --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/UnableToExecuteStatementException.html @@ -0,0 +1,216 @@ + + + + +UnableToExecuteStatementException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UnableToExecuteStatementException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class UnableToExecuteStatementException +extends StatementException
+
Thrown when statement execution fails.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UnableToExecuteStatementException

      +
      +
      public UnableToExecuteStatementException(Exception e, + StatementContext ctx)
      +
      +
      +
    • +
    • +
      +

      UnableToExecuteStatementException

      +
      +
      public UnableToExecuteStatementException(String message)
      +
      +
      +
    • +
    • +
      +

      UnableToExecuteStatementException

      +
      +
      public UnableToExecuteStatementException(String message, + StatementContext ctx)
      +
      +
      +
    • +
    • +
      +

      UnableToExecuteStatementException

      +
      +
      public UnableToExecuteStatementException(String message, + Throwable throwable, + StatementContext ctx)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/UnableToRetrieveMetaDataException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/UnableToRetrieveMetaDataException.html new file mode 100644 index 00000000000..bf4c03aaf9f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/UnableToRetrieveMetaDataException.html @@ -0,0 +1,145 @@ + + + + +UnableToRetrieveMetaDataException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UnableToRetrieveMetaDataException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class UnableToRetrieveMetaDataException +extends StatementException
+
Thrown when Jdbi couldn't retrieve metadata from the connection.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Update.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Update.html new file mode 100644 index 00000000000..0538b8fee65 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/Update.html @@ -0,0 +1,397 @@ + + + + +Update (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Update

+
+
java.lang.Object +
org.jdbi.v3.core.statement.SqlStatement<Update> +
org.jdbi.v3.core.statement.Update
+
+
+
+
+
+
All Implemented Interfaces:
+
Closeable, AutoCloseable, Configurable<Update>
+
+
+
public class Update +extends SqlStatement<Update>
+
Used for INSERT, UPDATE, and DELETE statements
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      one

      +
      +
      public void one()
      +
      +
      +
    • +
    • +
      +

      execute

      +
      +
      public int execute()
      +
      Executes the statement, returning the update count.
      +
      +
      Returns:
      +
      the number of rows modified
      +
      +
      +
      +
    • +
    • +
      +

      execute

      +
      +
      public <R> R execute(ResultProducer<R> producer)
      +
      Executes the update, returning the result obtained from the given ResultProducer.
      +
      +
      Type Parameters:
      +
      R - the result type
      +
      Parameters:
      +
      producer - the result producer.
      +
      Returns:
      +
      value returned by the result producer.
      +
      +
      +
      +
    • +
    • +
      +

      executeAndReturnGeneratedKeys

      +
      +
      public ResultBearing executeAndReturnGeneratedKeys(String... generatedKeyColumnNames)
      +
      Execute the statement and returns any auto-generated keys. This requires the JDBC driver to support + the Statement.getGeneratedKeys() method.
      +
      +
      Parameters:
      +
      generatedKeyColumnNames - optional list of generated key column names.
      +
      Returns:
      +
      ResultBearing of generated keys
      +
      +
      +
      +
    • +
    • +
      +

      getHandle

      +
      +
      public final Handle getHandle()
      +
      +
      +
    • +
    • +
      +

      getConfig

      +
      +
      public ConfigRegistry getConfig()
      +
      Description copied from interface: Configurable
      +
      Returns the configuration registry associated with this object.
      +
      +
      Specified by:
      +
      getConfig in interface Configurable<This>
      +
      Returns:
      +
      the configuration registry associated with this object.
      +
      +
      +
      +
    • +
    • +
      +

      getContext

      +
      +
      public final StatementContext getContext()
      +
      Returns the statement context associated with this statement.
      +
      +
      Returns:
      +
      the statement context associated with this statement.
      +
      +
      +
      +
    • +
    • +
      +

      attachToHandleForCleanup

      +
      +
      @Beta +public final Update attachToHandleForCleanup()
      +
      Registers with the handle for cleaning when the handle is closed. +
      + There are some situations where Statements need to be cleaned up to avoid resource leaks. This method registers the current Statement it with the + Handle. If the statement or the context are cleaned by themselves, it will automatically unregister, so in normal operations, resources should not pool for cleanup with the Handle. +
      +
      +
      Since:
      +
      3.35.0
      +
      +
      +
      +
    • +
    • +
      +

      close

      +
      +
      public void close()
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      Specified by:
      +
      close in interface Closeable
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public final boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public final int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Batch.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Batch.html new file mode 100644 index 00000000000..98f0d80c2d3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Batch.html @@ -0,0 +1,109 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.Batch (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.Batch

+
+
Packages that use Batch
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Binding.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Binding.html new file mode 100644 index 00000000000..e76b2d2f91a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Binding.html @@ -0,0 +1,88 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.Binding (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.Binding

+
+
Packages that use Binding
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/CachingSqlParser.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/CachingSqlParser.html new file mode 100644 index 00000000000..946f35af2a4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/CachingSqlParser.html @@ -0,0 +1,95 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.CachingSqlParser (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.CachingSqlParser

+
+
Packages that use CachingSqlParser
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Call.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Call.html new file mode 100644 index 00000000000..f4062c07a62 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Call.html @@ -0,0 +1,155 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.Call (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.Call

+
+
Packages that use Call
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/CallableStatementMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/CallableStatementMapper.html new file mode 100644 index 00000000000..5441a0693a5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/CallableStatementMapper.html @@ -0,0 +1,97 @@ + + + + +Uses of Interface org.jdbi.v3.core.statement.CallableStatementMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.statement.CallableStatementMapper

+
+
Packages that use CallableStatementMapper
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Cleanable.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Cleanable.html new file mode 100644 index 00000000000..60e1055d971 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Cleanable.html @@ -0,0 +1,148 @@ + + + + +Uses of Interface org.jdbi.v3.core.statement.Cleanable (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.statement.Cleanable

+
+
Packages that use Cleanable
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ColonPrefixSqlParser.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ColonPrefixSqlParser.html new file mode 100644 index 00000000000..211d0e2d8f2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ColonPrefixSqlParser.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.ColonPrefixSqlParser (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.ColonPrefixSqlParser

+
+No usage of org.jdbi.v3.core.statement.ColonPrefixSqlParser
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/DefaultStatementBuilder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/DefaultStatementBuilder.html new file mode 100644 index 00000000000..e3f7c798859 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/DefaultStatementBuilder.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.DefaultStatementBuilder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.DefaultStatementBuilder

+
+No usage of org.jdbi.v3.core.statement.DefaultStatementBuilder
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/DefinedAttributeTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/DefinedAttributeTemplateEngine.html new file mode 100644 index 00000000000..737900edb0b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/DefinedAttributeTemplateEngine.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.DefinedAttributeTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.DefinedAttributeTemplateEngine

+
+No usage of org.jdbi.v3.core.statement.DefinedAttributeTemplateEngine
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/EmptyHandling.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/EmptyHandling.html new file mode 100644 index 00000000000..d9573b762af --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/EmptyHandling.html @@ -0,0 +1,114 @@ + + + + +Uses of Enum org.jdbi.v3.core.statement.EmptyHandling (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum
org.jdbi.v3.core.statement.EmptyHandling

+
+
Packages that use EmptyHandling
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/HashPrefixSqlParser.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/HashPrefixSqlParser.html new file mode 100644 index 00000000000..d384dbbb3d4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/HashPrefixSqlParser.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.HashPrefixSqlParser (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.HashPrefixSqlParser

+
+No usage of org.jdbi.v3.core.statement.HashPrefixSqlParser
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MessageFormatTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MessageFormatTemplateEngine.html new file mode 100644 index 00000000000..80f61b0caca --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MessageFormatTemplateEngine.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.MessageFormatTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.MessageFormatTemplateEngine

+
+No usage of org.jdbi.v3.core.statement.MessageFormatTemplateEngine
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MetaData.MetaDataResultSetProvider.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MetaData.MetaDataResultSetProvider.html new file mode 100644 index 00000000000..27fc299026b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MetaData.MetaDataResultSetProvider.html @@ -0,0 +1,87 @@ + + + + +Uses of Interface org.jdbi.v3.core.statement.MetaData.MetaDataResultSetProvider (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.statement.MetaData.MetaDataResultSetProvider

+
+ +
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MetaData.MetaDataValueProvider.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MetaData.MetaDataValueProvider.html new file mode 100644 index 00000000000..135b75af8e2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MetaData.MetaDataValueProvider.html @@ -0,0 +1,117 @@ + + + + +Uses of Interface org.jdbi.v3.core.statement.MetaData.MetaDataValueProvider (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.statement.MetaData.MetaDataValueProvider

+
+ +
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MetaData.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MetaData.html new file mode 100644 index 00000000000..67cd0e11065 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/MetaData.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.MetaData (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.MetaData

+
+No usage of org.jdbi.v3.core.statement.MetaData
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/NoTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/NoTemplateEngine.html new file mode 100644 index 00000000000..4faed0c27ff --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/NoTemplateEngine.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.NoTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.NoTemplateEngine

+
+No usage of org.jdbi.v3.core.statement.NoTemplateEngine
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/OutParameters.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/OutParameters.html new file mode 100644 index 00000000000..75ebfae27b6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/OutParameters.html @@ -0,0 +1,105 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.OutParameters (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.OutParameters

+
+
Packages that use OutParameters
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ParsedParameters.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ParsedParameters.html new file mode 100644 index 00000000000..e2d2ccac81b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ParsedParameters.html @@ -0,0 +1,110 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.ParsedParameters (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.ParsedParameters

+
+
Packages that use ParsedParameters
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ParsedSql.Builder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ParsedSql.Builder.html new file mode 100644 index 00000000000..f7307b7158a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ParsedSql.Builder.html @@ -0,0 +1,105 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.ParsedSql.Builder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.ParsedSql.Builder

+
+
Packages that use ParsedSql.Builder
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ParsedSql.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ParsedSql.html new file mode 100644 index 00000000000..78c5184ab4f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/ParsedSql.html @@ -0,0 +1,110 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.ParsedSql (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.ParsedSql

+
+
Packages that use ParsedSql
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/PreparedBatch.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/PreparedBatch.html new file mode 100644 index 00000000000..49757d85d6e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/PreparedBatch.html @@ -0,0 +1,126 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.PreparedBatch (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.PreparedBatch

+
+
Packages that use PreparedBatch
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Query.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Query.html new file mode 100644 index 00000000000..cb91671bc50 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Query.html @@ -0,0 +1,143 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.Query (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.Query

+
+
Packages that use Query
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Script.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Script.html new file mode 100644 index 00000000000..d5c29ffac43 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Script.html @@ -0,0 +1,92 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.Script (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.Script

+
+
Packages that use Script
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Slf4JSqlLogger.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Slf4JSqlLogger.html new file mode 100644 index 00000000000..2410fe6a4f5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Slf4JSqlLogger.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.Slf4JSqlLogger (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.Slf4JSqlLogger

+
+No usage of org.jdbi.v3.core.statement.Slf4JSqlLogger
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlLogger.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlLogger.html new file mode 100644 index 00000000000..ef32b9452ea --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlLogger.html @@ -0,0 +1,140 @@ + + + + +Uses of Interface org.jdbi.v3.core.statement.SqlLogger (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.statement.SqlLogger

+
+
Packages that use SqlLogger
+
+
Package
+
Description
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlParser.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlParser.html new file mode 100644 index 00000000000..0f777c558fd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlParser.html @@ -0,0 +1,141 @@ + + + + +Uses of Interface org.jdbi.v3.core.statement.SqlParser (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.statement.SqlParser

+
+
Packages that use SqlParser
+
+
Package
+
Description
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlStatement.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlStatement.html new file mode 100644 index 00000000000..e629ce1ee7b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlStatement.html @@ -0,0 +1,191 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.SqlStatement (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.SqlStatement

+
+
Packages that use SqlStatement
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlStatements.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlStatements.html new file mode 100644 index 00000000000..88abf76bca1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/SqlStatements.html @@ -0,0 +1,145 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.SqlStatements (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.SqlStatements

+
+
Packages that use SqlStatements
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementBuilder.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementBuilder.html new file mode 100644 index 00000000000..9344f7f431d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementBuilder.html @@ -0,0 +1,131 @@ + + + + +Uses of Interface org.jdbi.v3.core.statement.StatementBuilder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.statement.StatementBuilder

+
+
Packages that use StatementBuilder
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementBuilderFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementBuilderFactory.html new file mode 100644 index 00000000000..7fcb03c09ac --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementBuilderFactory.html @@ -0,0 +1,118 @@ + + + + +Uses of Interface org.jdbi.v3.core.statement.StatementBuilderFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.statement.StatementBuilderFactory

+
+
Packages that use StatementBuilderFactory
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementContext.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementContext.html new file mode 100644 index 00000000000..62fea813306 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementContext.html @@ -0,0 +1,731 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.StatementContext (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.StatementContext

+
+
Packages that use StatementContext
+
+
Package
+
Description
+ +
 
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ freemarker provides advanced string template processing.
+
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ stringtemplate4 provides advanced string template processing + that Jdbi can drive with the statement's bound parameters + and context to drive statement generation that may need to bind + variable number of parameters or other advanced use cases.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementContextListener.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementContextListener.html new file mode 100644 index 00000000000..40b9858a588 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementContextListener.html @@ -0,0 +1,86 @@ + + + + +Uses of Interface org.jdbi.v3.core.statement.StatementContextListener (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.statement.StatementContextListener

+
+
Packages that use StatementContextListener
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementCustomizer.html new file mode 100644 index 00000000000..de6818999c2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementCustomizer.html @@ -0,0 +1,134 @@ + + + + +Uses of Interface org.jdbi.v3.core.statement.StatementCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.statement.StatementCustomizer

+
+
Packages that use StatementCustomizer
+
+
Package
+
Description
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementCustomizers.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementCustomizers.html new file mode 100644 index 00000000000..4b9fd31c107 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementCustomizers.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.StatementCustomizers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.StatementCustomizers

+
+No usage of org.jdbi.v3.core.statement.StatementCustomizers
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementException.html new file mode 100644 index 00000000000..9ff5291ee72 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementException.html @@ -0,0 +1,183 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.StatementException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.StatementException

+
+
Packages that use StatementException
+
+
Package
+
Description
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementExceptions.MessageRendering.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementExceptions.MessageRendering.html new file mode 100644 index 00000000000..2b1baa2db08 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementExceptions.MessageRendering.html @@ -0,0 +1,94 @@ + + + + +Uses of Enum org.jdbi.v3.core.statement.StatementExceptions.MessageRendering (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum
org.jdbi.v3.core.statement.StatementExceptions.MessageRendering

+
+ +
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementExceptions.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementExceptions.html new file mode 100644 index 00000000000..bf1bfe6d55c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/StatementExceptions.html @@ -0,0 +1,96 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.StatementExceptions (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.StatementExceptions

+
+
Packages that use StatementExceptions
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/TemplateEngine.Parsing.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/TemplateEngine.Parsing.html new file mode 100644 index 00000000000..fb2e8d0ccf2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/TemplateEngine.Parsing.html @@ -0,0 +1,110 @@ + + + + +Uses of Interface org.jdbi.v3.core.statement.TemplateEngine.Parsing (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.statement.TemplateEngine.Parsing

+
+
Packages that use TemplateEngine.Parsing
+
+
Package
+
Description
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ freemarker provides advanced string template processing.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/TemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/TemplateEngine.html new file mode 100644 index 00000000000..7e86ca32136 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/TemplateEngine.html @@ -0,0 +1,229 @@ + + + + +Uses of Interface org.jdbi.v3.core.statement.TemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.statement.TemplateEngine

+
+
Packages that use TemplateEngine
+
+
Package
+
Description
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ freemarker provides advanced string template processing.
+
+ +
+
+ stringtemplate4 provides advanced string template processing + that Jdbi can drive with the statement's bound parameters + and context to drive statement generation that may need to bind + variable number of parameters or other advanced use cases.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/TimingCollector.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/TimingCollector.html new file mode 100644 index 00000000000..a589a11c7ac --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/TimingCollector.html @@ -0,0 +1,140 @@ + + + + +Uses of Interface org.jdbi.v3.core.statement.TimingCollector (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.statement.TimingCollector

+
+
Packages that use TimingCollector
+
+
Package
+
Description
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/UnableToCreateStatementException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/UnableToCreateStatementException.html new file mode 100644 index 00000000000..65680ed5a8d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/UnableToCreateStatementException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.UnableToCreateStatementException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.UnableToCreateStatementException

+
+No usage of org.jdbi.v3.core.statement.UnableToCreateStatementException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/UnableToExecuteStatementException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/UnableToExecuteStatementException.html new file mode 100644 index 00000000000..85e33f7e3fb --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/UnableToExecuteStatementException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.UnableToExecuteStatementException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.UnableToExecuteStatementException

+
+No usage of org.jdbi.v3.core.statement.UnableToExecuteStatementException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/UnableToRetrieveMetaDataException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/UnableToRetrieveMetaDataException.html new file mode 100644 index 00000000000..ae6da724a34 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/UnableToRetrieveMetaDataException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.UnableToRetrieveMetaDataException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.UnableToRetrieveMetaDataException

+
+No usage of org.jdbi.v3.core.statement.UnableToRetrieveMetaDataException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Update.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Update.html new file mode 100644 index 00000000000..6ad8c82892c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/class-use/Update.html @@ -0,0 +1,92 @@ + + + + +Uses of Class org.jdbi.v3.core.statement.Update (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.statement.Update

+
+
Packages that use Update
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/package-summary.html new file mode 100644 index 00000000000..d1cba6a78fe --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/package-summary.html @@ -0,0 +1,290 @@ + + + + +org.jdbi.v3.core.statement (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.statement

+
+
+
+
package org.jdbi.v3.core.statement
+
+

+ The statement package provides most of the Fluent API + to drive statement execution. It also handles parameter binding and + the Statement lifecycle, including cleaning up resources after execution. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/package-tree.html new file mode 100644 index 00000000000..198e37275b2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/package-tree.html @@ -0,0 +1,167 @@ + + + + +org.jdbi.v3.core.statement Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.statement

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/package-use.html new file mode 100644 index 00000000000..28b5a4a5924 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/statement/package-use.html @@ -0,0 +1,524 @@ + + + + +Uses of Package org.jdbi.v3.core.statement (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.statement

+
+
Packages that use org.jdbi.v3.core.statement
+
+
Package
+
Description
+ +
 
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
+
+ freemarker provides advanced string template processing.
+
+ +
+
+ joda-time provides improved date and time types to pre-Java 8 applications.
+
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+ +
+
+ stringtemplate4 provides advanced string template processing + that Jdbi can drive with the statement's bound parameters + and context to drive statement generation that may need to bind + variable number of parameters or other advanced use cases.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/CMTTransactionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/CMTTransactionHandler.html new file mode 100644 index 00000000000..bdb361e1669 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/CMTTransactionHandler.html @@ -0,0 +1,414 @@ + + + + +CMTTransactionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CMTTransactionHandler

+
+
java.lang.Object +
org.jdbi.v3.core.transaction.CMTTransactionHandler
+
+
+
+
+
All Implemented Interfaces:
+
TransactionHandler
+
+
+
public class CMTTransactionHandler +extends Object +implements TransactionHandler
+
Handler designed to behave properly in a J2EE CMT environment. It will never + explicitly begin or commit a transaction, and will throw a runtime exception + when rollback is called to force rollback.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CMTTransactionHandler

      +
      +
      public CMTTransactionHandler()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      begin

      +
      +
      public void begin(Handle handle)
      +
      Called when a transaction is started
      +
      +
      Specified by:
      +
      begin in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle the transaction is being started on
      +
      +
      +
      +
    • +
    • +
      +

      commit

      +
      +
      public void commit(Handle handle)
      +
      Called when a transaction is committed
      +
      +
      Specified by:
      +
      commit in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle the commit is being performed on
      +
      +
      +
      +
    • +
    • +
      +

      rollback

      +
      +
      public void rollback(Handle handle)
      +
      Called when a transaction is rolled back + Will throw a RuntimeException to force transactional rollback
      +
      +
      Specified by:
      +
      rollback in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle the rollback is being performed on
      +
      +
      +
      +
    • +
    • +
      +

      rollbackToSavepoint

      +
      +
      public void rollbackToSavepoint(Handle handle, + String name)
      +
      Savepoints are not supported.
      +
      +
      Specified by:
      +
      rollbackToSavepoint in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle the rollback is being performed on
      +
      name - the name of the savepoint to rollback to
      +
      +
      +
      +
    • +
    • +
      +

      isInTransaction

      +
      +
      public boolean isInTransaction(Handle handle)
      +
      Called to test if a handle is in a transaction
      +
      +
      Specified by:
      +
      isInTransaction in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle to test
      +
      Returns:
      +
      whether the given handle is in a transaction
      +
      +
      +
      +
    • +
    • +
      +

      savepoint

      +
      +
      public void savepoint(Handle handle, + String name)
      +
      Savepoints are not supported.
      +
      +
      Specified by:
      +
      savepoint in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle on which the transaction is being savepointed
      +
      name - The name of the savepoint, used to rollback to or release later
      +
      +
      +
      +
    • +
    • +
      +

      releaseSavepoint

      +
      +
      public void releaseSavepoint(Handle handle, + String savepointName)
      +
      Savepoints are not supported.
      +
      +
      Specified by:
      +
      releaseSavepoint in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle on which the savepoint is being released
      +
      savepointName - the savepoint to release
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      public <R, +X extends Exception> R inTransaction(Handle handle, + HandleCallback<R,X> callback) + throws X
      +
      Description copied from interface: TransactionHandler
      +
      Run a transaction.
      +
      +
      Specified by:
      +
      inTransaction in interface TransactionHandler
      +
      Type Parameters:
      +
      R - the callback return type
      +
      X - the exception type thrown by the callback, if any
      +
      Parameters:
      +
      handle - the handle to the database
      +
      callback - a callback which will receive the open handle, in a transaction.
      +
      Returns:
      +
      the value returned by the callback.
      +
      Throws:
      +
      X - any exception thrown by the callback.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      public <R, +X extends Exception> R inTransaction(Handle handle, + TransactionIsolationLevel level, + HandleCallback<R,X> callback) + throws X
      +
      Description copied from interface: TransactionHandler
      +
      Run a transaction.
      +
      +
      Specified by:
      +
      inTransaction in interface TransactionHandler
      +
      Type Parameters:
      +
      R - the callback return type
      +
      X - the exception type thrown by the callback, if any
      +
      Parameters:
      +
      handle - the handle to the database
      +
      level - the isolation level for the transaction
      +
      callback - a callback which will receive the open handle, in a transaction.
      +
      Returns:
      +
      the value returned by the callback.
      +
      Throws:
      +
      X - any exception thrown by the callback.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/DelegatingTransactionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/DelegatingTransactionHandler.html new file mode 100644 index 00000000000..fefa8b4ba5f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/DelegatingTransactionHandler.html @@ -0,0 +1,421 @@ + + + + +DelegatingTransactionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DelegatingTransactionHandler

+
+
java.lang.Object +
org.jdbi.v3.core.transaction.DelegatingTransactionHandler
+
+
+
+
+
All Implemented Interfaces:
+
TransactionHandler
+
+
+
Direct Known Subclasses:
+
RollbackOnlyTransactionHandler, SerializableTransactionRunner
+
+
+
public class DelegatingTransactionHandler +extends Object +implements TransactionHandler
+
Simple delegating subclass that just invokes its delegate.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DelegatingTransactionHandler

      +
      +
      public DelegatingTransactionHandler(TransactionHandler delegate)
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      begin

      +
      +
      public void begin(Handle handle)
      +
      Description copied from interface: TransactionHandler
      +
      Begin a transaction.
      +
      +
      Specified by:
      +
      begin in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle the transaction is being started on
      +
      +
      +
      +
    • +
    • +
      +

      commit

      +
      +
      public void commit(Handle handle)
      +
      Description copied from interface: TransactionHandler
      +
      Commit the transaction.
      +
      +
      Specified by:
      +
      commit in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle the commit is being performed on
      +
      +
      +
      +
    • +
    • +
      +

      rollback

      +
      +
      public void rollback(Handle handle)
      +
      Description copied from interface: TransactionHandler
      +
      Roll back the transaction.
      +
      +
      Specified by:
      +
      rollback in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle the rollback is being performed on
      +
      +
      +
      +
    • +
    • +
      +

      rollbackToSavepoint

      +
      +
      public void rollbackToSavepoint(Handle handle, + String name)
      +
      Description copied from interface: TransactionHandler
      +
      Roll back to a named savepoint.
      +
      +
      Specified by:
      +
      rollbackToSavepoint in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle the rollback is being performed on
      +
      name - the name of the savepoint to rollback to
      +
      +
      +
      +
    • +
    • +
      +

      isInTransaction

      +
      +
      public boolean isInTransaction(Handle handle)
      +
      Description copied from interface: TransactionHandler
      +
      Returns whether a given Handle is in the transaction.
      +
      +
      Specified by:
      +
      isInTransaction in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle to test
      +
      Returns:
      +
      whether the given handle is in a transaction
      +
      +
      +
      +
    • +
    • +
      +

      savepoint

      +
      +
      public void savepoint(Handle handle, + String name)
      +
      Description copied from interface: TransactionHandler
      +
      Create a new savepoint.
      +
      +
      Specified by:
      +
      savepoint in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle on which the transaction is being savepointed
      +
      name - The name of the savepoint, used to rollback to or release later
      +
      +
      +
      +
    • +
    • +
      +

      releaseSavepoint

      +
      +
      public void releaseSavepoint(Handle handle, + String name)
      +
      Description copied from interface: TransactionHandler
      +
      Release a previously created savepoint.
      +
      +
      Specified by:
      +
      releaseSavepoint in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle on which the savepoint is being released
      +
      name - the savepoint to release
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      public <R, +X extends Exception> R inTransaction(Handle handle, + HandleCallback<R,X> callback) + throws X
      +
      Description copied from interface: TransactionHandler
      +
      Run a transaction.
      +
      +
      Specified by:
      +
      inTransaction in interface TransactionHandler
      +
      Type Parameters:
      +
      R - the callback return type
      +
      X - the exception type thrown by the callback, if any
      +
      Parameters:
      +
      handle - the handle to the database
      +
      callback - a callback which will receive the open handle, in a transaction.
      +
      Returns:
      +
      the value returned by the callback.
      +
      Throws:
      +
      X - any exception thrown by the callback.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      public <R, +X extends Exception> R inTransaction(Handle handle, + TransactionIsolationLevel level, + HandleCallback<R,X> callback) + throws X
      +
      Description copied from interface: TransactionHandler
      +
      Run a transaction.
      +
      +
      Specified by:
      +
      inTransaction in interface TransactionHandler
      +
      Type Parameters:
      +
      R - the callback return type
      +
      X - the exception type thrown by the callback, if any
      +
      Parameters:
      +
      handle - the handle to the database
      +
      level - the isolation level for the transaction
      +
      callback - a callback which will receive the open handle, in a transaction.
      +
      Returns:
      +
      the value returned by the callback.
      +
      Throws:
      +
      X - any exception thrown by the callback.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/LocalTransactionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/LocalTransactionHandler.html new file mode 100644 index 00000000000..d790a2c67e0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/LocalTransactionHandler.html @@ -0,0 +1,441 @@ + + + + +LocalTransactionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LocalTransactionHandler

+
+
java.lang.Object +
org.jdbi.v3.core.transaction.LocalTransactionHandler
+
+
+
+
+
All Implemented Interfaces:
+
TransactionHandler
+
+
+
public class LocalTransactionHandler +extends Object +implements TransactionHandler
+
This TransactionHandler uses local JDBC transactions + demarcated explicitly on the handle and passed through to be handled + directly on the JDBC Connection instance.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LocalTransactionHandler

      +
      +
      public LocalTransactionHandler()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      begin

      +
      +
      public void begin(Handle handle)
      +
      Description copied from interface: TransactionHandler
      +
      Begin a transaction.
      +
      +
      Specified by:
      +
      begin in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle the transaction is being started on
      +
      +
      +
      +
    • +
    • +
      +

      commit

      +
      +
      public void commit(Handle handle)
      +
      Description copied from interface: TransactionHandler
      +
      Commit the transaction.
      +
      +
      Specified by:
      +
      commit in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle the commit is being performed on
      +
      +
      +
      +
    • +
    • +
      +

      rollback

      +
      +
      public void rollback(Handle handle)
      +
      Description copied from interface: TransactionHandler
      +
      Roll back the transaction.
      +
      +
      Specified by:
      +
      rollback in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle the rollback is being performed on
      +
      +
      +
      +
    • +
    • +
      +

      isInTransaction

      +
      +
      public boolean isInTransaction(Handle handle)
      +
      Description copied from interface: TransactionHandler
      +
      Returns whether a given Handle is in the transaction.
      +
      +
      Specified by:
      +
      isInTransaction in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle to test
      +
      Returns:
      +
      whether the given handle is in a transaction
      +
      +
      +
      +
    • +
    • +
      +

      savepoint

      +
      +
      public void savepoint(Handle handle, + String savepointName)
      +
      Description copied from interface: TransactionHandler
      +
      Create a new savepoint.
      +
      +
      Specified by:
      +
      savepoint in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle on which the transaction is being savepointed
      +
      savepointName - The name of the savepoint, used to rollback to or release later
      +
      +
      +
      +
    • +
    • +
      +

      rollbackToSavepoint

      +
      +
      public void rollbackToSavepoint(Handle handle, + String savepointName)
      +
      Description copied from interface: TransactionHandler
      +
      Roll back to a named savepoint.
      +
      +
      Specified by:
      +
      rollbackToSavepoint in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle the rollback is being performed on
      +
      savepointName - the name of the savepoint to rollback to
      +
      +
      +
      +
    • +
    • +
      +

      releaseSavepoint

      +
      +
      public void releaseSavepoint(Handle handle, + String savepointName)
      +
      Description copied from interface: TransactionHandler
      +
      Release a previously created savepoint.
      +
      +
      Specified by:
      +
      releaseSavepoint in interface TransactionHandler
      +
      Parameters:
      +
      handle - the handle on which the savepoint is being released
      +
      savepointName - the savepoint to release
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      public <R, +X extends Exception> R inTransaction(Handle handle, + HandleCallback<R,X> callback) + throws X
      +
      Description copied from interface: TransactionHandler
      +
      Run a transaction.
      +
      +
      Specified by:
      +
      inTransaction in interface TransactionHandler
      +
      Type Parameters:
      +
      R - the callback return type
      +
      X - the exception type thrown by the callback, if any
      +
      Parameters:
      +
      handle - the handle to the database
      +
      callback - a callback which will receive the open handle, in a transaction.
      +
      Returns:
      +
      the value returned by the callback.
      +
      Throws:
      +
      X - any exception thrown by the callback.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      public <R, +X extends Exception> R inTransaction(Handle handle, + TransactionIsolationLevel level, + HandleCallback<R,X> callback) + throws X
      +
      Description copied from interface: TransactionHandler
      +
      Run a transaction.
      +
      +
      Specified by:
      +
      inTransaction in interface TransactionHandler
      +
      Type Parameters:
      +
      R - the callback return type
      +
      X - the exception type thrown by the callback, if any
      +
      Parameters:
      +
      handle - the handle to the database
      +
      level - the isolation level for the transaction
      +
      callback - a callback which will receive the open handle, in a transaction.
      +
      Returns:
      +
      the value returned by the callback.
      +
      Throws:
      +
      X - any exception thrown by the callback.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      binding

      +
      +
      public static LocalTransactionHandler binding()
      +
      +
      +
    • +
    • +
      +

      reset

      +
      +
      public void reset(Handle handle)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/RollbackOnlyTransactionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/RollbackOnlyTransactionHandler.html new file mode 100644 index 00000000000..fc72fae6bfe --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/RollbackOnlyTransactionHandler.html @@ -0,0 +1,214 @@ + + + + +RollbackOnlyTransactionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class RollbackOnlyTransactionHandler

+
+
java.lang.Object +
org.jdbi.v3.core.transaction.DelegatingTransactionHandler +
org.jdbi.v3.core.transaction.RollbackOnlyTransactionHandler
+
+
+
+
+
+
All Implemented Interfaces:
+
TransactionHandler
+
+
+
public class RollbackOnlyTransactionHandler +extends DelegatingTransactionHandler
+ +
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      RollbackOnlyTransactionHandler

      +
      +
      public RollbackOnlyTransactionHandler()
      +
      +
      +
    • +
    • +
      +

      RollbackOnlyTransactionHandler

      +
      +
      public RollbackOnlyTransactionHandler(TransactionHandler delegate)
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/SerializableTransactionRunner.Configuration.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/SerializableTransactionRunner.Configuration.html new file mode 100644 index 00000000000..2fc95436028 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/SerializableTransactionRunner.Configuration.html @@ -0,0 +1,285 @@ + + + + +SerializableTransactionRunner.Configuration (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SerializableTransactionRunner.Configuration

+
+
java.lang.Object +
org.jdbi.v3.core.transaction.SerializableTransactionRunner.Configuration
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<SerializableTransactionRunner.Configuration>
+
+
+
Enclosing class:
+
SerializableTransactionRunner
+
+
+
public static class SerializableTransactionRunner.Configuration +extends Object +implements JdbiConfig<SerializableTransactionRunner.Configuration>
+
Configuration for serializable transaction runner.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Configuration

      +
      +
      public Configuration()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setMaxRetries

      +
      +
      public SerializableTransactionRunner.Configuration setMaxRetries(int maxRetries)
      +
      Sets the maximum number of retry attempts before aborting.
      +
      +
      Parameters:
      +
      maxRetries - The maximum number of retry attempts before aborting.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      setSerializationFailureSqlState

      +
      +
      public SerializableTransactionRunner.Configuration setSerializationFailureSqlState(String serializationFailureSqlState)
      +
      Sets the SQL state to consider as a serialization failure.
      +
      +
      Parameters:
      +
      serializationFailureSqlState - the SQL state to consider as a serialization failure.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      setOnFailure

      +
      + +
      Set a consumer that is called with a list of exceptions during a run. Will not be called with any exceptions that are not the configured + serialization failure. These will simply be thrown, aborting the operation. Can be used e.g. for logging.
      +
      +
      Parameters:
      +
      onFailure - A consumer to handle failures. Will never be called with Exceptions that have not been configured.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      setOnSuccess

      +
      + +
      Sets a consumer that is called after a run has completed successfully. The consumer will received any exceptions that happened during the run. Will + not be called with any exceptions that are not the configured serialization failure. This can be used to e.g. log all exceptions after a successful + run.
      +
      +
      Parameters:
      +
      onSuccess - A consumer to handle the list of failures after the run has been completed successfully.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      + +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<SerializableTransactionRunner.Configuration>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/SerializableTransactionRunner.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/SerializableTransactionRunner.html new file mode 100644 index 00000000000..794b995e01c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/SerializableTransactionRunner.html @@ -0,0 +1,324 @@ + + + + +SerializableTransactionRunner (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SerializableTransactionRunner

+
+
java.lang.Object +
org.jdbi.v3.core.transaction.DelegatingTransactionHandler +
org.jdbi.v3.core.transaction.SerializableTransactionRunner
+
+
+
+
+
+
All Implemented Interfaces:
+
TransactionHandler
+
+
+
public class SerializableTransactionRunner +extends DelegatingTransactionHandler +implements TransactionHandler
+
A TransactionHandler that automatically retries transactions that fail due to + serialization failures, which can generally be resolved by automatically + retrying the transaction. Any HandleCallback used under this runner + should be aware that it may be invoked multiple times and should be idempotent.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/TransactionException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/TransactionException.html new file mode 100644 index 00000000000..d955ce5f4ea --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/TransactionException.html @@ -0,0 +1,195 @@ + + + + +TransactionException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class TransactionException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class TransactionException +extends JdbiException
+
Thrown when there's a problem manipulating the transaction isolation level.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TransactionException

      +
      +
      public TransactionException(String string, + Throwable throwable)
      +
      +
      +
    • +
    • +
      +

      TransactionException

      +
      +
      public TransactionException(Throwable cause)
      +
      +
      +
    • +
    • +
      +

      TransactionException

      +
      +
      public TransactionException(String msg)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/TransactionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/TransactionHandler.html new file mode 100644 index 00000000000..2b77231b528 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/TransactionHandler.html @@ -0,0 +1,380 @@ + + + + +TransactionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface TransactionHandler

+
+
+
+
+
All Known Implementing Classes:
+
CMTTransactionHandler, DelegatingTransactionHandler, LocalTransactionHandler, RollbackOnlyTransactionHandler, SerializableTransactionRunner
+
+
+
public interface TransactionHandler
+
Interface which defines callbacks to be used when transaction methods are called on a handle. + Used by specifying on a Jdbi instance. All Handle instances + opened from that Jdbi will use the handler specified. + +

+ The default implementation, LocalTransactionHandler, explicitly manages + the transactions on the underlying JDBC Connection. +

+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      begin

      +
      +
      void begin(Handle handle)
      +
      Begin a transaction.
      +
      +
      Parameters:
      +
      handle - the handle the transaction is being started on
      +
      +
      +
      +
    • +
    • +
      +

      commit

      +
      +
      void commit(Handle handle)
      +
      Commit the transaction.
      +
      +
      Parameters:
      +
      handle - the handle the commit is being performed on
      +
      +
      +
      +
    • +
    • +
      +

      rollback

      +
      +
      void rollback(Handle handle)
      +
      Roll back the transaction.
      +
      +
      Parameters:
      +
      handle - the handle the rollback is being performed on
      +
      +
      +
      +
    • +
    • +
      +

      isInTransaction

      +
      +
      boolean isInTransaction(Handle handle)
      +
      Returns whether a given Handle is in the transaction.
      +
      +
      Parameters:
      +
      handle - the handle to test
      +
      Returns:
      +
      whether the given handle is in a transaction
      +
      +
      +
      +
    • +
    • +
      +

      savepoint

      +
      +
      void savepoint(Handle handle, + String savepointName)
      +
      Create a new savepoint.
      +
      +
      Parameters:
      +
      handle - the handle on which the transaction is being savepointed
      +
      savepointName - The name of the savepoint, used to rollback to or release later
      +
      +
      +
      +
    • +
    • +
      +

      rollbackToSavepoint

      +
      +
      void rollbackToSavepoint(Handle handle, + String savepointName)
      +
      Roll back to a named savepoint.
      +
      +
      Parameters:
      +
      handle - the handle the rollback is being performed on
      +
      savepointName - the name of the savepoint to rollback to
      +
      +
      +
      +
    • +
    • +
      +

      releaseSavepoint

      +
      +
      void releaseSavepoint(Handle handle, + String savepointName)
      +
      Release a previously created savepoint.
      +
      +
      Parameters:
      +
      handle - the handle on which the savepoint is being released
      +
      savepointName - the savepoint to release
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      <R, +X extends Exception> R inTransaction(Handle handle, + HandleCallback<R,X> callback) + throws X
      +
      Run a transaction.
      +
      +
      Type Parameters:
      +
      R - the callback return type
      +
      X - the exception type thrown by the callback, if any
      +
      Parameters:
      +
      handle - the handle to the database
      +
      callback - a callback which will receive the open handle, in a transaction.
      +
      Returns:
      +
      the value returned by the callback.
      +
      Throws:
      +
      X - any exception thrown by the callback.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      <R, +X extends Exception> R inTransaction(Handle handle, + TransactionIsolationLevel level, + HandleCallback<R,X> callback) + throws X
      +
      Run a transaction.
      +
      +
      Type Parameters:
      +
      R - the callback return type
      +
      X - the exception type thrown by the callback, if any
      +
      Parameters:
      +
      handle - the handle to the database
      +
      level - the isolation level for the transaction
      +
      callback - a callback which will receive the open handle, in a transaction.
      +
      Returns:
      +
      the value returned by the callback.
      +
      Throws:
      +
      X - any exception thrown by the callback.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      specialize

      +
      +
      default TransactionHandler specialize(Handle handle) + throws SQLException
      +
      Bind a TransactionHandler to a Handle, to allow it to track handle-local state.
      +
      +
      Parameters:
      +
      handle - the handle to bind to
      +
      Returns:
      +
      the bound TransactionHandler
      +
      Throws:
      +
      SQLException - bad things happened
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/TransactionIsolationLevel.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/TransactionIsolationLevel.html new file mode 100644 index 00000000000..10062e65f55 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/TransactionIsolationLevel.html @@ -0,0 +1,313 @@ + + + + +TransactionIsolationLevel (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum TransactionIsolationLevel

+
+
java.lang.Object +
java.lang.Enum<TransactionIsolationLevel> +
org.jdbi.v3.core.transaction.TransactionIsolationLevel
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<TransactionIsolationLevel>
+
+
+
public enum TransactionIsolationLevel +extends Enum<TransactionIsolationLevel>
+
Supported transaction isolation levels.
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static TransactionIsolationLevel[] values()
      +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum type, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static TransactionIsolationLevel valueOf(String name)
      +
      Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum type has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    • +
      +

      intValue

      +
      +
      public int intValue()
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static TransactionIsolationLevel valueOf(int val)
      +
      Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      val - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum type has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/UnableToManipulateTransactionIsolationLevelException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/UnableToManipulateTransactionIsolationLevelException.html new file mode 100644 index 00000000000..3d4a194409a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/UnableToManipulateTransactionIsolationLevelException.html @@ -0,0 +1,187 @@ + + + + +UnableToManipulateTransactionIsolationLevelException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UnableToManipulateTransactionIsolationLevelException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
org.jdbi.v3.core.JdbiException +
org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException
+
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class UnableToManipulateTransactionIsolationLevelException +extends JdbiException
+
Thrown when Jdbi isn't able to change the transaction isolation level.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UnableToManipulateTransactionIsolationLevelException

      +
      +
      public UnableToManipulateTransactionIsolationLevelException(int i, + SQLException e)
      +
      +
      +
    • +
    • +
      +

      UnableToManipulateTransactionIsolationLevelException

      +
      +
      public UnableToManipulateTransactionIsolationLevelException(String msg, + SQLException e)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/UnableToRestoreAutoCommitStateException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/UnableToRestoreAutoCommitStateException.html new file mode 100644 index 00000000000..06c16467b21 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/UnableToRestoreAutoCommitStateException.html @@ -0,0 +1,173 @@ + + + + +UnableToRestoreAutoCommitStateException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UnableToRestoreAutoCommitStateException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
org.jdbi.v3.core.JdbiException +
org.jdbi.v3.core.transaction.UnableToRestoreAutoCommitStateException
+
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class UnableToRestoreAutoCommitStateException +extends JdbiException
+
Thrown after a transaction finishes if we can't reset its isolation level.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UnableToRestoreAutoCommitStateException

      +
      +
      public UnableToRestoreAutoCommitStateException(Throwable throwable)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/CMTTransactionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/CMTTransactionHandler.html new file mode 100644 index 00000000000..164ec77ab3f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/CMTTransactionHandler.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.transaction.CMTTransactionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.transaction.CMTTransactionHandler

+
+No usage of org.jdbi.v3.core.transaction.CMTTransactionHandler
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/DelegatingTransactionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/DelegatingTransactionHandler.html new file mode 100644 index 00000000000..16585a54be5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/DelegatingTransactionHandler.html @@ -0,0 +1,96 @@ + + + + +Uses of Class org.jdbi.v3.core.transaction.DelegatingTransactionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.transaction.DelegatingTransactionHandler

+
+ +
+
Package
+
Description
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/LocalTransactionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/LocalTransactionHandler.html new file mode 100644 index 00000000000..a016a4781e8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/LocalTransactionHandler.html @@ -0,0 +1,86 @@ + + + + +Uses of Class org.jdbi.v3.core.transaction.LocalTransactionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.transaction.LocalTransactionHandler

+
+
Packages that use LocalTransactionHandler
+
+
Package
+
Description
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/RollbackOnlyTransactionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/RollbackOnlyTransactionHandler.html new file mode 100644 index 00000000000..5e1ce4800ae --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/RollbackOnlyTransactionHandler.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.transaction.RollbackOnlyTransactionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.transaction.RollbackOnlyTransactionHandler

+
+No usage of org.jdbi.v3.core.transaction.RollbackOnlyTransactionHandler
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/SerializableTransactionRunner.Configuration.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/SerializableTransactionRunner.Configuration.html new file mode 100644 index 00000000000..bfa0807ecbf --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/SerializableTransactionRunner.Configuration.html @@ -0,0 +1,106 @@ + + + + +Uses of Class org.jdbi.v3.core.transaction.SerializableTransactionRunner.Configuration (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.transaction.SerializableTransactionRunner.Configuration

+
+ +
+
Package
+
Description
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/SerializableTransactionRunner.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/SerializableTransactionRunner.html new file mode 100644 index 00000000000..c76942567bf --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/SerializableTransactionRunner.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.transaction.SerializableTransactionRunner (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.transaction.SerializableTransactionRunner

+
+No usage of org.jdbi.v3.core.transaction.SerializableTransactionRunner
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/TransactionException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/TransactionException.html new file mode 100644 index 00000000000..9afd4c87561 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/TransactionException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.transaction.TransactionException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.transaction.TransactionException

+
+No usage of org.jdbi.v3.core.transaction.TransactionException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/TransactionHandler.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/TransactionHandler.html new file mode 100644 index 00000000000..3787adfa20a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/TransactionHandler.html @@ -0,0 +1,174 @@ + + + + +Uses of Interface org.jdbi.v3.core.transaction.TransactionHandler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.core.transaction.TransactionHandler

+
+
Packages that use TransactionHandler
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/TransactionIsolationLevel.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/TransactionIsolationLevel.html new file mode 100644 index 00000000000..bb3ce61c875 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/TransactionIsolationLevel.html @@ -0,0 +1,269 @@ + + + + +Uses of Enum org.jdbi.v3.core.transaction.TransactionIsolationLevel (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum
org.jdbi.v3.core.transaction.TransactionIsolationLevel

+
+
Packages that use TransactionIsolationLevel
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
 
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+ +
+
+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/UnableToManipulateTransactionIsolationLevelException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/UnableToManipulateTransactionIsolationLevelException.html new file mode 100644 index 00000000000..635993559c0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/UnableToManipulateTransactionIsolationLevelException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException

+
+No usage of org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/UnableToRestoreAutoCommitStateException.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/UnableToRestoreAutoCommitStateException.html new file mode 100644 index 00000000000..4dbf98bd941 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/class-use/UnableToRestoreAutoCommitStateException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.core.transaction.UnableToRestoreAutoCommitStateException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.core.transaction.UnableToRestoreAutoCommitStateException

+
+No usage of org.jdbi.v3.core.transaction.UnableToRestoreAutoCommitStateException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/package-summary.html new file mode 100644 index 00000000000..875ab20a2ab --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/package-summary.html @@ -0,0 +1,165 @@ + + + + +org.jdbi.v3.core.transaction (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.core.transaction

+
+
+
+
package org.jdbi.v3.core.transaction
+
+

+ The transaction package implements the strategy + Jdbi uses to open and close transactions. The default + instance simply sets the transaction property on the connection. + There is also a runner that runs SERIALIZABLE transactions + repeatedly until they succeed without transient serialization failures. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/package-tree.html new file mode 100644 index 00000000000..3966d505ec9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/package-tree.html @@ -0,0 +1,118 @@ + + + + +org.jdbi.v3.core.transaction Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.core.transaction

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/package-use.html new file mode 100644 index 00000000000..1c149a71246 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/core/transaction/package-use.html @@ -0,0 +1,159 @@ + + + + +Uses of Package org.jdbi.v3.core.transaction (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.core.transaction

+
+ +
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
 
+ +
+
+ The transaction package implements the strategy + Jdbi uses to open and close transactions.
+
+ +
+
+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/FreemarkerConfig.html b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/FreemarkerConfig.html new file mode 100644 index 00000000000..53947e1040d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/FreemarkerConfig.html @@ -0,0 +1,230 @@ + + + + +FreemarkerConfig (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FreemarkerConfig

+
+
java.lang.Object +
org.jdbi.v3.freemarker.FreemarkerConfig
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<FreemarkerConfig>
+
+
+
public class FreemarkerConfig +extends Object +implements JdbiConfig<FreemarkerConfig>
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      FreemarkerConfig

      +
      +
      public FreemarkerConfig()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setFreemarkerConfiguration

      +
      +
      public FreemarkerConfig setFreemarkerConfiguration(freemarker.template.Configuration freemarkerConfiguration)
      +
      +
      +
    • +
    • +
      +

      getFreemarkerConfiguration

      +
      +
      public freemarker.template.Configuration getFreemarkerConfiguration()
      +
      +
      +
    • +
    • +
      +

      createLocator

      +
      +
      public FreemarkerSqlLocator createLocator()
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public FreemarkerConfig createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<FreemarkerConfig>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/FreemarkerEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/FreemarkerEngine.html new file mode 100644 index 00000000000..b0e14c2876f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/FreemarkerEngine.html @@ -0,0 +1,242 @@ + + + + +FreemarkerEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FreemarkerEngine

+
+
java.lang.Object +
org.jdbi.v3.freemarker.FreemarkerEngine
+
+
+
+
+
All Implemented Interfaces:
+
TemplateEngine, TemplateEngine.Parsing
+
+
+
public class FreemarkerEngine +extends Object +implements TemplateEngine.Parsing
+
Rewrites a Freemarker template, using the attributes on the StatementContext as template parameters.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      FreemarkerEngine

      +
      +
      @Deprecated +public FreemarkerEngine()
      +
      Deprecated. +
      use instance() for a shared engine instead
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/FreemarkerSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/FreemarkerSqlLocator.html new file mode 100644 index 00000000000..2ce1fcaa6a5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/FreemarkerSqlLocator.html @@ -0,0 +1,188 @@ + + + + +FreemarkerSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FreemarkerSqlLocator

+
+
java.lang.Object +
org.jdbi.v3.freemarker.FreemarkerSqlLocator
+
+
+
+
+
public class FreemarkerSqlLocator +extends Object
+
Locates SQL in .sql.ftl Freemarker files on the classpath.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      findTemplate

      +
      +
      @Deprecated +public static freemarker.template.Template findTemplate(Class<?> type, + String templateName)
      +
      Deprecated. +
      this static method does not respect configuration, use FreemarkerConfig.createLocator()
      +
      +
      +
      +
    • +
    • +
      +

      findTemplate

      +
      +
      public static freemarker.template.Template findTemplate(freemarker.template.Configuration config, + Class<?> type, + String templateName)
      +
      +
      +
    • +
    • +
      +

      locate

      +
      +
      public freemarker.template.Template locate(Class<?> type, + String templateName)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/UseFreemarkerEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/UseFreemarkerEngine.html new file mode 100644 index 00000000000..cc0bc00dee5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/UseFreemarkerEngine.html @@ -0,0 +1,100 @@ + + + + +UseFreemarkerEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseFreemarkerEngine

+
+
+
+
+
@Target({TYPE,METHOD}) +@Retention(RUNTIME) +public @interface UseFreemarkerEngine
+
Configures a SQL object class or method to rewrite SQL statements using Freemarker. Method parameters annotated + with @Define are passed to the Freemarker as template attributes.
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/UseFreemarkerSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/UseFreemarkerSqlLocator.html new file mode 100644 index 00000000000..2d1f7f6b0f8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/UseFreemarkerSqlLocator.html @@ -0,0 +1,110 @@ + + + + +UseFreemarkerSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseFreemarkerSqlLocator

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface UseFreemarkerSqlLocator
+
Configures SQL Object to locate SQL using the FreemarkerSqlLocator class. + +
+     @UseFreemarkerSqlLocator
+     interface Viccini {
+         @SqlUpdate
+         void doTheThing(long id);
+
+         @SqlUpdate("thatOtherThing")
+         void doTheThing(String name);
+     }
+ 
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/FreemarkerConfig.html b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/FreemarkerConfig.html new file mode 100644 index 00000000000..e6b5d867793 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/FreemarkerConfig.html @@ -0,0 +1,88 @@ + + + + +Uses of Class org.jdbi.v3.freemarker.FreemarkerConfig (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.freemarker.FreemarkerConfig

+
+
Packages that use FreemarkerConfig
+
+
Package
+
Description
+ +
+
+ freemarker provides advanced string template processing.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/FreemarkerEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/FreemarkerEngine.html new file mode 100644 index 00000000000..a760c47ec71 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/FreemarkerEngine.html @@ -0,0 +1,85 @@ + + + + +Uses of Class org.jdbi.v3.freemarker.FreemarkerEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.freemarker.FreemarkerEngine

+
+
Packages that use FreemarkerEngine
+
+
Package
+
Description
+ +
+
+ freemarker provides advanced string template processing.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/FreemarkerSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/FreemarkerSqlLocator.html new file mode 100644 index 00000000000..f4af9273340 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/FreemarkerSqlLocator.html @@ -0,0 +1,85 @@ + + + + +Uses of Class org.jdbi.v3.freemarker.FreemarkerSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.freemarker.FreemarkerSqlLocator

+
+
Packages that use FreemarkerSqlLocator
+
+
Package
+
Description
+ +
+
+ freemarker provides advanced string template processing.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/UseFreemarkerEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/UseFreemarkerEngine.html new file mode 100644 index 00000000000..c627cda0405 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/UseFreemarkerEngine.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.freemarker.UseFreemarkerEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.freemarker.UseFreemarkerEngine

+
+No usage of org.jdbi.v3.freemarker.UseFreemarkerEngine
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/UseFreemarkerSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/UseFreemarkerSqlLocator.html new file mode 100644 index 00000000000..28f485ae88c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/class-use/UseFreemarkerSqlLocator.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.freemarker.UseFreemarkerSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.freemarker.UseFreemarkerSqlLocator

+
+No usage of org.jdbi.v3.freemarker.UseFreemarkerSqlLocator
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/package-summary.html new file mode 100644 index 00000000000..c33be390f0e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/package-summary.html @@ -0,0 +1,121 @@ + + + + +org.jdbi.v3.freemarker (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.freemarker

+
+
+
+
package org.jdbi.v3.freemarker
+
+

+ freemarker provides advanced string template processing. + Defined attributes can be accessed in the templates via standard Freemarker + variable markers e.g. ${...}. + Use <#include "someFile.ftl" > statements for both relative + and absolute include statements. + Only templates located with FreemarkerSqlLocator can have includes. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/package-tree.html new file mode 100644 index 00000000000..e6468b4ad6b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/package-tree.html @@ -0,0 +1,80 @@ + + + + +org.jdbi.v3.freemarker Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.freemarker

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/package-use.html new file mode 100644 index 00000000000..5caa22b97b4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/freemarker/package-use.html @@ -0,0 +1,90 @@ + + + + +Uses of Package org.jdbi.v3.freemarker (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.freemarker

+
+
Packages that use org.jdbi.v3.freemarker
+
+
Package
+
Description
+ +
+
+ freemarker provides advanced string template processing.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/generator/GenerateSqlObjectProcessor.html b/releases/3.45.2/apidocs/org/jdbi/v3/generator/GenerateSqlObjectProcessor.html new file mode 100644 index 00000000000..d641935cce0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/generator/GenerateSqlObjectProcessor.html @@ -0,0 +1,269 @@ + + + + +GenerateSqlObjectProcessor (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class GenerateSqlObjectProcessor

+
+
java.lang.Object +
javax.annotation.processing.AbstractProcessor +
org.jdbi.v3.generator.GenerateSqlObjectProcessor
+
+
+
+
+
+
All Implemented Interfaces:
+
Processor
+
+
+
@SupportedAnnotationTypes("org.jdbi.v3.sqlobject.GenerateSqlObject") +public class GenerateSqlObjectProcessor +extends AbstractProcessor
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/generator/class-use/GenerateSqlObjectProcessor.html b/releases/3.45.2/apidocs/org/jdbi/v3/generator/class-use/GenerateSqlObjectProcessor.html new file mode 100644 index 00000000000..1b07dadaa56 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/generator/class-use/GenerateSqlObjectProcessor.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.generator.GenerateSqlObjectProcessor (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.generator.GenerateSqlObjectProcessor

+
+No usage of org.jdbi.v3.generator.GenerateSqlObjectProcessor
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/generator/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/generator/package-summary.html new file mode 100644 index 00000000000..72e6e3de99b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/generator/package-summary.html @@ -0,0 +1,93 @@ + + + + +org.jdbi.v3.generator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.generator

+
+
+
+
package org.jdbi.v3.generator
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/generator/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/generator/package-tree.html new file mode 100644 index 00000000000..ac3210aa7bc --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/generator/package-tree.html @@ -0,0 +1,75 @@ + + + + +org.jdbi.v3.generator Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.generator

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/generator/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/generator/package-use.html new file mode 100644 index 00000000000..1d870d6eb85 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/generator/package-use.html @@ -0,0 +1,57 @@ + + + + +Uses of Package org.jdbi.v3.generator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.generator

+
+No usage of org.jdbi.v3.generator
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/gson2/Gson2Config.html b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/Gson2Config.html new file mode 100644 index 00000000000..a6eba16c134 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/Gson2Config.html @@ -0,0 +1,236 @@ + + + + +Gson2Config (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Gson2Config

+
+
java.lang.Object +
org.jdbi.v3.gson2.Gson2Config
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<Gson2Config>
+
+
+
public class Gson2Config +extends Object +implements JdbiConfig<Gson2Config>
+
Configuration class for Gson 2 integration.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Gson2Config

      +
      +
      public Gson2Config()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setGson

      +
      +
      public Gson2Config setGson(com.google.gson.Gson gson)
      +
      Set the Gson to use for json conversion.
      +
      +
      Parameters:
      +
      gson - the mapper to use
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getGson

      +
      +
      public com.google.gson.Gson getGson()
      +
      Returns the Gson object used for json conversion.
      +
      +
      Returns:
      +
      the Gson object used for json conversion.
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public Gson2Config createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<Gson2Config>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/gson2/Gson2Plugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/Gson2Plugin.html new file mode 100644 index 00000000000..014d7e08dc6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/Gson2Plugin.html @@ -0,0 +1,219 @@ + + + + +Gson2Plugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Gson2Plugin

+
+ +
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public class Gson2Plugin +extends JdbiPlugin.Singleton
+
Gson 2 integration plugin. + + Adds support for @Json qualifying annotation via Gson.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Gson2Plugin

      +
      +
      public Gson2Plugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi jdbi)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Parameters:
      +
      jdbi - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/gson2/class-use/Gson2Config.html b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/class-use/Gson2Config.html new file mode 100644 index 00000000000..2a0e0749a28 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/class-use/Gson2Config.html @@ -0,0 +1,87 @@ + + + + +Uses of Class org.jdbi.v3.gson2.Gson2Config (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.gson2.Gson2Config

+
+
Packages that use Gson2Config
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/gson2/class-use/Gson2Plugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/class-use/Gson2Plugin.html new file mode 100644 index 00000000000..b963957b064 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/class-use/Gson2Plugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.gson2.Gson2Plugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.gson2.Gson2Plugin

+
+No usage of org.jdbi.v3.gson2.Gson2Plugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/gson2/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/package-summary.html new file mode 100644 index 00000000000..a1b062a9350 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/package-summary.html @@ -0,0 +1,99 @@ + + + + +org.jdbi.v3.gson2 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.gson2

+
+
+
+
package org.jdbi.v3.gson2
+
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Configuration class for Gson 2 integration.
    +
    + +
    +
    Gson 2 integration plugin.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/gson2/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/package-tree.html new file mode 100644 index 00000000000..44626cec3c8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/package-tree.html @@ -0,0 +1,76 @@ + + + + +org.jdbi.v3.gson2 Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.gson2

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/gson2/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/package-use.html new file mode 100644 index 00000000000..27011b98cba --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/gson2/package-use.html @@ -0,0 +1,81 @@ + + + + +Uses of Package org.jdbi.v3.gson2 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.gson2

+
+
Packages that use org.jdbi.v3.gson2
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/GuavaArguments.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/GuavaArguments.html new file mode 100644 index 00000000000..43d12e75f40 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/GuavaArguments.html @@ -0,0 +1,162 @@ + + + + +GuavaArguments (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class GuavaArguments

+
+
java.lang.Object +
org.jdbi.v3.guava.GuavaArguments
+
+
+
+
+
public class GuavaArguments +extends Object
+
Provide ArgumentFactory instances that understand Guava types.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      factory

      +
      +
      public static ArgumentFactory factory()
      +
      Returns an ArgumentFactory which understands Guava types. + +

      Currently supported types:

      +
        +
      • com.google.common.base.Optional
      • +
      +
      +
      Returns:
      +
      an ArgumentFactory which understands Guava types.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/GuavaCollectors.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/GuavaCollectors.html new file mode 100644 index 00000000000..ea82f7cbcc4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/GuavaCollectors.html @@ -0,0 +1,452 @@ + + + + +GuavaCollectors (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class GuavaCollectors

+
+
java.lang.Object +
org.jdbi.v3.guava.GuavaCollectors
+
+
+
+
+
public class GuavaCollectors +extends Object
+
Provides Collectors for Guava collection types. +

Supported container types:

+
    +
  • com.google.common.base.Optional<T> (throws an exception if more than one row in result)
  • +
  • com.google.common.collect.ImmutableList<T>
  • +
  • com.google.common.collect.ImmutableSet<T>
  • +
  • com.google.common.collect.ImmutableSortedSet<T extends Comparable>
  • +
+

Supported Maps and Multimaps types - for rows mapped to Map.Entry<K, V>:

+
    +
  • com.google.common.collect.BiMap<K, V>
  • +
  • com.google.common.collect.ImmutableMap<K, V>
  • +
  • com.google.common.collect.Multimap<K, V>
  • +
  • com.google.common.collect.ListMultimap<K, V>
  • +
  • com.google.common.collect.ArrayListMultimap<K, V>
  • +
  • com.google.common.collect.LinkedListMultimap<K, V>
  • +
  • com.google.common.collect.SetMultimap<K, V>
  • +
  • com.google.common.collect.HashMultimap<K, V>
  • +
  • com.google.common.collect.TreeMultimap<K, V>
  • +
  • com.google.common.collect.ImmutableMultimap<K, V>
  • +
  • com.google.common.collect.ImmutableListMultimap<K, V>
  • +
  • com.google.common.collect.ImmutableSetMultimap<K, V>
  • +
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns a CollectorFactory which knows how to create all supported Guava types.
    +
    +
    static <K, +V> Collector<Map.Entry<K,V>,?,com.google.common.collect.ArrayListMultimap<K,V>>
    + +
    +
    Returns a Collector that accumulates Map.Entry<K, V> input elements into an + ArrayListMultimap<K, V>.
    +
    +
    static <K, +V> Collector<Map.Entry<K,V>,?,com.google.common.collect.BiMap<K,V>>
    + +
    +
    Returns a Collector that accumulates Map.Entry<K, V> input elements into a + HashBiMap<K, V>.
    +
    +
    static <K, +V> Collector<Map.Entry<K,V>,?,com.google.common.collect.HashMultimap<K,V>>
    + +
    +
    Returns a Collector that accumulates Map.Entry<K, V> input elements into a + HashMultimap<K, V>.
    +
    +
    static <K, +V> Collector<Map.Entry<K,V>,?,com.google.common.collect.ImmutableListMultimap<K,V>>
    + +
    +
    Returns a Collector that accumulates Map.Entry<K, V> input elements into an + ImmutableListMultimap<K, V>.
    +
    +
    static <K, +V> Collector<Map.Entry<K,V>,?,com.google.common.collect.ImmutableMap<K,V>>
    + +
    +
    Returns a Collector that accumulates Map.Entry<K, V> input elements into an + ImmutableMap<K, V>.
    +
    +
    static <K, +V> Collector<Map.Entry<K,V>,?,com.google.common.collect.ImmutableSetMultimap<K,V>>
    + +
    +
    Returns a Collector that accumulates Map.Entry<K, V> input elements into an + ImmutableSetMultimap<K, V>.
    +
    +
    static <K, +V> Collector<Map.Entry<K,V>,?,com.google.common.collect.LinkedListMultimap<K,V>>
    + +
    +
    Returns a Collector that accumulates Map.Entry<K, V> input elements into a + LinkedListMultimap<K, V>.
    +
    +
    static <K, +V, +M extends com.google.common.collect.Multimap<K, +V>>
    Collector<Map.Entry<K,V>,?,M>
    +
    toMultimap(Supplier<M> multimapFactory)
    +
    +
    Returns a Collector that accumulates Map.Entry<K, V> input elements into a + Multimap<K, V> of the supplied type.
    +
    +
    static <T> Collector<T,?,com.google.common.base.Optional<T>>
    + +
    +
    Returns a Collector that accumulates 0 or 1 input elements into Guava's Optional<T>.
    +
    +
    static <K extends Comparable, +V extends Comparable>
    Collector<Map.Entry<K,V>,?,com.google.common.collect.TreeMultimap<K,V>>
    + +
    +
    Returns a Collector that accumulates Map.Entry<K, V> input elements into a + TreeMultimap<K, V>.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      factory

      +
      +
      public static CollectorFactory factory()
      +
      Returns a CollectorFactory which knows how to create all supported Guava types.
      +
      +
      Returns:
      +
      A CollectorFactory which knows how to create all supported Guava types
      +
      +
      +
      +
    • +
    • +
      +

      toOptional

      +
      +
      public static <T> +Collector<T,?,com.google.common.base.Optional<T>> toOptional()
      +
      Returns a Collector that accumulates 0 or 1 input elements into Guava's Optional<T>. + The returned collector will throw IllegalStateException whenever 2 or more elements + are present in a stream. Null elements are mapped to Optional.absent().
      +
      +
      Type Parameters:
      +
      T - the collected type
      +
      Returns:
      +
      a Collector which collects 0 or 1 input elements into a Guava Optional<T>.
      +
      +
      +
      +
    • +
    • +
      +

      toImmutableMap

      +
      +
      public static <K, +V> +Collector<Map.Entry<K,V>,?,com.google.common.collect.ImmutableMap<K,V>> toImmutableMap()
      +
      Returns a Collector that accumulates Map.Entry<K, V> input elements into an + ImmutableMap<K, V>.
      +
      +
      Type Parameters:
      +
      K - the type of map keys
      +
      V - the type of map values
      +
      Returns:
      +
      a Collector which collects map entry elements into an ImmutableMap, + in encounter order.
      +
      +
      +
      +
    • +
    • +
      +

      toHashBiMap

      +
      +
      public static <K, +V> +Collector<Map.Entry<K,V>,?,com.google.common.collect.BiMap<K,V>> toHashBiMap()
      +
      Returns a Collector that accumulates Map.Entry<K, V> input elements into a + HashBiMap<K, V>. The returned collector will throw IllegalStateException + whenever a set of input elements contains multiple entries with the same key.
      +
      +
      Type Parameters:
      +
      K - the type of map keys
      +
      V - the type of map values
      +
      Returns:
      +
      a Collector which collects map entry elements into a HashBiMap, + in encounter order.
      +
      +
      +
      +
    • +
    • +
      +

      toImmutableListMultimap

      +
      +
      public static <K, +V> +Collector<Map.Entry<K,V>,?,com.google.common.collect.ImmutableListMultimap<K,V>> toImmutableListMultimap()
      +
      Returns a Collector that accumulates Map.Entry<K, V> input elements into an + ImmutableListMultimap<K, V>.
      +
      +
      Type Parameters:
      +
      K - the type of map keys
      +
      V - the type of map values
      +
      Returns:
      +
      a Collector which collects map entry elements into an ImmutableListMultimap, + in encounter order.
      +
      +
      +
      +
    • +
    • +
      +

      toImmutableSetMultimap

      +
      +
      public static <K, +V> +Collector<Map.Entry<K,V>,?,com.google.common.collect.ImmutableSetMultimap<K,V>> toImmutableSetMultimap()
      +
      Returns a Collector that accumulates Map.Entry<K, V> input elements into an + ImmutableSetMultimap<K, V>.
      +
      +
      Type Parameters:
      +
      K - the type of map keys
      +
      V - the type of map values
      +
      Returns:
      +
      a Collector which collects map entry elements into an ImmutableSetMultimap, + in encounter order.
      +
      +
      +
      +
    • +
    • +
      +

      toArrayListMultimap

      +
      +
      public static <K, +V> +Collector<Map.Entry<K,V>,?,com.google.common.collect.ArrayListMultimap<K,V>> toArrayListMultimap()
      +
      Returns a Collector that accumulates Map.Entry<K, V> input elements into an + ArrayListMultimap<K, V>.
      +
      +
      Type Parameters:
      +
      K - the type of map keys
      +
      V - the type of map values
      +
      Returns:
      +
      a Collector which collects map entry elements into an ArrayListMultimap, + in encounter order.
      +
      +
      +
      +
    • +
    • +
      +

      toLinkedListMultimap

      +
      +
      public static <K, +V> +Collector<Map.Entry<K,V>,?,com.google.common.collect.LinkedListMultimap<K,V>> toLinkedListMultimap()
      +
      Returns a Collector that accumulates Map.Entry<K, V> input elements into a + LinkedListMultimap<K, V>.
      +
      +
      Type Parameters:
      +
      K - the type of map keys
      +
      V - the type of map values
      +
      Returns:
      +
      a Collector which collects map entry elements into a LinkedListMultimap, + in encounter order.
      +
      +
      +
      +
    • +
    • +
      +

      toHashMultimap

      +
      +
      public static <K, +V> +Collector<Map.Entry<K,V>,?,com.google.common.collect.HashMultimap<K,V>> toHashMultimap()
      +
      Returns a Collector that accumulates Map.Entry<K, V> input elements into a + HashMultimap<K, V>.
      +
      +
      Type Parameters:
      +
      K - the type of map keys
      +
      V - the type of map values
      +
      Returns:
      +
      a Collector which collects map entry elements into a ArrayListMultimap, + in encounter order.
      +
      +
      +
      +
    • +
    • +
      +

      toTreeMultimap

      +
      +
      public static <K extends Comparable, +V extends Comparable> +Collector<Map.Entry<K,V>,?,com.google.common.collect.TreeMultimap<K,V>> toTreeMultimap()
      +
      Returns a Collector that accumulates Map.Entry<K, V> input elements into a + TreeMultimap<K, V>.
      +
      +
      Type Parameters:
      +
      K - the type of map keys
      +
      V - the type of map values
      +
      Returns:
      +
      a Collector which collects map entry elements into a TreeMultimap, + in encounter order.
      +
      +
      +
      +
    • +
    • +
      +

      toMultimap

      +
      +
      public static <K, +V, +M extends com.google.common.collect.Multimap<K, +V>> +Collector<Map.Entry<K,V>,?,M> toMultimap(Supplier<M> multimapFactory)
      +
      Returns a Collector that accumulates Map.Entry<K, V> input elements into a + Multimap<K, V> of the supplied type.
      +
      +
      Type Parameters:
      +
      K - the type of map keys
      +
      V - the type of map values
      +
      M - a supplier of your multimap type
      +
      Parameters:
      +
      multimapFactory - a Supplier which return a new, empty Multimap of the appropriate type.
      +
      Returns:
      +
      a Collector which collects map entry elements into a Multiamp, in encounter order.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/GuavaPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/GuavaPlugin.html new file mode 100644 index 00000000000..464f593b6fb --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/GuavaPlugin.html @@ -0,0 +1,209 @@ + + + + +GuavaPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class GuavaPlugin

+
+ +
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public class GuavaPlugin +extends JdbiPlugin.Singleton
+
Plugin to enable all Guava functionality.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GuavaPlugin

      +
      +
      public GuavaPlugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi db)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Parameters:
      +
      db - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/class-use/GuavaArguments.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/class-use/GuavaArguments.html new file mode 100644 index 00000000000..ec373f40e38 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/class-use/GuavaArguments.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.guava.GuavaArguments (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.guava.GuavaArguments

+
+No usage of org.jdbi.v3.guava.GuavaArguments
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/class-use/GuavaCollectors.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/class-use/GuavaCollectors.html new file mode 100644 index 00000000000..76e3dc6a52b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/class-use/GuavaCollectors.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.guava.GuavaCollectors (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.guava.GuavaCollectors

+
+No usage of org.jdbi.v3.guava.GuavaCollectors
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/class-use/GuavaPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/class-use/GuavaPlugin.html new file mode 100644 index 00000000000..c37bc187b85 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/class-use/GuavaPlugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.guava.GuavaPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.guava.GuavaPlugin

+
+No usage of org.jdbi.v3.guava.GuavaPlugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/TypeResolvingCodecFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/TypeResolvingCodecFactory.html new file mode 100644 index 00000000000..ccfef6e0704 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/TypeResolvingCodecFactory.html @@ -0,0 +1,224 @@ + + + + +TypeResolvingCodecFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class TypeResolvingCodecFactory

+
+
java.lang.Object +
org.jdbi.v3.core.codec.CodecFactory +
org.jdbi.v3.guava.codec.TypeResolvingCodecFactory
+
+
+
+
+
+
All Implemented Interfaces:
+
QualifiedArgumentFactory, QualifiedArgumentFactory.Preparable, QualifiedColumnMapperFactory
+
+
+
@Beta +@ThreadSafe +public class TypeResolvingCodecFactory +extends CodecFactory
+
An extended CodecFactory which can resolve Codecs for subtypes. This allows registering e.g. a codec for Set<String> and using any + subtype of Set which the same type parameters (e.g. a HashSet<String<) will find the right codec. +

+ This is an experimental feature which relies on TypeToken from the Guava library.

+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TypeResolvingCodecFactory

      +
      +
      public TypeResolvingCodecFactory(Map<QualifiedType<?>,Codec<?>> codecMap)
      +
      Create a new TypeResolvingCodecFactory.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/class-use/TypeResolvingCodecFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/class-use/TypeResolvingCodecFactory.html new file mode 100644 index 00000000000..c9b2c17619a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/class-use/TypeResolvingCodecFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.guava.codec.TypeResolvingCodecFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.guava.codec.TypeResolvingCodecFactory

+
+No usage of org.jdbi.v3.guava.codec.TypeResolvingCodecFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/package-summary.html new file mode 100644 index 00000000000..641a6f60c2d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/package-summary.html @@ -0,0 +1,110 @@ + + + + +org.jdbi.v3.guava.codec (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.guava.codec

+
+
+
+
package org.jdbi.v3.guava.codec
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    An extended CodecFactory which can resolve Codecs for subtypes.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/package-tree.html new file mode 100644 index 00000000000..8b142e88276 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/package-tree.html @@ -0,0 +1,75 @@ + + + + +org.jdbi.v3.guava.codec Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.guava.codec

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/package-use.html new file mode 100644 index 00000000000..51246bce4fe --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/codec/package-use.html @@ -0,0 +1,57 @@ + + + + +Uses of Package org.jdbi.v3.guava.codec (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.guava.codec

+
+No usage of org.jdbi.v3.guava.codec
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/package-summary.html new file mode 100644 index 00000000000..49a7d7a4ba9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/package-summary.html @@ -0,0 +1,121 @@ + + + + +org.jdbi.v3.guava (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.guava

+
+
+
+
package org.jdbi.v3.guava
+
+

+ guava provides extra types that are commonly needed beyond built + in JDK types. Jdbi integrates with immutable collections, multimaps, + and optionals. +

+
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Provide ArgumentFactory instances that understand Guava types.
    +
    + +
    +
    Provides Collectors for Guava collection types.
    +
    + +
    +
    Plugin to enable all Guava functionality.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/package-tree.html new file mode 100644 index 00000000000..45bd07b9f29 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/package-tree.html @@ -0,0 +1,77 @@ + + + + +org.jdbi.v3.guava Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.guava

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guava/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/guava/package-use.html new file mode 100644 index 00000000000..30434dcb713 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guava/package-use.html @@ -0,0 +1,57 @@ + + + + +Uses of Package org.jdbi.v3.guava (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.guava

+
+No usage of org.jdbi.v3.guava
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guice/AbstractJdbiConfigurationModule.html b/releases/3.45.2/apidocs/org/jdbi/v3/guice/AbstractJdbiConfigurationModule.html new file mode 100644 index 00000000000..3f5f6e694df --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guice/AbstractJdbiConfigurationModule.html @@ -0,0 +1,247 @@ + + + + +AbstractJdbiConfigurationModule (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AbstractJdbiConfigurationModule

+
+
java.lang.Object +
com.google.inject.AbstractModule +
org.jdbi.v3.guice.AbstractJdbiConfigurationModule
+
+
+
+
+
+
All Implemented Interfaces:
+
Module, JdbiBinder
+
+
+
public abstract class AbstractJdbiConfigurationModule +extends AbstractModule +implements JdbiBinder
+
Base module class for element configuration modules. +

+ In more complex projects with multiple Jdbi definitions, there are often elements (e.g. mappers or plugins) that should be shared between all + instances. +

+ Modules that extend AbstractJdbiConfigurationModule bind Jdbi related elements such as mappers, plugins, codecs etc. which then are used by Jdbi + definition modules (which extend AbstractJdbiDefinitionModule). Any binding that is defined here will be added to any Jdbi definition as long as they + either use the same configuration annotation. By default (unless using the constructors that explicitly take an annotation), all Jdbi definitions have all + configurations assigned. +

+ This module does neither define a Jdbi binding nor requires a data source to be bound. Jdbi instances are defined in modules extending AbstractJdbiDefinitionModule (which are private guice modules).

+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AbstractJdbiConfigurationModule

      +
      +
      public AbstractJdbiConfigurationModule()
      +
      Creates an element configuration module. +

      + All elements defined in this module will be bound using the JdbiGlobal annotation. This is the used by AbstractJdbiDefinitionModule + instances unless a custom annotation is used.

      +
      +
      +
    • +
    • +
      +

      AbstractJdbiConfigurationModule

      +
      +
      public AbstractJdbiConfigurationModule(Class<? extends Annotation> annotationClass)
      +
      Creates an element configuration module with a custom annotation. +

      + All elements defined in this module will be bound using the given custom annotation. This allows creating multiple sets of element configuration modules + which can be referenced from modules extending the AbstractJdbiDefinitionModule base class if a the same custom annotation is used.

      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      configureJdbi

      +
      +
      public abstract void configureJdbi()
      +
      Override this method to create bindings that will be used in Jdbi definition modules.
      +
      +
      +
    • +
    • +
      +

      jdbiBinder

      +
      +
      public final JdbiBinder jdbiBinder()
      +
      Provides access to the JdbiBinder instance. +

      + Only valid when called from configureJdbi().

      +
      +
      Specified by:
      +
      jdbiBinder in interface JdbiBinder
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guice/AbstractJdbiDefinitionModule.html b/releases/3.45.2/apidocs/org/jdbi/v3/guice/AbstractJdbiDefinitionModule.html new file mode 100644 index 00000000000..f7351439a66 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guice/AbstractJdbiDefinitionModule.html @@ -0,0 +1,501 @@ + + + + +AbstractJdbiDefinitionModule (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AbstractJdbiDefinitionModule

+
+
java.lang.Object +
com.google.inject.PrivateModule +
org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
+
+
+
+
All Implemented Interfaces:
+
Module, JdbiBinder
+
+
+
public abstract class AbstractJdbiDefinitionModule +extends PrivateModule +implements JdbiBinder
+
Base module class to define Jdbi instances. This is a PrivateModule which will by default only expose the constructed Jdbi object as + a binding. Everything configured within this module is private to the module and not exposed. This allows installation of multiple instances of modules that + extend the AbstractJdbiDefinitionModule base class. +

+ Each module requires a DataSource bound using the same annotation or annotation class as used on the module constructor. If this data source is not + present, the injection process will fail. +

+ Successful binding will expose a Jdbi binding annotated with the same annotation or annotation class as used on the module constructor. Additional + elements defined in this module can be exposed using the exposeBinding(Class) is called within the configureJdbi() method.

+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AbstractJdbiDefinitionModule

      +
      +
      public AbstractJdbiDefinitionModule(Annotation annotation)
      +
      Create a Jdbi definition module. +

      + A Jdbi definition module that uses this constructor will use the default element configuration from AbstractJdbiConfigurationModules that do not + use any custom annotation.

      +
      +
      Parameters:
      +
      annotation - The resulting Jdbi instance will be exposed using this annotation.
      +
      +
      +
      +
    • +
    • +
      +

      AbstractJdbiDefinitionModule

      +
      +
      public AbstractJdbiDefinitionModule(Annotation annotation, + Class<? extends Annotation> globalAnnotationClass)
      +
      Create a Jdbi definition module with a custom annotation for element configuration. +

      + A Jdbi definition module that uses this constructor will use the element configuration from AbstractJdbiConfigurationModules that use the same + annotation as this constructor.

      +
      +
      Parameters:
      +
      annotation - The resulting Jdbi instance will be exposed using this annotation.
      +
      globalAnnotationClass - Custom annotation class used to look up global settings for this Jdbi instance.
      +
      +
      +
      +
    • +
    • +
      +

      AbstractJdbiDefinitionModule

      +
      +
      public AbstractJdbiDefinitionModule(Class<? extends Annotation> annotationClass)
      +
      Create a Jdbi definition module. +

      + A Jdbi definition module that uses this constructor will use the default element configuration from AbstractJdbiConfigurationModules that do not + use any custom annotation.

      +
      +
      Parameters:
      +
      annotationClass - The resulting Jdbi instance will be exposed using this annotation class.
      +
      +
      +
      +
    • +
    • +
      +

      AbstractJdbiDefinitionModule

      +
      +
      public AbstractJdbiDefinitionModule(Class<? extends Annotation> annotationClass, + Class<? extends Annotation> globalAnnotationClass)
      +
      Create a Jdbi definition module with a custom annotation for element configuration. +

      + A Jdbi definition module that uses this constructor will use the element configuration from AbstractJdbiConfigurationModules that use the same + annotation as this constructor.

      +
      +
      Parameters:
      +
      annotationClass - The resulting Jdbi instance will be exposed using this annotation.
      +
      globalAnnotationClass - Custom annotation class used to look up global settings for this Jdbi instance.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      configureJdbi

      +
      +
      public abstract void configureJdbi()
      +
      Override this method to configure all aspects of a Jdbi instance. +
      + @Override
      + protected void configureJdbi() {
      +   bindPlugin().toInstance(...);
      +   bindTransformer().to(...);
      +   bindRowMapper().to(...);
      + }
      + 
      +
      +
      +
    • +
    • +
      +

      jdbiBinder

      +
      +
      public final JdbiBinder jdbiBinder()
      +
      Provides access to the JdbiBinder instance. +

      + Only valid when called from configureJdbi().

      +
      +
      Specified by:
      +
      jdbiBinder in interface JdbiBinder
      +
      +
      +
      +
    • +
    • +
      +

      importBindingLoosely

      +
      +
      public final <T> +org.jdbi.v3.guice.internal.InternalLooseImportBindingBuilder<T> importBindingLoosely(TypeLiteral<T> type)
      +
      Pulls an outside binding into the module scope if it exists. If it does not exist, bind a null value or a default. An outside binding uses the same + annotation or annotation class as the module.
      +
      +
      +
    • +
    • +
      +

      importBindingLoosely

      +
      +
      public final <T> +org.jdbi.v3.guice.internal.InternalLooseImportBindingBuilder<T> importBindingLoosely(Class<T> clazz)
      +
      Pulls an outside binding into the module scope if it exists. If it does not exist, bind a null value or a default. An outside binding uses the same + annotation or annotation class as the module.
      +
      +
      +
    • +
    • +
      +

      importBindingLoosely

      +
      +
      public final <T> +org.jdbi.v3.guice.internal.InternalLooseImportBindingBuilder<T> importBindingLoosely(LinkedBindingBuilder<T> binder, + TypeLiteral<T> type)
      +
      Pulls an outside binding into the module scope if it exists using the binder given. If it does not exist, bind a null value or a default. An outside + binding uses the same annotation or annotation class as the module.
      +
      +
      +
    • +
    • +
      +

      importBindingLoosely

      +
      +
      public final <T> +org.jdbi.v3.guice.internal.InternalLooseImportBindingBuilder<T> importBindingLoosely(LinkedBindingBuilder<T> binder, + Class<T> clazz)
      +
      Pulls an outside binding into the module scope if it exists using the binder given. If it does not exist, bind a null value or a default. An outside + binding uses the same annotation or annotation class as the module.
      +
      +
      +
    • +
    • +
      +

      importBinding

      +
      +
      public final <T> +org.jdbi.v3.guice.internal.InternalImportBindingBuilder<T> importBinding(Class<T> clazz)
      +
      Pulls an existing outside binding into the module scope. An outside binding uses the same annotation or annotation class as the module.
      +
      +
      +
    • +
    • +
      +

      importBinding

      +
      +
      public final <T> +org.jdbi.v3.guice.internal.InternalImportBindingBuilder<T> importBinding(TypeLiteral<T> type)
      +
      Pulls an existing outside binding into the module scope. An outside binding uses the same annotation or annotation class as the module.
      +
      +
      +
    • +
    • +
      +

      importBinding

      +
      +
      public final <T> +org.jdbi.v3.guice.internal.InternalImportBindingBuilder<T> importBinding(LinkedBindingBuilder<T> binder, + TypeLiteral<T> type)
      +
      Pulls an existing outside binding into the module scope using the specified binder. An outside binding uses the same annotation or annotation class as + the module.
      +
      +
      +
    • +
    • +
      +

      importBinding

      +
      +
      public final <T> +org.jdbi.v3.guice.internal.InternalImportBindingBuilder<T> importBinding(LinkedBindingBuilder<T> binder, + Class<T> clazz)
      +
      Pulls an existing outside binding into the module scope using the specified binder. An outside binding uses the same annotation or annotation class as + the module.
      +
      +
      +
    • +
    • +
      +

      createKey

      +
      +
      public final <T> Key<T> createKey(Class<T> clazz)
      +
      Creates a Key object for a class that uses the annotation or annotation class used to construct this module.
      +
      +
      +
    • +
    • +
      +

      createKey

      +
      +
      public final <T> Key<T> createKey(TypeLiteral<T> type)
      +
      Creates a Key object for a TypeLiteral that uses the annotation or annotation class used to construct this module.
      +
      +
      +
    • +
    • +
      +

      exposeBinding

      +
      +
      public final <T> void exposeBinding(Class<T> clazz)
      +
      Exposes a binding that is in module scope (without annotations) and binds it using either the annotation or annotation class and then exposes it outside + the module.
      +
      +
      +
    • +
    • +
      +

      exposeBinding

      +
      +
      public final <T> void exposeBinding(TypeLiteral<T> type)
      +
      Exposes a binding that is in module scope (without annotations) and binds it using either the annotation or annotation class and then exposes it outside + the module.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guice/GuiceJdbiCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/guice/GuiceJdbiCustomizer.html new file mode 100644 index 00000000000..d76c97681f4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guice/GuiceJdbiCustomizer.html @@ -0,0 +1,189 @@ + + + + +GuiceJdbiCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface GuiceJdbiCustomizer

+
+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface GuiceJdbiCustomizer
+
Allows specific customizations of the Jdbi instance during creation.
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final GuiceJdbiCustomizer
    + +
    +
    Does not modify the Jdbi instance.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Customize the Jdbi instance passed in.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      NOP

      +
      +
      static final GuiceJdbiCustomizer NOP
      +
      Does not modify the Jdbi instance.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customize

      +
      +
      void customize(Jdbi jdbi)
      +
      Customize the Jdbi instance passed in.
      +
      +
      Parameters:
      +
      jdbi - A Jdbi instance.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guice/JdbiBinder.html b/releases/3.45.2/apidocs/org/jdbi/v3/guice/JdbiBinder.html new file mode 100644 index 00000000000..11b45daa409 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guice/JdbiBinder.html @@ -0,0 +1,366 @@ + + + + +JdbiBinder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JdbiBinder

+
+
+
+
+
All Known Implementing Classes:
+
AbstractJdbiConfigurationModule, AbstractJdbiDefinitionModule
+
+
+
public interface JdbiBinder
+
Describes all operations to bind Jdbi elements in Guice.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/AbstractJdbiConfigurationModule.html b/releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/AbstractJdbiConfigurationModule.html new file mode 100644 index 00000000000..02caf3d14e3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/AbstractJdbiConfigurationModule.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.guice.AbstractJdbiConfigurationModule (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.guice.AbstractJdbiConfigurationModule

+
+No usage of org.jdbi.v3.guice.AbstractJdbiConfigurationModule
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/AbstractJdbiDefinitionModule.html b/releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/AbstractJdbiDefinitionModule.html new file mode 100644 index 00000000000..a1363922b1f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/AbstractJdbiDefinitionModule.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.guice.AbstractJdbiDefinitionModule (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.guice.AbstractJdbiDefinitionModule

+
+No usage of org.jdbi.v3.guice.AbstractJdbiDefinitionModule
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/GuiceJdbiCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/GuiceJdbiCustomizer.html new file mode 100644 index 00000000000..7487e01f7f6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/GuiceJdbiCustomizer.html @@ -0,0 +1,97 @@ + + + + +Uses of Interface org.jdbi.v3.guice.GuiceJdbiCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.guice.GuiceJdbiCustomizer

+
+
Packages that use GuiceJdbiCustomizer
+
+
Package
+
Description
+ +
+
Google Guice integration.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/JdbiBinder.html b/releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/JdbiBinder.html new file mode 100644 index 00000000000..c2eda37cde0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guice/class-use/JdbiBinder.html @@ -0,0 +1,112 @@ + + + + +Uses of Interface org.jdbi.v3.guice.JdbiBinder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.guice.JdbiBinder

+
+
Packages that use JdbiBinder
+
+
Package
+
Description
+ +
+
Google Guice integration.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guice/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/guice/package-summary.html new file mode 100644 index 00000000000..03474b8ecc1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guice/package-summary.html @@ -0,0 +1,112 @@ + + + + +org.jdbi.v3.guice (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.guice

+
+
+
+
package org.jdbi.v3.guice
+
+
Google Guice integration.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guice/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/guice/package-tree.html new file mode 100644 index 00000000000..ba40eb7a5fd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guice/package-tree.html @@ -0,0 +1,87 @@ + + + + +org.jdbi.v3.guice Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.guice

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/guice/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/guice/package-use.html new file mode 100644 index 00000000000..16ff5fc06a8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/guice/package-use.html @@ -0,0 +1,87 @@ + + + + +Uses of Package org.jdbi.v3.guice (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.guice

+
+
Packages that use org.jdbi.v3.guice
+
+
Package
+
Description
+ +
+
Google Guice integration.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/Jackson2Config.html b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/Jackson2Config.html new file mode 100644 index 00000000000..feb152612f6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/Jackson2Config.html @@ -0,0 +1,332 @@ + + + + +Jackson2Config (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Jackson2Config

+
+
java.lang.Object +
org.jdbi.v3.jackson2.Jackson2Config
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<Jackson2Config>
+
+
+
public class Jackson2Config +extends Object +implements JdbiConfig<Jackson2Config>
+
Configuration class for Jackson 2 integration.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Jackson2Config

      +
      +
      public Jackson2Config()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setMapper

      +
      +
      public Jackson2Config setMapper(com.fasterxml.jackson.databind.ObjectMapper mapper)
      +
      Set the ObjectMapper to use for json conversion.
      +
      +
      Parameters:
      +
      mapper - the mapper to use
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getMapper

      +
      +
      public com.fasterxml.jackson.databind.ObjectMapper getMapper()
      +
      Returns the object mapper to use for json conversion.
      +
      +
      Returns:
      +
      the object mapper to use for json conversion.
      +
      +
      +
      +
    • +
    • +
      +

      setView

      +
      +
      public Jackson2Config setView(Class<?> view)
      +
      Set both serialization and deserialization @JsonView to the given class.
      +
      +
      Parameters:
      +
      view - the view class
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      setSerializationView

      +
      +
      public Jackson2Config setSerializationView(Class<?> serializationView)
      +
      Set the @JsonView used to serialize.
      +
      +
      Parameters:
      +
      serializationView - the serialization view
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getSerializationView

      +
      +
      public Class<?> getSerializationView()
      +
      Returns the current @JsonView used for serialization.
      +
      +
      Returns:
      +
      The current @JsonView used for serialization.
      +
      +
      +
      +
    • +
    • +
      +

      setDeserializationView

      +
      +
      public Jackson2Config setDeserializationView(Class<?> deserializationView)
      +
      Set the @JsonView used to deserialize.
      +
      +
      Parameters:
      +
      deserializationView - the serialization view
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getDeserializationView

      +
      +
      public Class<?> getDeserializationView()
      +
      Returns the current @JsonView used for deserialization.
      +
      +
      Returns:
      +
      the current @JsonView used for deserialization.
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public Jackson2Config createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<Jackson2Config>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/Jackson2Plugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/Jackson2Plugin.html new file mode 100644 index 00000000000..22c03a0dc26 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/Jackson2Plugin.html @@ -0,0 +1,219 @@ + + + + +Jackson2Plugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Jackson2Plugin

+
+
java.lang.Object +
org.jdbi.v3.core.spi.JdbiPlugin.Singleton +
org.jdbi.v3.jackson2.Jackson2Plugin
+
+
+
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public class Jackson2Plugin +extends JdbiPlugin.Singleton
+
Jackson 2 integration plugin. + + Adds support for @Json qualifying annotation via ObjectMapper.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Jackson2Plugin

      +
      +
      public Jackson2Plugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi jdbi)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Parameters:
      +
      jdbi - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/class-use/Jackson2Config.html b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/class-use/Jackson2Config.html new file mode 100644 index 00000000000..3d8783de8b2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/class-use/Jackson2Config.html @@ -0,0 +1,102 @@ + + + + +Uses of Class org.jdbi.v3.jackson2.Jackson2Config (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.jackson2.Jackson2Config

+
+
Packages that use Jackson2Config
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/class-use/Jackson2Plugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/class-use/Jackson2Plugin.html new file mode 100644 index 00000000000..2c28a1b5196 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/class-use/Jackson2Plugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.jackson2.Jackson2Plugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.jackson2.Jackson2Plugin

+
+No usage of org.jdbi.v3.jackson2.Jackson2Plugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/package-summary.html new file mode 100644 index 00000000000..1ca1cc515d7 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/package-summary.html @@ -0,0 +1,99 @@ + + + + +org.jdbi.v3.jackson2 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.jackson2

+
+
+
+
package org.jdbi.v3.jackson2
+
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Configuration class for Jackson 2 integration.
    +
    + +
    +
    Jackson 2 integration plugin.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/package-tree.html new file mode 100644 index 00000000000..756684ddd09 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/package-tree.html @@ -0,0 +1,76 @@ + + + + +org.jdbi.v3.jackson2 Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.jackson2

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/package-use.html new file mode 100644 index 00000000000..6637e256041 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jackson2/package-use.html @@ -0,0 +1,81 @@ + + + + +Uses of Package org.jdbi.v3.jackson2 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.jackson2

+
+
Packages that use org.jdbi.v3.jackson2
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/DateTimeArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/DateTimeArgumentFactory.html new file mode 100644 index 00000000000..91017ee1a4b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/DateTimeArgumentFactory.html @@ -0,0 +1,168 @@ + + + + +DateTimeArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DateTimeArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.argument.AbstractArgumentFactory<org.joda.time.DateTime> +
org.jdbi.v3.jodatime2.DateTimeArgumentFactory
+
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
public class DateTimeArgumentFactory +extends AbstractArgumentFactory<org.joda.time.DateTime>
+
Bind a DateTime as a Timestamp.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DateTimeArgumentFactory

      +
      +
      public DateTimeArgumentFactory()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/DateTimeMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/DateTimeMapper.html new file mode 100644 index 00000000000..a316d026d47 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/DateTimeMapper.html @@ -0,0 +1,209 @@ + + + + +DateTimeMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DateTimeMapper

+
+
java.lang.Object +
org.jdbi.v3.jodatime2.DateTimeMapper
+
+
+
+
+
All Implemented Interfaces:
+
ColumnMapper<org.joda.time.DateTime>
+
+
+
public class DateTimeMapper +extends Object +implements ColumnMapper<org.joda.time.DateTime>
+
Map a Timestamp to a DateTime.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DateTimeMapper

      +
      +
      public DateTimeMapper()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      map

      +
      +
      public org.joda.time.DateTime map(ResultSet r, + int columnNumber, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: ColumnMapper
      +
      Map the given column of the current row of the result set to an Object. This method should not cause the result + set to advance; allow Jdbi to do that, please.
      +
      +
      Specified by:
      +
      map in interface ColumnMapper<org.joda.time.DateTime>
      +
      Parameters:
      +
      r - the result set being iterated
      +
      columnNumber - the column number to map (starts at 1)
      +
      ctx - the statement context
      +
      Returns:
      +
      the value to return for this column
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/JodaTimePlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/JodaTimePlugin.html new file mode 100644 index 00000000000..4b213bac7e5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/JodaTimePlugin.html @@ -0,0 +1,207 @@ + + + + +JodaTimePlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JodaTimePlugin

+
+
java.lang.Object +
org.jdbi.v3.jodatime2.JodaTimePlugin
+
+
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public class JodaTimePlugin +extends Object +implements JdbiPlugin
+
Register date and time providers to integrate with joda-time.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JodaTimePlugin

      +
      +
      public JodaTimePlugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi db)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Specified by:
      +
      customizeJdbi in interface JdbiPlugin
      +
      Parameters:
      +
      db - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/class-use/DateTimeArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/class-use/DateTimeArgumentFactory.html new file mode 100644 index 00000000000..4041cc31ef7 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/class-use/DateTimeArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.jodatime2.DateTimeArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.jodatime2.DateTimeArgumentFactory

+
+No usage of org.jdbi.v3.jodatime2.DateTimeArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/class-use/DateTimeMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/class-use/DateTimeMapper.html new file mode 100644 index 00000000000..d72c237fa7e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/class-use/DateTimeMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.jodatime2.DateTimeMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.jodatime2.DateTimeMapper

+
+No usage of org.jdbi.v3.jodatime2.DateTimeMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/class-use/JodaTimePlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/class-use/JodaTimePlugin.html new file mode 100644 index 00000000000..5cf81041479 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/class-use/JodaTimePlugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.jodatime2.JodaTimePlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.jodatime2.JodaTimePlugin

+
+No usage of org.jdbi.v3.jodatime2.JodaTimePlugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/package-summary.html new file mode 100644 index 00000000000..1eb2390f71a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/package-summary.html @@ -0,0 +1,109 @@ + + + + +org.jdbi.v3.jodatime2 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.jodatime2

+
+
+
+
package org.jdbi.v3.jodatime2
+
+

+ joda-time provides improved date and time types to pre-Java 8 applications. + New applications should generally prefer the built in java.time package. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/package-tree.html new file mode 100644 index 00000000000..fa50a9618e6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/package-tree.html @@ -0,0 +1,77 @@ + + + + +org.jdbi.v3.jodatime2 Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.jodatime2

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/package-use.html new file mode 100644 index 00000000000..789ceb30186 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jodatime2/package-use.html @@ -0,0 +1,57 @@ + + + + +Uses of Package org.jdbi.v3.jodatime2 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.jodatime2

+
+No usage of org.jdbi.v3.jodatime2
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jpa/BindJpa.html b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/BindJpa.html new file mode 100644 index 00000000000..f7402950f04 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/BindJpa.html @@ -0,0 +1,141 @@ + + + + +BindJpa (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type BindJpa

+
+
+
+
+
@Retention(RUNTIME) +@Target(PARAMETER) +public @interface BindJpa
+
Bind a class based on the subset of JPA annotations we understand.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jpa/EntityMemberAccessException.html b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/EntityMemberAccessException.html new file mode 100644 index 00000000000..6021a5e25fd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/EntityMemberAccessException.html @@ -0,0 +1,195 @@ + + + + +EntityMemberAccessException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class EntityMemberAccessException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class EntityMemberAccessException +extends JdbiException
+
Thrown when a JPA getter or setter fails.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EntityMemberAccessException

      +
      +
      public EntityMemberAccessException(String string, + Throwable throwable)
      +
      +
      +
    • +
    • +
      +

      EntityMemberAccessException

      +
      +
      public EntityMemberAccessException(Throwable cause)
      +
      +
      +
    • +
    • +
      +

      EntityMemberAccessException

      +
      +
      public EntityMemberAccessException(String message)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jpa/JpaMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/JpaMapper.html new file mode 100644 index 00000000000..d765cc35d36 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/JpaMapper.html @@ -0,0 +1,223 @@ + + + + +JpaMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JpaMapper<C>

+
+
java.lang.Object +
org.jdbi.v3.jpa.JpaMapper<C>
+
+
+
+
+
Type Parameters:
+
C - the type to map
+
+
+
All Implemented Interfaces:
+
RowMapper<C>
+
+
+
public class JpaMapper<C> +extends Object +implements RowMapper<C>
+
Row mapper for a JPA-annotated type as a result.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      specialize

      +
      +
      public RowMapper<C> specialize(ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Returns a specialized row mapper, optimized for the given result set. +

      + Before mapping the result set from a SQL statement; Jdbi will first call this method to obtain a specialized + instance. The returned mapper will then be used to map the result set rows, and discarded. +

      + Implementing this method is optional; the default implementation returns this. Implementors might choose + to override this method to improve performance, e.g. by matching up column names to properties once for the + entire result set, rather than repeating the process for every row.

      +
      +
      Specified by:
      +
      specialize in interface RowMapper<C>
      +
      Parameters:
      +
      rs - the result set to specialize over
      +
      ctx - the statement context to specialize over
      +
      Returns:
      +
      a row mapper equivalent to this one, possibly specialized.
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      map

      +
      +
      public C map(ResultSet rs, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: RowMapper
      +
      Map the current row of the result set. + This method should not cause the result set to advance; allow Jdbi to do that, please.
      +
      +
      Specified by:
      +
      map in interface RowMapper<C>
      +
      Parameters:
      +
      rs - the result set being iterated
      +
      ctx - the statement context
      +
      Returns:
      +
      the value to produce for this row
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jpa/JpaMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/JpaMapperFactory.html new file mode 100644 index 00000000000..3655b54dd61 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/JpaMapperFactory.html @@ -0,0 +1,205 @@ + + + + +JpaMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JpaMapperFactory

+
+
java.lang.Object +
org.jdbi.v3.jpa.JpaMapperFactory
+
+
+
+
+
All Implemented Interfaces:
+
RowMapperFactory
+
+
+
public class JpaMapperFactory +extends Object +implements RowMapperFactory
+
Create JpaMappers for Entity annotated classes.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JpaMapperFactory

      +
      +
      public JpaMapperFactory()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      +
      public Optional<RowMapper<?>> build(Type type, + ConfigRegistry config)
      +
      Description copied from interface: RowMapperFactory
      +
      Supplies a row mapper which will map result set rows to type if the factory supports it; empty otherwise.
      +
      +
      Specified by:
      +
      build in interface RowMapperFactory
      +
      Parameters:
      +
      type - the target type to map to
      +
      config - the config registry, for composition
      +
      Returns:
      +
      a row mapper for the given type if this factory supports it; Optional.empty() otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jpa/JpaPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/JpaPlugin.html new file mode 100644 index 00000000000..6fe8eaac75a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/JpaPlugin.html @@ -0,0 +1,208 @@ + + + + +JpaPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JpaPlugin

+
+
java.lang.Object +
org.jdbi.v3.jpa.JpaPlugin
+
+
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public class JpaPlugin +extends Object +implements JdbiPlugin
+
Enable minimal JPA compatibility layer. + This feature is experimental.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JpaPlugin

      +
      +
      public JpaPlugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi db)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Specified by:
      +
      customizeJdbi in interface JdbiPlugin
      +
      Parameters:
      +
      db - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/BindJpa.html b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/BindJpa.html new file mode 100644 index 00000000000..44ada7131c5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/BindJpa.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.jpa.BindJpa (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.jpa.BindJpa

+
+No usage of org.jdbi.v3.jpa.BindJpa
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/EntityMemberAccessException.html b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/EntityMemberAccessException.html new file mode 100644 index 00000000000..cae175584cd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/EntityMemberAccessException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.jpa.EntityMemberAccessException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.jpa.EntityMemberAccessException

+
+No usage of org.jdbi.v3.jpa.EntityMemberAccessException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/JpaMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/JpaMapper.html new file mode 100644 index 00000000000..55420aa8309 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/JpaMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.jpa.JpaMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.jpa.JpaMapper

+
+No usage of org.jdbi.v3.jpa.JpaMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/JpaMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/JpaMapperFactory.html new file mode 100644 index 00000000000..f7e8dfecd1c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/JpaMapperFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.jpa.JpaMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.jpa.JpaMapperFactory

+
+No usage of org.jdbi.v3.jpa.JpaMapperFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/JpaPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/JpaPlugin.html new file mode 100644 index 00000000000..fa2d5b34f50 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/class-use/JpaPlugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.jpa.JpaPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.jpa.JpaPlugin

+
+No usage of org.jdbi.v3.jpa.JpaPlugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jpa/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/package-summary.html new file mode 100644 index 00000000000..26628b60ad5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/package-summary.html @@ -0,0 +1,126 @@ + + + + +org.jdbi.v3.jpa (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.jpa

+
+
+
+
package org.jdbi.v3.jpa
+
+

+ The jpa plugin provides minimal support for discovering JPA + annotations like Column. Note that this module is not widely + used and the core team recommends using native jdbi constructs + instead. + This package exists mostly to help you convince your boss to let you try out Jdbi: +

+ You: See, they even have JPA integration! kinda
+ Boss: What was that last part?
+ You: Nothing. +
+
+
+
+
    +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    Bind a class based on the subset of JPA annotations we understand.
    +
    + +
    +
    Thrown when a JPA getter or setter fails.
    +
    + +
    +
    Row mapper for a JPA-annotated type as a result.
    +
    + +
    +
    Create JpaMappers for Entity annotated classes.
    +
    + +
    +
    Enable minimal JPA compatibility layer.
    +
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jpa/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/package-tree.html new file mode 100644 index 00000000000..0a412c2e186 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/package-tree.html @@ -0,0 +1,96 @@ + + + + +org.jdbi.v3.jpa Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.jpa

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/jpa/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/package-use.html new file mode 100644 index 00000000000..e22e57fcd8a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/jpa/package-use.html @@ -0,0 +1,57 @@ + + + + +Uses of Package org.jdbi.v3.jpa (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.jpa

+
+No usage of org.jdbi.v3.jpa
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/EncodedJson.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/EncodedJson.html new file mode 100644 index 00000000000..2e192a2a935 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/EncodedJson.html @@ -0,0 +1,99 @@ + + + + +EncodedJson (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type EncodedJson

+
+
+
+
+
@Retention(RUNTIME) +@Target({FIELD,METHOD,PARAMETER,TYPE}) +public @interface EncodedJson
+
Type qualifying annotation for pre-encoded json data.
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/Json.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/Json.html new file mode 100644 index 00000000000..c3114c60940 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/Json.html @@ -0,0 +1,99 @@ + + + + +Json (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type Json

+
+
+
+
+
@Retention(RUNTIME) +@Target({FIELD,METHOD,PARAMETER,TYPE}) +public @interface Json
+
Type qualifying annotation for converting Java types to json data type.
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/JsonConfig.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/JsonConfig.html new file mode 100644 index 00000000000..ffaddccb080 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/JsonConfig.html @@ -0,0 +1,219 @@ + + + + +JsonConfig (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JsonConfig

+
+
java.lang.Object +
org.jdbi.v3.json.JsonConfig
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<JsonConfig>
+
+
+
public class JsonConfig +extends Object +implements JdbiConfig<JsonConfig>
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JsonConfig

      +
      +
      public JsonConfig()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setJsonMapper

      +
      +
      public JsonConfig setJsonMapper(JsonMapper jsonMapper)
      +
      +
      +
    • +
    • +
      +

      getJsonMapper

      +
      +
      public JsonMapper getJsonMapper()
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public JsonConfig createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<JsonConfig>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/JsonMapper.TypedJsonMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/JsonMapper.TypedJsonMapper.html new file mode 100644 index 00000000000..c633ebc15ee --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/JsonMapper.TypedJsonMapper.html @@ -0,0 +1,161 @@ + + + + +JsonMapper.TypedJsonMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JsonMapper.TypedJsonMapper

+
+
+
+
+
Enclosing interface:
+
JsonMapper
+
+
+
public static interface JsonMapper.TypedJsonMapper
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/JsonMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/JsonMapper.html new file mode 100644 index 00000000000..ff501138493 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/JsonMapper.html @@ -0,0 +1,203 @@ + + + + +JsonMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JsonMapper

+
+
+
+
+
public interface JsonMapper
+
Deserializes JSON to Java objects, and serializes Java objects to JSON. + + Implement this interface and JsonConfig.setJsonMapper(JsonMapper) it + to be able to convert objects to/from JSON between your application and database. + + jdbi3-jackson2 and jdbi3-gson2 are readily available for this.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/JsonPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/JsonPlugin.html new file mode 100644 index 00000000000..4e8a3750198 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/JsonPlugin.html @@ -0,0 +1,208 @@ + + + + +JsonPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JsonPlugin

+
+ +
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public class JsonPlugin +extends JdbiPlugin.Singleton
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JsonPlugin

      +
      +
      public JsonPlugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi jdbi)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Parameters:
      +
      jdbi - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/EncodedJson.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/EncodedJson.html new file mode 100644 index 00000000000..c55cfc4f124 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/EncodedJson.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.json.EncodedJson (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.json.EncodedJson

+
+No usage of org.jdbi.v3.json.EncodedJson
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/Json.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/Json.html new file mode 100644 index 00000000000..c06dfbe0212 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/Json.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.json.Json (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.json.Json

+
+No usage of org.jdbi.v3.json.Json
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonConfig.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonConfig.html new file mode 100644 index 00000000000..5bd8fe4e910 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonConfig.html @@ -0,0 +1,85 @@ + + + + +Uses of Class org.jdbi.v3.json.JsonConfig (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.json.JsonConfig

+
+
Packages that use JsonConfig
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonMapper.TypedJsonMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonMapper.TypedJsonMapper.html new file mode 100644 index 00000000000..7bdb8916ce8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonMapper.TypedJsonMapper.html @@ -0,0 +1,83 @@ + + + + +Uses of Interface org.jdbi.v3.json.JsonMapper.TypedJsonMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.json.JsonMapper.TypedJsonMapper

+
+
Packages that use JsonMapper.TypedJsonMapper
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonMapper.html new file mode 100644 index 00000000000..70653f33018 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonMapper.html @@ -0,0 +1,91 @@ + + + + +Uses of Interface org.jdbi.v3.json.JsonMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.json.JsonMapper

+
+
Packages that use JsonMapper
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonPlugin.html new file mode 100644 index 00000000000..f4e1f5f4da1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/class-use/JsonPlugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.json.JsonPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.json.JsonPlugin

+
+No usage of org.jdbi.v3.json.JsonPlugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/package-summary.html new file mode 100644 index 00000000000..642264b648d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/package-summary.html @@ -0,0 +1,111 @@ + + + + +org.jdbi.v3.json (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.json

+
+
+
+
package org.jdbi.v3.json
+
+
+
    +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    Type qualifying annotation for pre-encoded json data.
    +
    + +
    +
    Type qualifying annotation for converting Java types to json data type.
    +
    + +
     
    + +
    +
    Deserializes JSON to Java objects, and serializes Java objects to JSON.
    +
    + +
     
    + +
     
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/package-tree.html new file mode 100644 index 00000000000..a92a5209f78 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/package-tree.html @@ -0,0 +1,90 @@ + + + + +org.jdbi.v3.json Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.json

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/json/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/json/package-use.html new file mode 100644 index 00000000000..4dc6569f636 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/json/package-use.html @@ -0,0 +1,85 @@ + + + + +Uses of Package org.jdbi.v3.json (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.json

+
+
Packages that use org.jdbi.v3.json
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/meta/Alpha.html b/releases/3.45.2/apidocs/org/jdbi/v3/meta/Alpha.html new file mode 100644 index 00000000000..fcfbd13044a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/meta/Alpha.html @@ -0,0 +1,105 @@ + + + + +Alpha (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type Alpha

+
+
+
+
+ +
Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release. An API bearing this annotation is exempt from any + compatibility guarantees made by its containing library. + +

Alpha APIs are intended as early preview of features that might eventually get promoted. + No warranty express or implied ☺.

+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/meta/Beta.html b/releases/3.45.2/apidocs/org/jdbi/v3/meta/Beta.html new file mode 100644 index 00000000000..ac89d985d2a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/meta/Beta.html @@ -0,0 +1,118 @@ + + + + +Beta (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type Beta

+
+
+
+
+ +
Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release. An API bearing this annotation is exempt from any + compatibility guarantees made by its containing library. + +

Note that the presence of this annotation implies nothing about the quality or performance of + the API in question, only the fact that it is not "API-frozen." + +

It is generally safe for applications to depend on beta APIs, at the cost of some extra work + during upgrades. However it is generally inadvisable for libraries (which get included on users' + CLASSPATHs, outside the library developers' control) to do so.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/meta/class-use/Alpha.html b/releases/3.45.2/apidocs/org/jdbi/v3/meta/class-use/Alpha.html new file mode 100644 index 00000000000..4926e4f979d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/meta/class-use/Alpha.html @@ -0,0 +1,455 @@ + + + + +Uses of Annotation Type org.jdbi.v3.meta.Alpha (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.meta.Alpha

+
+
Packages that use Alpha
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
 
+ +
 
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+ +
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/meta/class-use/Beta.html b/releases/3.45.2/apidocs/org/jdbi/v3/meta/class-use/Beta.html new file mode 100644 index 00000000000..1d4ef9ab481 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/meta/class-use/Beta.html @@ -0,0 +1,538 @@ + + + + +Uses of Annotation Type org.jdbi.v3.meta.Beta (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.meta.Beta

+
+
Packages that use Beta
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
 
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
 
+ +
 
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
 
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+ +
+ +
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/meta/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/meta/package-summary.html new file mode 100644 index 00000000000..756454f125d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/meta/package-summary.html @@ -0,0 +1,101 @@ + + + + +org.jdbi.v3.meta (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.meta

+
+
+
+
package org.jdbi.v3.meta
+
+
+
    +
  • +
    +
    Annotation Types
    +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/meta/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/meta/package-tree.html new file mode 100644 index 00000000000..c0a39825849 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/meta/package-tree.html @@ -0,0 +1,68 @@ + + + + +org.jdbi.v3.meta Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.meta

+
+Package Hierarchies: + +
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/meta/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/meta/package-use.html new file mode 100644 index 00000000000..3ece4f75cc8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/meta/package-use.html @@ -0,0 +1,448 @@ + + + + +Uses of Package org.jdbi.v3.meta (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.meta

+
+
Packages that use org.jdbi.v3.meta
+
+
Package
+
Description
+ +
+
+ The 'core' package hosts the top level interface into jdbi core.
+
+ +
+
+ The argument classes translate Java types into JDBC parameters.
+
+ +
+
+ The array package binds Java arrays and collections to SQL arrays, and + handles mapping array result types back to Java arrays and collections.
+
+ +
 
+ +
 
+ +
+
+ The config classes define a configuration registry starting from + each Jdbi instance.
+
+ +
+
+ The extension classes allow you to extend Jdbi's + functionality by declaring interface types that may attach to Handle + instances.
+
+ +
 
+ +
 
+ +
+
+ mappers take the JDBC ResultSet and produce Java results.
+
+ +
 
+ +
 
+ +
+
+ mapper.reflect provides RowMappers that reflectively + construct result types using techniques like constructor injection + or JavaBeans setters.
+
+ +
+
+ result provides the streaming interface that reads rows from JDBC + and drives the mapper and collector processes to + produce results.
+
+ +
+
+ The statement package provides most of the Fluent API + to drive statement execution.
+
+ +
 
+ +
 
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+ +
+ +
+
+
+
    +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    + +
    +
    Signifies that a public API (public class, method or field) is subject to incompatible changes, + or even removal, in a future release.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/moshi/MoshiConfig.html b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/MoshiConfig.html new file mode 100644 index 00000000000..47f4ca6c561 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/MoshiConfig.html @@ -0,0 +1,236 @@ + + + + +MoshiConfig (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MoshiConfig

+
+
java.lang.Object +
org.jdbi.v3.moshi.MoshiConfig
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<MoshiConfig>
+
+
+
public class MoshiConfig +extends Object +implements JdbiConfig<MoshiConfig>
+
Configuration class for Moshi integration.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MoshiConfig

      +
      +
      public MoshiConfig()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setMoshi

      +
      +
      public MoshiConfig setMoshi(com.squareup.moshi.Moshi moshi)
      +
      Set the Moshi to use for json conversion.
      +
      +
      Parameters:
      +
      moshi - the mapper to use
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      getMoshi

      +
      +
      public com.squareup.moshi.Moshi getMoshi()
      +
      Returns the Moshi to use for json conversion.
      +
      +
      Returns:
      +
      the Moshi to use for json conversion.
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public MoshiConfig createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<MoshiConfig>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/moshi/MoshiPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/MoshiPlugin.html new file mode 100644 index 00000000000..69c7e81f686 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/MoshiPlugin.html @@ -0,0 +1,219 @@ + + + + +MoshiPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MoshiPlugin

+
+ +
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public class MoshiPlugin +extends JdbiPlugin.Singleton
+
Moshi integration plugin. +

+ Adds support for @Json qualifying annotation via Moshi.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MoshiPlugin

      +
      +
      public MoshiPlugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi jdbi)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Parameters:
      +
      jdbi - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/moshi/class-use/MoshiConfig.html b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/class-use/MoshiConfig.html new file mode 100644 index 00000000000..4683de39990 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/class-use/MoshiConfig.html @@ -0,0 +1,87 @@ + + + + +Uses of Class org.jdbi.v3.moshi.MoshiConfig (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.moshi.MoshiConfig

+
+
Packages that use MoshiConfig
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/moshi/class-use/MoshiPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/class-use/MoshiPlugin.html new file mode 100644 index 00000000000..eb2ea88e231 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/class-use/MoshiPlugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.moshi.MoshiPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.moshi.MoshiPlugin

+
+No usage of org.jdbi.v3.moshi.MoshiPlugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/moshi/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/package-summary.html new file mode 100644 index 00000000000..5e04053dd38 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/package-summary.html @@ -0,0 +1,99 @@ + + + + +org.jdbi.v3.moshi (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.moshi

+
+
+
+
package org.jdbi.v3.moshi
+
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Configuration class for Moshi integration.
    +
    + +
    +
    Moshi integration plugin.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/moshi/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/package-tree.html new file mode 100644 index 00000000000..c3a9a19b8cc --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/package-tree.html @@ -0,0 +1,76 @@ + + + + +org.jdbi.v3.moshi Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.moshi

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/moshi/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/package-use.html new file mode 100644 index 00000000000..f990e38839a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/moshi/package-use.html @@ -0,0 +1,81 @@ + + + + +Uses of Package org.jdbi.v3.moshi (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.moshi

+
+
Packages that use org.jdbi.v3.moshi
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgis/PostgisPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgis/PostgisPlugin.html new file mode 100644 index 00000000000..53acfb8a085 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgis/PostgisPlugin.html @@ -0,0 +1,222 @@ + + + + +PostgisPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PostgisPlugin

+
+
java.lang.Object +
org.jdbi.v3.core.spi.JdbiPlugin.Singleton +
org.jdbi.v3.postgis.PostgisPlugin
+
+
+
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
@Beta +public class PostgisPlugin +extends JdbiPlugin.Singleton
+
Postgis plugin. Adds support for binding and mapping the following data types: + +
    +
  • Point
  • +
  • LineString
  • +
  • LinearRing
  • +
  • Polygon
  • +
  • MultiPoint
  • +
  • MultiLineString
  • +
  • MultiPolygon
  • +
  • GeometryCollection
  • +
  • Geometry
  • +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PostgisPlugin

      +
      +
      public PostgisPlugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi jdbi)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Parameters:
      +
      jdbi - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgis/class-use/PostgisPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgis/class-use/PostgisPlugin.html new file mode 100644 index 00000000000..61de3cb6a8c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgis/class-use/PostgisPlugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.postgis.PostgisPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgis.PostgisPlugin

+
+No usage of org.jdbi.v3.postgis.PostgisPlugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgis/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgis/package-summary.html new file mode 100644 index 00000000000..f8fde9bc26c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgis/package-summary.html @@ -0,0 +1,95 @@ + + + + +org.jdbi.v3.postgis (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.postgis

+
+
+
+
package org.jdbi.v3.postgis
+
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Postgis plugin.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgis/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgis/package-tree.html new file mode 100644 index 00000000000..bfb0d443db5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgis/package-tree.html @@ -0,0 +1,75 @@ + + + + +org.jdbi.v3.postgis Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.postgis

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgis/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgis/package-use.html new file mode 100644 index 00000000000..4e90a533cff --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgis/package-use.html @@ -0,0 +1,57 @@ + + + + +Uses of Package org.jdbi.v3.postgis (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.postgis

+
+No usage of org.jdbi.v3.postgis
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/DurationArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/DurationArgumentFactory.html new file mode 100644 index 00000000000..80a3d93816e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/DurationArgumentFactory.html @@ -0,0 +1,214 @@ + + + + +DurationArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DurationArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.argument.AbstractArgumentFactory<Duration> +
org.jdbi.v3.postgres.DurationArgumentFactory
+
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
public class DurationArgumentFactory +extends AbstractArgumentFactory<Duration>
+
Postgres version of argument factory for Duration. + +

+ For simplicity, this implementation makes the duration positive before proceeding. However, this can cause an + ArithmeticException to be thrown. E.g., this can occur if your duration is -2^63 seconds. + +

+ Not all Durations can be represented as intervals in Postgres. + One incompatibility results from Durations that are too large. This is due to (1) Durations using + a long internally, and PGIntervals using ints; and (2) the conversion of days to months or + years being ambiguous. + Another results from Durations being too precise; they have nanosecond precision, whereas Postgres has only + microsecond. + An IllegalArgumentException will be thrown in these cases. + The handling of the second is subject to revision in the future; for example, it would be reasonable to have a + configurable truncation option.

+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DurationArgumentFactory

      +
      +
      public DurationArgumentFactory()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/DurationColumnMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/DurationColumnMapperFactory.html new file mode 100644 index 00000000000..9a9831fd0ff --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/DurationColumnMapperFactory.html @@ -0,0 +1,210 @@ + + + + +DurationColumnMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DurationColumnMapperFactory

+
+
java.lang.Object +
org.jdbi.v3.postgres.DurationColumnMapperFactory
+
+
+
+
+
All Implemented Interfaces:
+
ColumnMapperFactory
+
+
+
public class DurationColumnMapperFactory +extends Object +implements ColumnMapperFactory
+
A column mapper which maps Postgres's PGInterval type to Java's Duration. + +

+ Not all PGIntervals are representable as Durations. E.g., one with months, which is an + estimated ChronoUnit, or one whose seconds is larger than a long. An + IllegalArgumentException will be thrown in either case.

+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DurationColumnMapperFactory

      +
      +
      public DurationColumnMapperFactory()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      +
      public Optional<ColumnMapper<?>> build(Type type, + ConfigRegistry config)
      +
      Description copied from interface: ColumnMapperFactory
      +
      Supplies a column mapper which will map columns to type if the factory supports it; empty otherwise.
      +
      +
      Specified by:
      +
      build in interface ColumnMapperFactory
      +
      Parameters:
      +
      type - the target type to map to
      +
      config - the config registry, for composition
      +
      Returns:
      +
      a column mapper for the given type if this factory supports it, or Optional.empty() otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/HStore.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/HStore.html new file mode 100644 index 00000000000..c9c0788597a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/HStore.html @@ -0,0 +1,99 @@ + + + + +HStore (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type HStore

+
+
+
+
+
@Retention(RUNTIME) +@Target({FIELD,METHOD,PARAMETER,TYPE}) +public @interface HStore
+
Type qualifying annotation for HSTORE data type.
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/HStoreArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/HStoreArgumentFactory.html new file mode 100644 index 00000000000..3471d57d12b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/HStoreArgumentFactory.html @@ -0,0 +1,168 @@ + + + + +HStoreArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class HStoreArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.argument.AbstractArgumentFactory<Map> +
org.jdbi.v3.postgres.HStoreArgumentFactory
+
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
public class HStoreArgumentFactory +extends AbstractArgumentFactory<Map>
+
An argument factory which binds Java's Map to Postgres' hstore type.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      HStoreArgumentFactory

      +
      +
      public HStoreArgumentFactory()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/HStoreColumnMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/HStoreColumnMapper.html new file mode 100644 index 00000000000..4881a95d95d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/HStoreColumnMapper.html @@ -0,0 +1,209 @@ + + + + +HStoreColumnMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class HStoreColumnMapper

+
+
java.lang.Object +
org.jdbi.v3.postgres.HStoreColumnMapper
+
+
+
+
+
All Implemented Interfaces:
+
ColumnMapper<Map<String,String>>
+
+
+
public class HStoreColumnMapper +extends Object +implements ColumnMapper<Map<String,String>>
+
A column mapper which maps Postgres' hstore type to Java's Map.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      HStoreColumnMapper

      +
      +
      public HStoreColumnMapper()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      map

      +
      +
      public Map<String,String> map(ResultSet r, + int columnNumber, + StatementContext ctx) + throws SQLException
      +
      Description copied from interface: ColumnMapper
      +
      Map the given column of the current row of the result set to an Object. This method should not cause the result + set to advance; allow Jdbi to do that, please.
      +
      +
      Specified by:
      +
      map in interface ColumnMapper<Map<String,String>>
      +
      Parameters:
      +
      r - the result set being iterated
      +
      columnNumber - the column number to map (starts at 1)
      +
      ctx - the statement context
      +
      Returns:
      +
      the value to return for this column
      +
      Throws:
      +
      SQLException - if anything goes wrong go ahead and let this percolate; Jdbi will handle it
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/InetArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/InetArgumentFactory.html new file mode 100644 index 00000000000..738ce76ab31 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/InetArgumentFactory.html @@ -0,0 +1,211 @@ + + + + +InetArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class InetArgumentFactory

+
+ +
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
public class InetArgumentFactory +extends AbstractArgumentFactory<InetAddress>
+
Postgres version of argument factory for InetAddress.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/JavaTimeArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/JavaTimeArgumentFactory.html new file mode 100644 index 00000000000..b279fcf1c5c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/JavaTimeArgumentFactory.html @@ -0,0 +1,172 @@ + + + + +JavaTimeArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JavaTimeArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.argument.SetObjectArgumentFactory +
org.jdbi.v3.postgres.JavaTimeArgumentFactory
+
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
public class JavaTimeArgumentFactory +extends SetObjectArgumentFactory
+
Maps LocalDate, LocalTime, LocalDateTime, OffsetDateTime. + Note that no Instant override is needed.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JavaTimeArgumentFactory

      +
      +
      public JavaTimeArgumentFactory()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/JavaTimeMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/JavaTimeMapperFactory.html new file mode 100644 index 00000000000..8317b9a60fc --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/JavaTimeMapperFactory.html @@ -0,0 +1,167 @@ + + + + +JavaTimeMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JavaTimeMapperFactory

+
+
java.lang.Object +
org.jdbi.v3.core.mapper.GetObjectColumnMapperFactory +
org.jdbi.v3.postgres.JavaTimeMapperFactory
+
+
+
+
+
+
All Implemented Interfaces:
+
ColumnMapperFactory
+
+
+
public class JavaTimeMapperFactory +extends GetObjectColumnMapperFactory
+
Provide mappers corresponding to java time types.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JavaTimeMapperFactory

      +
      +
      public JavaTimeMapperFactory()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/LargeObjectException.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/LargeObjectException.html new file mode 100644 index 00000000000..04b2c0c56ec --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/LargeObjectException.html @@ -0,0 +1,177 @@ + + + + +LargeObjectException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LargeObjectException

+
+ +
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class LargeObjectException +extends StatementException
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LargeObjectException

      +
      +
      public LargeObjectException(Throwable cause)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/MacAddr.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/MacAddr.html new file mode 100644 index 00000000000..3a3aa91247d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/MacAddr.html @@ -0,0 +1,99 @@ + + + + +MacAddr (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type MacAddr

+
+
+
+
+
@Retention(RUNTIME) +@Target({FIELD,METHOD,PARAMETER,TYPE}) +public @interface MacAddr
+
Type qualifying annotation for MACADDR data type.
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PeriodArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PeriodArgumentFactory.html new file mode 100644 index 00000000000..734876d3cc3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PeriodArgumentFactory.html @@ -0,0 +1,199 @@ + + + + +PeriodArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PeriodArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.argument.AbstractArgumentFactory<Period> +
org.jdbi.v3.postgres.PeriodArgumentFactory
+
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
public class PeriodArgumentFactory +extends AbstractArgumentFactory<Period>
+
Postgres version of argument factory for Period.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PeriodArgumentFactory

      +
      +
      public PeriodArgumentFactory()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PeriodColumnMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PeriodColumnMapperFactory.html new file mode 100644 index 00000000000..afe8ec8a0df --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PeriodColumnMapperFactory.html @@ -0,0 +1,209 @@ + + + + +PeriodColumnMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PeriodColumnMapperFactory

+
+
java.lang.Object +
org.jdbi.v3.postgres.PeriodColumnMapperFactory
+
+
+
+
+
All Implemented Interfaces:
+
ColumnMapperFactory
+
+
+
public class PeriodColumnMapperFactory +extends Object +implements ColumnMapperFactory
+
A column mapper which maps Postgres's PGInterval type to Java's Period. + +

+ Not all PGIntervals are representable as Periods. E.g., one with minutes. An + IllegalArgumentException will be thrown in this case.

+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PeriodColumnMapperFactory

      +
      +
      public PeriodColumnMapperFactory()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      +
      public Optional<ColumnMapper<?>> build(Type type, + ConfigRegistry config)
      +
      Description copied from interface: ColumnMapperFactory
      +
      Supplies a column mapper which will map columns to type if the factory supports it; empty otherwise.
      +
      +
      Specified by:
      +
      build in interface ColumnMapperFactory
      +
      Parameters:
      +
      type - the target type to map to
      +
      config - the config registry, for composition
      +
      Returns:
      +
      a column mapper for the given type if this factory supports it, or Optional.empty() otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PgLobApi.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PgLobApi.html new file mode 100644 index 00000000000..ec700399009 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PgLobApi.html @@ -0,0 +1,178 @@ + + + + +PgLobApi (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface PgLobApi

+
+
+
+
+
@Beta +public interface PgLobApi
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      createLob

      +
      +
      long createLob()
      +
      +
      +
    • +
    • +
      +

      deleteLob

      +
      +
      void deleteLob(long oid)
      +
      +
      +
    • +
    • +
      +

      writeLob

      +
      +
      void writeLob(long oid, + InputStream data)
      +
      +
      +
    • +
    • +
      +

      readLob

      +
      +
      InputStream readLob(long oid)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PostgresPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PostgresPlugin.html new file mode 100644 index 00000000000..e49c4cb1634 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PostgresPlugin.html @@ -0,0 +1,297 @@ + + + + +PostgresPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PostgresPlugin

+
+
java.lang.Object +
org.jdbi.v3.core.spi.JdbiPlugin.Singleton +
org.jdbi.v3.postgres.PostgresPlugin
+
+
+
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public class PostgresPlugin +extends JdbiPlugin.Singleton
+
Postgres plugin. Adds support for binding and mapping the following data types: + + + +

+ Also sets up SQL array support for the following types: + +

+ +

+ A note about the mapping between the Postgres interval type and the Java Period and + Duration types: + The Java library authors are much more strict about the temporal amounts representable by Periods and Durations than + Postgres is with its interval type. The argument factories and column mapper factories implemented in this + package respect this spirit of unambiguous strictness. Consequently: +

    +
  • All Periods can be mapped to intervals.
  • +
  • Not all Durations can be mapped to intervals.
  • +
  • Not all intervals can be mapped to Periods.
  • +
  • Not all intervals can be mapped to Durations.
  • +
+ For more specific detail, see the caveats in the documentation for DurationArgumentFactory, + PeriodColumnMapperFactory, and DurationColumnMapperFactory. + +

+ In addition, some potentially unexpected implicit conversions can occur by virtue of the Postgres server + logic. For example, at the time of writing, storing a Period of -3 years, 2 months, and -1 days results in an + interval (and consequently, a column-mapped Period) of -2 years, -10 months, and -1 days.

+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PostgresPlugin

      +
      +
      public PostgresPlugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      noUnqualifiedHstoreBindings

      +
      +
      public static PostgresPlugin noUnqualifiedHstoreBindings()
      +
      Do not install the legacy (unqualified) bindings for HStoreArgumentFactory and HStoreColumnMapper. When + using the plugin returned by this factory method, any lookup for HStore specific arguments and column mappers must be qualified + with the HStore annotation.
      +
      +
      +
    • +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi jdbi)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Parameters:
      +
      jdbi - the jdbi to customize
      +
      +
      +
      +
    • +
    • +
      +

      customizeHandle

      +
      +
      public Handle customizeHandle(Handle handle)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations for a new Handle instance.
      +
      +
      Parameters:
      +
      handle - the handle just created
      +
      Returns:
      +
      the transformed handle
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PostgresTypes.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PostgresTypes.html new file mode 100644 index 00000000000..789abd873a0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/PostgresTypes.html @@ -0,0 +1,258 @@ + + + + +PostgresTypes (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PostgresTypes

+
+
java.lang.Object +
org.jdbi.v3.postgres.PostgresTypes
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<PostgresTypes>
+
+
+
public class PostgresTypes +extends Object +implements JdbiConfig<PostgresTypes>
+
Handler for PostgreSQL custom types.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PostgresTypes

      +
      +
      public PostgresTypes()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setRegistry

      +
      +
      public void setRegistry(ConfigRegistry registry)
      +
      Description copied from interface: JdbiConfig
      +
      The 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:
      +
      setRegistry in interface JdbiConfig<PostgresTypes>
      +
      Parameters:
      +
      registry - the registry that owns this configuration object
      +
      +
      +
      +
    • +
    • +
      +

      registerCustomType

      +
      +
      public PostgresTypes registerCustomType(Class<? extends org.postgresql.util.PGobject> clazz, + String typeName)
      +
      Register a Postgres custom type.
      +
      +
      Parameters:
      +
      clazz - the class implementing the Java representation of the custom type; + must extend PGobject.
      +
      typeName - the Postgres custom type name
      +
      +
      +
      +
    • +
    • +
      +

      getLobApi

      +
      +
      public PgLobApi getLobApi()
      +
      Provide access to Large Object streaming via Postgres specific API.
      +
      +
      Returns:
      +
      the postgres large object api
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public PostgresTypes createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<PostgresTypes>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/TypedEnumArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/TypedEnumArgumentFactory.html new file mode 100644 index 00000000000..5bc43d2393f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/TypedEnumArgumentFactory.html @@ -0,0 +1,171 @@ + + + + +TypedEnumArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class TypedEnumArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.argument.AbstractArgumentFactory<Enum> +
org.jdbi.v3.postgres.TypedEnumArgumentFactory
+
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
public class TypedEnumArgumentFactory +extends AbstractArgumentFactory<Enum>
+
Default jdbi behavior is to bind Enum subclasses as + a string, which Postgres won't implicitly convert to an enum type. + If instead you bind it as java.sql.Types.OTHER, Postgres will + autodetect the enum correctly.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TypedEnumArgumentFactory

      +
      +
      public TypedEnumArgumentFactory()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/UUIDArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/UUIDArgumentFactory.html new file mode 100644 index 00000000000..ea9cfb71e6b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/UUIDArgumentFactory.html @@ -0,0 +1,171 @@ + + + + +UUIDArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UUIDArgumentFactory

+
+
java.lang.Object +
org.jdbi.v3.core.argument.SetObjectArgumentFactory +
org.jdbi.v3.postgres.UUIDArgumentFactory
+
+
+
+
+
+
All Implemented Interfaces:
+
ArgumentFactory, ArgumentFactory.Preparable
+
+
+
public class UUIDArgumentFactory +extends SetObjectArgumentFactory
+
Bind UUID arguments as an Object.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UUIDArgumentFactory

      +
      +
      public UUIDArgumentFactory()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/DurationArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/DurationArgumentFactory.html new file mode 100644 index 00000000000..f0fc2b8100f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/DurationArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.postgres.DurationArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.DurationArgumentFactory

+
+No usage of org.jdbi.v3.postgres.DurationArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/DurationColumnMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/DurationColumnMapperFactory.html new file mode 100644 index 00000000000..9c9ac36402b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/DurationColumnMapperFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.postgres.DurationColumnMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.DurationColumnMapperFactory

+
+No usage of org.jdbi.v3.postgres.DurationColumnMapperFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/HStore.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/HStore.html new file mode 100644 index 00000000000..aab66cdd60a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/HStore.html @@ -0,0 +1,94 @@ + + + + +Uses of Annotation Type org.jdbi.v3.postgres.HStore (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.postgres.HStore

+
+
Packages that use HStore
+
+
Package
+
Description
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/HStoreArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/HStoreArgumentFactory.html new file mode 100644 index 00000000000..6169056d472 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/HStoreArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.postgres.HStoreArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.HStoreArgumentFactory

+
+No usage of org.jdbi.v3.postgres.HStoreArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/HStoreColumnMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/HStoreColumnMapper.html new file mode 100644 index 00000000000..9382fc4c488 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/HStoreColumnMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.postgres.HStoreColumnMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.HStoreColumnMapper

+
+No usage of org.jdbi.v3.postgres.HStoreColumnMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/InetArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/InetArgumentFactory.html new file mode 100644 index 00000000000..cbecbc542d3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/InetArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.postgres.InetArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.InetArgumentFactory

+
+No usage of org.jdbi.v3.postgres.InetArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/JavaTimeArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/JavaTimeArgumentFactory.html new file mode 100644 index 00000000000..b78b58e45e5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/JavaTimeArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.postgres.JavaTimeArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.JavaTimeArgumentFactory

+
+No usage of org.jdbi.v3.postgres.JavaTimeArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/JavaTimeMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/JavaTimeMapperFactory.html new file mode 100644 index 00000000000..915f7a05610 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/JavaTimeMapperFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.postgres.JavaTimeMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.JavaTimeMapperFactory

+
+No usage of org.jdbi.v3.postgres.JavaTimeMapperFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/LargeObjectException.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/LargeObjectException.html new file mode 100644 index 00000000000..c17372b3590 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/LargeObjectException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.postgres.LargeObjectException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.LargeObjectException

+
+No usage of org.jdbi.v3.postgres.LargeObjectException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/MacAddr.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/MacAddr.html new file mode 100644 index 00000000000..2f4a5e41d5f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/MacAddr.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.postgres.MacAddr (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.postgres.MacAddr

+
+No usage of org.jdbi.v3.postgres.MacAddr
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PeriodArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PeriodArgumentFactory.html new file mode 100644 index 00000000000..dc033581f48 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PeriodArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.postgres.PeriodArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.PeriodArgumentFactory

+
+No usage of org.jdbi.v3.postgres.PeriodArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PeriodColumnMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PeriodColumnMapperFactory.html new file mode 100644 index 00000000000..95a0eb3df51 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PeriodColumnMapperFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.postgres.PeriodColumnMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.PeriodColumnMapperFactory

+
+No usage of org.jdbi.v3.postgres.PeriodColumnMapperFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PgLobApi.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PgLobApi.html new file mode 100644 index 00000000000..08547cf2b80 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PgLobApi.html @@ -0,0 +1,89 @@ + + + + +Uses of Interface org.jdbi.v3.postgres.PgLobApi (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.postgres.PgLobApi

+
+
Packages that use PgLobApi
+
+
Package
+
Description
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PostgresPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PostgresPlugin.html new file mode 100644 index 00000000000..60503c9de14 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PostgresPlugin.html @@ -0,0 +1,89 @@ + + + + +Uses of Class org.jdbi.v3.postgres.PostgresPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.PostgresPlugin

+
+
Packages that use PostgresPlugin
+
+
Package
+
Description
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PostgresTypes.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PostgresTypes.html new file mode 100644 index 00000000000..79ad64a3843 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/PostgresTypes.html @@ -0,0 +1,93 @@ + + + + +Uses of Class org.jdbi.v3.postgres.PostgresTypes (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.PostgresTypes

+
+
Packages that use PostgresTypes
+
+
Package
+
Description
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/TypedEnumArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/TypedEnumArgumentFactory.html new file mode 100644 index 00000000000..1722b25383c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/TypedEnumArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.postgres.TypedEnumArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.TypedEnumArgumentFactory

+
+No usage of org.jdbi.v3.postgres.TypedEnumArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/UUIDArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/UUIDArgumentFactory.html new file mode 100644 index 00000000000..8d159e9c6e9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/class-use/UUIDArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.postgres.UUIDArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.postgres.UUIDArgumentFactory

+
+No usage of org.jdbi.v3.postgres.UUIDArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/package-summary.html new file mode 100644 index 00000000000..23e9cc91ac0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/package-summary.html @@ -0,0 +1,165 @@ + + + + +org.jdbi.v3.postgres (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.postgres

+
+
+
+
package org.jdbi.v3.postgres
+
+

+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/package-tree.html new file mode 100644 index 00000000000..927995862bc --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/package-tree.html @@ -0,0 +1,133 @@ + + + + +org.jdbi.v3.postgres Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.postgres

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/postgres/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/package-use.html new file mode 100644 index 00000000000..8fe465c2e0e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/postgres/package-use.html @@ -0,0 +1,96 @@ + + + + +Uses of Package org.jdbi.v3.postgres (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.postgres

+
+
Packages that use org.jdbi.v3.postgres
+
+
Package
+
Description
+ +
+
+ The postgres plugin provides improved support for + java.time, hstore, uuid, and enum + types when configured with a recent Postgres database server.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/EnableJdbiRepositories.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/EnableJdbiRepositories.html new file mode 100644 index 00000000000..ed7cabc96a2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/EnableJdbiRepositories.html @@ -0,0 +1,212 @@ + + + + +EnableJdbiRepositories (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type EnableJdbiRepositories

+
+
+
+
+
@Retention(RUNTIME) +@Target(TYPE) +@Documented +@Import(JdbiRepositoryRegistrar.class) +public @interface EnableJdbiRepositories
+
Annotating a spring configuration class with this annotation enables the scanning/detection of jdbi repositories. + The scanned packages can be configured in the annotation. If no explicit configuration is done the package of the + annotated element will be used as the sole base package.
+
+
+
+ +
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String[] value
      +
      The names of the base packages used for repository scanning in addition + to the basePackages() and basePackageClasses() properties.
      +
      +
      Default:
      +
      {}
      +
      +
      +
      +
    • +
    • +
      +

      basePackages

      +
      +
      String[] basePackages
      +
      The names of the base packages used for repository scanning in addition + to the value() and basePackageClasses() properties.
      +
      +
      Default:
      +
      {}
      +
      +
      +
      +
    • +
    • +
      +

      basePackageClasses

      +
      +
      Class<?>[] basePackageClasses
      +
      The packages of these classes are used as base packages for repository + scanning in addition to the value() and basePackages() + properties.
      +
      +
      Default:
      +
      {}
      +
      +
      +
      +
    • +
    • +
      +

      repositories

      +
      +
      Class<?>[] repositories
      +
      Exact array of classes to consider as repositories. Overriding any of + the values defined in value(), basePackages() or + basePackageClasses().
      +
      +
      Default:
      +
      {}
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiFactoryBean.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiFactoryBean.html new file mode 100644 index 00000000000..eecdba083e3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiFactoryBean.html @@ -0,0 +1,323 @@ + + + + +JdbiFactoryBean (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiFactoryBean

+
+
java.lang.Object +
org.springframework.beans.factory.config.AbstractFactoryBean<Jdbi> +
org.jdbi.v3.spring5.JdbiFactoryBean
+
+
+
+
+
+
All Implemented Interfaces:
+
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean<Jdbi>, org.springframework.beans.factory.InitializingBean
+
+
+
public class JdbiFactoryBean +extends org.springframework.beans.factory.config.AbstractFactoryBean<Jdbi>
+
Utility class which constructs an Jdbi instance which can conveniently + participate in Spring's transaction management system.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JdbiFactoryBean

      +
      +
      public JdbiFactoryBean()
      +
      +
      +
    • +
    • +
      +

      JdbiFactoryBean

      +
      +
      public JdbiFactoryBean(DataSource dataSource)
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getObjectType

      +
      +
      public Class<Jdbi> getObjectType()
      +
      See FactoryBean.getObjectType()
      +
      +
      Specified by:
      +
      getObjectType in interface org.springframework.beans.factory.FactoryBean<Jdbi>
      +
      Specified by:
      +
      getObjectType in class org.springframework.beans.factory.config.AbstractFactoryBean<Jdbi>
      +
      +
      +
      +
    • +
    • +
      +

      setDataSource

      +
      +
      public JdbiFactoryBean setDataSource(DataSource dataSource)
      +
      The datasource, which should be managed by spring's transaction system, from which + the Jdbi will obtain connections
      +
      +
      Parameters:
      +
      dataSource - the data source.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      setPlugins

      +
      +
      @Autowired(required=false) +public JdbiFactoryBean setPlugins(Collection<JdbiPlugin> plugins)
      +
      Installs the given plugins which will be installed into the Jdbi.
      +
      +
      Parameters:
      +
      plugins - collection of Jdbi plugins to install.
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      setAutoInstallPlugins

      +
      +
      public JdbiFactoryBean setAutoInstallPlugins(boolean autoInstallPlugins)
      +
      Sets whether to install plugins automatically from the classpath, using + ServiceLoader manifests.
      +
      +
      Parameters:
      +
      autoInstallPlugins - whether to install plugins automatically from + the classpath.
      +
      Returns:
      +
      this
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      setGlobalDefines

      +
      +
      public void setGlobalDefines(Map<String,Object> defines)
      +
      +
      +
    • +
    • +
      +

      afterPropertiesSet

      +
      +
      public void afterPropertiesSet() + throws Exception
      +
      Verifies that a dataSource has been set
      +
      +
      Specified by:
      +
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      +
      Overrides:
      +
      afterPropertiesSet in class org.springframework.beans.factory.config.AbstractFactoryBean<Jdbi>
      +
      Throws:
      +
      Exception
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiRepository.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiRepository.html new file mode 100644 index 00000000000..d89d1b98eb1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiRepository.html @@ -0,0 +1,166 @@ + + + + +JdbiRepository (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type JdbiRepository

+
+
+
+
+
@Target(TYPE) +@Retention(RUNTIME) +@Documented +public @interface JdbiRepository
+
When EnableJdbiRepositories is used, + detected interfaces with this annotation will be regarded as a jdbi (sql-object) repository + and are elligible for autowiring. The handle used for the execution is obtained and discarded using JdbiUtil + and consequently will work in combination with spring managed transactions.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    The qualifier (bean name) of the jdbi to use.
    +
    + + +
    +
    The name of the created bean.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      The name of the created bean. if omitted the default naming mechanism is used.
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    • +
      +

      jdbiQualifier

      +
      +
      String jdbiQualifier
      +
      The qualifier (bean name) of the jdbi to use. Can be omitted if only one jdbi bean is available.
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiRepositoryFactoryBean.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiRepositoryFactoryBean.html new file mode 100644 index 00000000000..3c23586dac8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiRepositoryFactoryBean.html @@ -0,0 +1,296 @@ + + + + +JdbiRepositoryFactoryBean (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiRepositoryFactoryBean

+
+
java.lang.Object +
org.jdbi.v3.spring5.JdbiRepositoryFactoryBean
+
+
+
+
+
All Implemented Interfaces:
+
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.FactoryBean<Object>, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware
+
+
+
public class JdbiRepositoryFactoryBean +extends Object +implements org.springframework.beans.factory.FactoryBean<Object>, org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JdbiRepositoryFactoryBean

      +
      +
      public JdbiRepositoryFactoryBean()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getObject

      +
      +
      public Object getObject()
      +
      +
      Specified by:
      +
      getObject in interface org.springframework.beans.factory.FactoryBean<Object>
      +
      +
      +
      +
    • +
    • +
      +

      getObjectType

      +
      +
      public Class<?> getObjectType()
      +
      +
      Specified by:
      +
      getObjectType in interface org.springframework.beans.factory.FactoryBean<Object>
      +
      +
      +
      +
    • +
    • +
      +

      setObjectType

      +
      +
      public void setObjectType(Class<?> objectType)
      +
      The object type of the repository.
      +
      +
      +
    • +
    • +
      +

      setJdbiQualifier

      +
      +
      public void setJdbiQualifier(@Nullable + String jdbiQualifier)
      +
      Set the jdbi qualifier.
      +
      +
      Parameters:
      +
      jdbiQualifier - The name of the jdbi bean to bind the repository to. + if null then no name will be specified during resolution.
      +
      +
      +
      +
    • +
    • +
      +

      afterPropertiesSet

      +
      +
      public void afterPropertiesSet()
      +
      Verifies that the object type has been set
      +
      +
      Specified by:
      +
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      +
      +
      +
      +
    • +
    • +
      +

      setApplicationContext

      +
      +
      public void setApplicationContext(org.springframework.context.ApplicationContext context)
      +
      +
      Specified by:
      +
      setApplicationContext in interface org.springframework.context.ApplicationContextAware
      +
      +
      +
      +
    • +
    • +
      +

      setBeanFactory

      +
      +
      public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
      +
      +
      Specified by:
      +
      setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAware
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiRepositoryRegistrar.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiRepositoryRegistrar.html new file mode 100644 index 00000000000..fd35295289e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiRepositoryRegistrar.html @@ -0,0 +1,195 @@ + + + + +JdbiRepositoryRegistrar (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiRepositoryRegistrar

+
+
java.lang.Object +
org.jdbi.v3.spring5.JdbiRepositoryRegistrar
+
+
+
+
+
All Implemented Interfaces:
+
org.springframework.context.annotation.ImportBeanDefinitionRegistrar
+
+
+
public class JdbiRepositoryRegistrar +extends Object +implements org.springframework.context.annotation.ImportBeanDefinitionRegistrar
+
This bean registers the bean definitions of all repositories. + Interfaces found using the configuration of EnableJdbiRepositories + and annotated with JdbiRepository will be registered.
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    registerBeanDefinitions(org.springframework.core.type.AnnotationMetadata metadata, + org.springframework.beans.factory.support.BeanDefinitionRegistry registry)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +

    Methods inherited from interface org.springframework.context.annotation.ImportBeanDefinitionRegistrar

    +registerBeanDefinitions
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JdbiRepositoryRegistrar

      +
      +
      public JdbiRepositoryRegistrar()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      registerBeanDefinitions

      +
      +
      public void registerBeanDefinitions(org.springframework.core.type.AnnotationMetadata metadata, + org.springframework.beans.factory.support.BeanDefinitionRegistry registry)
      +
      +
      Specified by:
      +
      registerBeanDefinitions in interface org.springframework.context.annotation.ImportBeanDefinitionRegistrar
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiUtil.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiUtil.html new file mode 100644 index 00000000000..733f208289b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/JdbiUtil.html @@ -0,0 +1,179 @@ + + + + +JdbiUtil (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiUtil

+
+
java.lang.Object +
org.jdbi.v3.spring5.JdbiUtil
+
+
+
+
+
public class JdbiUtil +extends Object
+
Utility for working with Jdbi and Spring transaction bound resources
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static void
    + +
    +
    Close a handle if it is not transactionally bound, otherwise no-op
    +
    +
    static Handle
    + +
    +
    Obtain a Handle instance, either the transactionally bound one if we are in a transaction, + or a new one otherwise.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getHandle

      +
      +
      public static Handle getHandle(Jdbi jdbi)
      +
      Obtain a Handle instance, either the transactionally bound one if we are in a transaction, + or a new one otherwise.
      +
      +
      Parameters:
      +
      jdbi - the Jdbi instance from which to obtain the handle
      +
      Returns:
      +
      the Handle instance
      +
      +
      +
      +
    • +
    • +
      +

      closeIfNeeded

      +
      +
      public static void closeIfNeeded(Handle handle)
      +
      Close a handle if it is not transactionally bound, otherwise no-op
      +
      +
      Parameters:
      +
      handle - the handle to consider closing
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/SpringConnectionFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/SpringConnectionFactory.html new file mode 100644 index 00000000000..ff2587006e7 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/SpringConnectionFactory.html @@ -0,0 +1,223 @@ + + + + +SpringConnectionFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SpringConnectionFactory

+
+
java.lang.Object +
org.jdbi.v3.spring5.SpringConnectionFactory
+
+
+
+
+
All Implemented Interfaces:
+
ConnectionFactory
+
+
+
public class SpringConnectionFactory +extends Object +implements ConnectionFactory
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/EnableJdbiRepositories.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/EnableJdbiRepositories.html new file mode 100644 index 00000000000..05290906dc7 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/EnableJdbiRepositories.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.spring5.EnableJdbiRepositories (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.spring5.EnableJdbiRepositories

+
+No usage of org.jdbi.v3.spring5.EnableJdbiRepositories
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiFactoryBean.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiFactoryBean.html new file mode 100644 index 00000000000..be6d8cbee53 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiFactoryBean.html @@ -0,0 +1,99 @@ + + + + +Uses of Class org.jdbi.v3.spring5.JdbiFactoryBean (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.spring5.JdbiFactoryBean

+
+
Packages that use JdbiFactoryBean
+
+
Package
+
Description
+ +
+
+ Classes here provide integration hooks for working with the Spring framework.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiRepository.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiRepository.html new file mode 100644 index 00000000000..f058d5db311 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiRepository.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.spring5.JdbiRepository (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.spring5.JdbiRepository

+
+No usage of org.jdbi.v3.spring5.JdbiRepository
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiRepositoryFactoryBean.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiRepositoryFactoryBean.html new file mode 100644 index 00000000000..c180ca63539 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiRepositoryFactoryBean.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.spring5.JdbiRepositoryFactoryBean (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.spring5.JdbiRepositoryFactoryBean

+
+No usage of org.jdbi.v3.spring5.JdbiRepositoryFactoryBean
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiRepositoryRegistrar.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiRepositoryRegistrar.html new file mode 100644 index 00000000000..acf81c589e9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiRepositoryRegistrar.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.spring5.JdbiRepositoryRegistrar (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.spring5.JdbiRepositoryRegistrar

+
+No usage of org.jdbi.v3.spring5.JdbiRepositoryRegistrar
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiUtil.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiUtil.html new file mode 100644 index 00000000000..256a1c6d2f5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/JdbiUtil.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.spring5.JdbiUtil (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.spring5.JdbiUtil

+
+No usage of org.jdbi.v3.spring5.JdbiUtil
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/SpringConnectionFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/SpringConnectionFactory.html new file mode 100644 index 00000000000..169f97e4ca7 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/class-use/SpringConnectionFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.spring5.SpringConnectionFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.spring5.SpringConnectionFactory

+
+No usage of org.jdbi.v3.spring5.SpringConnectionFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/package-summary.html new file mode 100644 index 00000000000..4cc2afef133 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/package-summary.html @@ -0,0 +1,158 @@ + + + + +org.jdbi.v3.spring5 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.spring5

+
+
+
+
package org.jdbi.v3.spring5
+
+

+ Classes here provide integration hooks for working with the Spring framework. + Jdbi instances may be obtained which will + behave correctly with Spring managed transactions. +

+

+ Using the Spring facilities entails configuring Jdbi via the JdbiFactoryBean class, + and providing a DataSource with an associated transaction manager to that bean, such as: +

+
+ <beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:aop="http://www.springframework.org/schema/aop"
+ xmlns:tx="http://www.springframework.org/schema/tx"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
+ http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
+ http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
+ <tx:annotation-driven transaction-manager="transactionManager"/>
+ <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
+ <property name="dataSource" ref="derby"/>
+ </bean>
+ <bean id="derby" class="org.apache.derby.jdbc.EmbeddedDataSource" destroy-method="close">
+ <property name="databaseName" value="testing"/>
+ </bean>
+ <bean id="jdbi" class="org.jdbi.v3.spring5.JdbiFactoryBean">
+ <property name="dataSource" ref="derby"/>
+ </bean>
+ <bean id="service" class="org.jdbi.v3.spring5.DummyService">
+ <constructor-arg ref="jdbi"/>
+ </bean>
+ </beans>
+ 
+ + The automatic detection of JdbiRepository can be enabled by using the + EnableJdbiRepositories annotation.
+
+
+
+
    +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    Annotating a spring configuration class with this annotation enables the scanning/detection of jdbi repositories.
    +
    + +
    +
    Utility class which constructs an Jdbi instance which can conveniently + participate in Spring's transaction management system.
    +
    + +
    +
    When EnableJdbiRepositories is used, + detected interfaces with this annotation will be regarded as a jdbi (sql-object) repository + and are elligible for autowiring.
    +
    + +
     
    + +
    +
    This bean registers the bean definitions of all repositories.
    +
    + +
    +
    Utility for working with Jdbi and Spring transaction bound resources
    +
    + +
     
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/package-tree.html new file mode 100644 index 00000000000..98700d6ebbd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/package-tree.html @@ -0,0 +1,86 @@ + + + + +org.jdbi.v3.spring5 Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.spring5

+
+Package Hierarchies: + +
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • org.springframework.beans.factory.config.AbstractFactoryBean<T> (implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean) + +
    • +
    • org.jdbi.v3.spring5.JdbiRepositoryFactoryBean (implements org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean)
    • +
    • org.jdbi.v3.spring5.JdbiRepositoryRegistrar (implements org.springframework.context.annotation.ImportBeanDefinitionRegistrar)
    • +
    • org.jdbi.v3.spring5.JdbiUtil
    • +
    • org.jdbi.v3.spring5.SpringConnectionFactory (implements org.jdbi.v3.core.ConnectionFactory)
    • +
    +
  • +
+
+
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/spring5/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/package-use.html new file mode 100644 index 00000000000..f61c6ee4939 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/spring5/package-use.html @@ -0,0 +1,85 @@ + + + + +Uses of Package org.jdbi.v3.spring5 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.spring5

+
+
Packages that use org.jdbi.v3.spring5
+
+
Package
+
Description
+ +
+
+ Classes here provide integration hooks for working with the Spring framework.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/SQLitePlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/SQLitePlugin.html new file mode 100644 index 00000000000..69884042ea4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/SQLitePlugin.html @@ -0,0 +1,209 @@ + + + + +SQLitePlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SQLitePlugin

+
+
java.lang.Object +
org.jdbi.v3.core.spi.JdbiPlugin.Singleton +
org.jdbi.v3.sqlite3.SQLitePlugin
+
+
+
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public class SQLitePlugin +extends JdbiPlugin.Singleton
+
Jdbi plugin for SQLite.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SQLitePlugin

      +
      +
      public SQLitePlugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi jdbi)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Parameters:
      +
      jdbi - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/class-use/SQLitePlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/class-use/SQLitePlugin.html new file mode 100644 index 00000000000..be822d3a3d6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/class-use/SQLitePlugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.sqlite3.SQLitePlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.sqlite3.SQLitePlugin

+
+No usage of org.jdbi.v3.sqlite3.SQLitePlugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/package-summary.html new file mode 100644 index 00000000000..41b9ac89fa0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/package-summary.html @@ -0,0 +1,101 @@ + + + + +org.jdbi.v3.sqlite3 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.sqlite3

+
+
+
+
package org.jdbi.v3.sqlite3
+
+

+ The sqlite plugin provides improved support for + java.net.URL. +

+
+
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Jdbi plugin for SQLite.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/package-tree.html new file mode 100644 index 00000000000..2c99d667482 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/package-tree.html @@ -0,0 +1,75 @@ + + + + +org.jdbi.v3.sqlite3 Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.sqlite3

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/package-use.html new file mode 100644 index 00000000000..f6c6fa24b2a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlite3/package-use.html @@ -0,0 +1,57 @@ + + + + +Uses of Package org.jdbi.v3.sqlite3 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.sqlite3

+
+No usage of org.jdbi.v3.sqlite3
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/CreateSqlObject.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/CreateSqlObject.html new file mode 100644 index 00000000000..577696fbf06 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/CreateSqlObject.html @@ -0,0 +1,100 @@ + + + + +CreateSqlObject (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type CreateSqlObject

+
+
+
+
+
@Retention(RUNTIME) +@Target(METHOD) +public @interface CreateSqlObject
+
Use this annotation on a sql object method to create a new sql object with the same underlying handle as the sql + object the method is invoked on. Not supported with on-demand SQL objects.
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/DecoratorOrder.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/DecoratorOrder.html new file mode 100644 index 00000000000..ad8897b8b37 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/DecoratorOrder.html @@ -0,0 +1,153 @@ + + + + +DecoratorOrder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type DecoratorOrder

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +@Deprecated +public @interface DecoratorOrder
+
Deprecated. + +
+
Determines the order in which SQL method decorators are invoked. If this annotation is absent, the decorator order + is undefined. A @DecoratorOrder annotation on a method takes precedence over an annotation on a type.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    +
    Class<? extends Annotation>[]
    + +
    +
    Deprecated.
    +
    The order that decorator annotations will be applied, from outermost to innermost.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends Annotation>[] value
      +
      Deprecated.
      +
      The order that decorator annotations will be applied, from outermost to innermost. Decorator order is undefined + for any decorating annotation present on the SQL method but not on this annotation.
      +
      +
      Returns:
      +
      the annotations in the order you like
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/GenerateSqlObject.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/GenerateSqlObject.html new file mode 100644 index 00000000000..5a4e5d9133e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/GenerateSqlObject.html @@ -0,0 +1,100 @@ + + + + +GenerateSqlObject (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type GenerateSqlObject

+
+
+
+
+
@Retention(RUNTIME) +@Target(TYPE) +public @interface GenerateSqlObject
+
Decorate a SqlObject type to instruct the jdbi3-generator annotation processor + to create a compiled implementation.
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/Handler.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/Handler.html new file mode 100644 index 00000000000..bb37343654e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/Handler.html @@ -0,0 +1,223 @@ + + + + +Handler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface Handler

+
+
+
+
+
All Superinterfaces:
+
ExtensionHandler
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +@Deprecated +public interface Handler +extends ExtensionHandler
+
Deprecated. +
Use ExtensionHandler directly.
+
+
Implements the contract of a SQL Object method.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      invoke

      +
      +
      Object invoke(Object target, + Object[] args, + HandleSupplier handleSupplier) + throws Exception
      +
      Deprecated.
      +
      Executes a SQL Object method, and returns the result.
      +
      +
      Parameters:
      +
      target - the SQL Object instance being invoked
      +
      args - the arguments that were passed to the method.
      +
      handleSupplier - a (possibly lazy) Handle supplier.
      +
      Returns:
      +
      the method return value, or null if the method has a void return type.
      +
      Throws:
      +
      Exception - any exception thrown by the method.
      +
      +
      +
      +
    • +
    • +
      +

      invoke

      +
      +
      default Object invoke(HandleSupplier handleSupplier, + Object target, + Object... args) + throws Exception
      +
      Deprecated.
      +
      Description copied from interface: ExtensionHandler
      +
      Gets invoked to return a value for the method that this handler was bound to.
      +
      +
      Specified by:
      +
      invoke in interface ExtensionHandler
      +
      Parameters:
      +
      handleSupplier - A HandleSupplier instance for accessing the handle and its related objects
      +
      target - The target object on which the handler should operate
      +
      args - Optional arguments for the handler
      +
      Returns:
      +
      The return value for the method that was bound to the extension handler. Can be null
      +
      Throws:
      +
      Exception - Any exception from the underlying code
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/HandlerDecorator.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/HandlerDecorator.html new file mode 100644 index 00000000000..f8433c980d8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/HandlerDecorator.html @@ -0,0 +1,216 @@ + + + + +HandlerDecorator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface HandlerDecorator

+
+
+
+
+
All Superinterfaces:
+
ExtensionHandlerCustomizer
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@Deprecated +@FunctionalInterface +public interface HandlerDecorator +extends ExtensionHandlerCustomizer
+
Deprecated. + +
+
Decorates Handler objects with additional behavior.
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    customize(ExtensionHandler defaultHandler, + Class<?> extensionType, + Method method)
    +
    +
    Deprecated.
    +
    Customize an extension handler.
    +
    + +
    decorateHandler(Handler base, + Class<?> sqlObjectType, + Method method)
    +
    +
    Deprecated.
    +
    Decorates the Handler to add or substitute behavior on the given SQL Object method.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      decorateHandler

      +
      +
      Handler decorateHandler(Handler base, + Class<?> sqlObjectType, + Method method)
      +
      Deprecated.
      +
      Decorates the Handler to add or substitute behavior on the given SQL Object method. Implementations may + alternatively return the base handler, e.g. if the conditions for applying a particular decoration are not met.
      +
      +
      Parameters:
      +
      base - the base handler to decorate
      +
      sqlObjectType - the SQL Object type
      +
      method - the method to be decorated
      +
      Returns:
      +
      the base handle, or a decorated handler (depending on the decorator implementation).
      +
      +
      +
      +
    • +
    • +
      +

      customize

      +
      +
      default ExtensionHandler customize(ExtensionHandler defaultHandler, + Class<?> extensionType, + Method method)
      +
      Deprecated.
      +
      Description copied from interface: ExtensionHandlerCustomizer
      +
      Customize an extension handler.
      +
      +
      Specified by:
      +
      customize in interface ExtensionHandlerCustomizer
      +
      Parameters:
      +
      defaultHandler - The ExtensionHandler to customize
      +
      extensionType - The extension type class
      +
      method - A method
      +
      Returns:
      +
      An ExtensionHandler object. This can be the same as the handler parameter + or another instance that delegates to the original handler
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/HandlerDecorators.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/HandlerDecorators.html new file mode 100644 index 00000000000..d71bf9f4377 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/HandlerDecorators.html @@ -0,0 +1,263 @@ + + + + +HandlerDecorators (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class HandlerDecorators

+
+
java.lang.Object +
org.jdbi.v3.sqlobject.HandlerDecorators
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<HandlerDecorators>
+
+
+
@Deprecated +public class HandlerDecorators +extends Object +implements JdbiConfig<HandlerDecorators>
+
Deprecated. + +
+
Registry for handler decorators. Decorators may modify or augment the behavior of a method + Handler in some way. Out of the box, a decorator is registered which applies decorations for any + decorating annotations present on a SQL method. For example, using the + Transaction annotation will cause a SQL method to be executed within a + transaction. Decorators are applied in the order registered, from innermost to outermost: the last registered + decorator will be the outermost decorator around the method handler.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      HandlerDecorators

      +
      +
      public HandlerDecorators()
      +
      Deprecated.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      register

      +
      +
      public HandlerDecorators register(HandlerDecorator decorator)
      +
      Deprecated.
      +
      Registers the given handler decorator with the registry.
      +
      +
      Parameters:
      +
      decorator - the decorator to register
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      applyDecorators

      +
      +
      public Handler applyDecorators(Handler base, + Class<?> sqlObjectType, + Method method)
      +
      Deprecated.
      +
      Applies all registered decorators to the given handler
      +
      +
      Parameters:
      +
      base - the base handler
      +
      sqlObjectType - the SQL object type
      +
      method - the SQL method to be decorated
      +
      Returns:
      +
      the decorated handler
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public HandlerDecorators createCopy()
      +
      Deprecated.
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<HandlerDecorators>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/HandlerFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/HandlerFactory.html new file mode 100644 index 00000000000..6db568f8643 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/HandlerFactory.html @@ -0,0 +1,233 @@ + + + + +HandlerFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface HandlerFactory

+
+
+
+
+
All Superinterfaces:
+
ExtensionHandlerFactory
+
+
+
@Deprecated +public interface HandlerFactory +extends ExtensionHandlerFactory
+
Deprecated. +
Use ExtensionHandlerFactory instances directly.
+
+
Creates Handler objects for methods annotated with a specific SQL method annotation, which satisfy the contract of + that annotation.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      buildHandler

      +
      +
      Optional<Handler> buildHandler(Class<?> sqlObjectType, + Method method)
      +
      Deprecated.
      +
      Returns a Handler instance for executing the given SQL Object method.
      +
      +
      Parameters:
      +
      sqlObjectType - the SQL Object type
      +
      method - the method
      +
      Returns:
      +
      a handler, if applicable
      +
      +
      +
      +
    • +
    • +
      +

      accepts

      +
      +
      default boolean accepts(Class<?> extensionType, + Method method)
      +
      Deprecated.
      +
      Description copied from interface: ExtensionHandlerFactory
      +
      Determines whether the factory can create an ExtensionHandler for combination of extension type and method.
      +
      +
      Specified by:
      +
      accepts in interface ExtensionHandlerFactory
      +
      Parameters:
      +
      extensionType - The extension type class
      +
      method - A method
      +
      Returns:
      +
      True if the factory can create an extension handler for extension type and method, false otherwise
      +
      +
      +
      +
    • +
    • +
      +

      createExtensionHandler

      +
      +
      default Optional<ExtensionHandler> createExtensionHandler(Class<?> extensionType, + Method method)
      +
      Deprecated.
      +
      Description copied from interface: ExtensionHandlerFactory
      +
      Returns an ExtensionHandler instance for a extension type and method combination.
      +
      +
      Specified by:
      +
      createExtensionHandler in interface ExtensionHandlerFactory
      +
      Parameters:
      +
      extensionType - The extension type class
      +
      method - A method
      +
      Returns:
      +
      An ExtensionHandler instance wrapped into an Optional. The optional can be empty. This is necessary to retrofit old code + that does not have an accept/build code pair but unconditionally tries to build a handler and returns empty if it can not. New code should always + return Optional.of(extensionHandler} and never return Optional.empty()
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/Handlers.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/Handlers.html new file mode 100644 index 00000000000..e9cd3e77d6a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/Handlers.html @@ -0,0 +1,250 @@ + + + + +Handlers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Handlers

+
+
java.lang.Object +
org.jdbi.v3.sqlobject.Handlers
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<Handlers>
+
+
+
@Deprecated +public class Handlers +extends Object +implements JdbiConfig<Handlers>
+
Deprecated. + +
+
Registry for handler factories, which produce handlers for SQL object methods. + By default, a factory is registered for methods annotated + with SQL annotations such as @SqlUpdate or SqlQuery. Clients may register additional factories to provide + support for other use cases. In the case that two or more registered factories would support a particular SQL object + method, the last-registered factory takes precedence.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Handlers

      +
      +
      public Handlers()
      +
      Deprecated.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      register

      +
      +
      public Handlers register(HandlerFactory factory)
      +
      Deprecated.
      +
      Registers the given handler factory with the registry.
      +
      +
      Parameters:
      +
      factory - the factory to register
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      findFor

      +
      +
      public Optional<Handler> findFor(Class<?> sqlObjectType, + Method method)
      +
      Deprecated.
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public Handlers createCopy()
      +
      Deprecated.
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<Handlers>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SingleValue.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SingleValue.html new file mode 100644 index 00000000000..f5adeae0484 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SingleValue.html @@ -0,0 +1,100 @@ + + + + +SingleValue (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type SingleValue

+
+
+
+
+
@Retention(RUNTIME) +@Target({METHOD,PARAMETER}) +public @interface SingleValue
+
Indicate to SqlObject that a type that looks like a container + should be treated as a single element.
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlMethodDecoratingAnnotation.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlMethodDecoratingAnnotation.html new file mode 100644 index 00000000000..8ade3404da6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlMethodDecoratingAnnotation.html @@ -0,0 +1,152 @@ + + + + +SqlMethodDecoratingAnnotation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type SqlMethodDecoratingAnnotation

+
+
+
+
+
@Retention(RUNTIME) +@Target(ANNOTATION_TYPE) +@Deprecated +public @interface SqlMethodDecoratingAnnotation
+
Deprecated. +
Use UseExtensionHandlerCustomizer instead + and implement ExtensionHandlerCustomizer for the value.
+
+
Annotation used to identify SQL method decorating annotations. Use this to annotate an annotation.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    Deprecated.
    +
    Factory class that decorates Handler instances for methods annotated with the associated annotation.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends HandlerDecorator> value
      +
      Deprecated.
      +
      Factory class that decorates Handler instances for methods annotated with the associated annotation. + Must have a zero-argument constructor.
      +
      +
      Returns:
      +
      the handler decorator class
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObject.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObject.html new file mode 100644 index 00000000000..d8c1a1537dd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObject.html @@ -0,0 +1,212 @@ + + + + +SqlObject (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SqlObject

+
+
+
+
+
All Known Subinterfaces:
+
Transactional<This>
+
+
+
public interface SqlObject
+
SqlObject base interface. All synthesized implementations implement + this interface, even if the declaration doesn't extend SqlObject. + + Custom mixins may be written as subinterfaces of this class with default methods.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns the handle used in the current sql object context.
    +
    +
    default <X extends Exception>
    void
    + +
    +
    A convenience function which manages the lifecycle of the handle associated to this sql object, + and yields it to a consumer for use by clients.
    +
    +
    <R, +X extends Exception>
    R
    +
    withHandle(HandleCallback<R,X> callback)
    +
    +
    A convenience function which manages the lifecycle of the handle associated to this sql object, + and yields it to a callback for use by clients.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getHandle

      +
      +
      Handle getHandle()
      +
      Returns the handle used in the current sql object context.
      +
      +
      Returns:
      +
      the handle used in the current sql object context.
      +
      +
      +
      +
    • +
    • +
      +

      withHandle

      +
      +
      <R, +X extends Exception> R withHandle(HandleCallback<R,X> callback) + throws X
      +
      A convenience function which manages the lifecycle of the handle associated to this sql object, + and yields it to a callback for use by clients.
      +
      +
      Type Parameters:
      +
      R - type returned by the callback
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      callback - A callback which will receive the handle associated to this sql object
      +
      Returns:
      +
      the value returned by callback
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    • +
      +

      useHandle

      +
      +
      default <X extends Exception> void useHandle(HandleConsumer<X> consumer) + throws X
      +
      A convenience function which manages the lifecycle of the handle associated to this sql object, + and yields it to a consumer for use by clients.
      +
      +
      Type Parameters:
      +
      X - exception type thrown by the callback, if any.
      +
      Parameters:
      +
      consumer - A consumer which will receive the handle associated to this sql object
      +
      Throws:
      +
      X - any exception thrown by the callback
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObjectFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObjectFactory.html new file mode 100644 index 00000000000..2a4384c048e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObjectFactory.html @@ -0,0 +1,319 @@ + + + + +SqlObjectFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SqlObjectFactory

+
+
java.lang.Object +
org.jdbi.v3.sqlobject.SqlObjectFactory
+
+
+
+
+
All Implemented Interfaces:
+
ExtensionFactory
+
+
+
public final class SqlObjectFactory +extends Object
+
Creates implementations for SqlObject interfaces.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObjectPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObjectPlugin.html new file mode 100644 index 00000000000..9fd07a76a27 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObjectPlugin.html @@ -0,0 +1,209 @@ + + + + +SqlObjectPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SqlObjectPlugin

+
+
java.lang.Object +
org.jdbi.v3.core.spi.JdbiPlugin.Singleton +
org.jdbi.v3.sqlobject.SqlObjectPlugin
+
+
+
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public class SqlObjectPlugin +extends JdbiPlugin.Singleton
+
Plugin that installs the SqlObject extension.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SqlObjectPlugin

      +
      +
      public SqlObjectPlugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi db)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Parameters:
      +
      db - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObjects.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObjects.html new file mode 100644 index 00000000000..fd31e3d934e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlObjects.html @@ -0,0 +1,276 @@ + + + + +SqlObjects (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SqlObjects

+
+
java.lang.Object +
org.jdbi.v3.sqlobject.SqlObjects
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<SqlObjects>
+
+
+
public class SqlObjects +extends Object +implements JdbiConfig<SqlObjects>
+
Configuration class for SQL objects.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SqlObjects

      +
      +
      public SqlObjects()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getSqlLocator

      +
      +
      public SqlLocator getSqlLocator()
      +
      Returns the configured SqlLocator. The default SQL locator is AnnotationSqlLocator.
      +
      +
      Returns:
      +
      the configured SqlLocator.
      +
      +
      +
      +
    • +
    • +
      +

      setSqlLocator

      +
      +
      public SqlObjects setSqlLocator(SqlLocator sqlLocator)
      +
      Configures SqlObject to use the given SqlLocator.
      +
      +
      Parameters:
      +
      sqlLocator - the new SQL locator.
      +
      Returns:
      +
      this SqlObjects.
      +
      +
      +
      +
    • +
    • +
      +

      getDefaultParameterCustomizerFactory

      +
      +
      public ParameterCustomizerFactory getDefaultParameterCustomizerFactory()
      +
      Returns the configured ParameterCustomizerFactory used to bind sql statement parameters + when parameter is not explicitly annotated. By default it is configured as an instance of BindParameterCustomizerFactory.
      +
      +
      Returns:
      +
      the configured SqlStatementCustomizerFactory.
      +
      +
      +
      +
    • +
    • +
      +

      setDefaultParameterCustomizerFactory

      +
      +
      public SqlObjects setDefaultParameterCustomizerFactory(ParameterCustomizerFactory defaultParameterCustomizerFactory)
      +
      Configures SqlObject to use the given default parameter customizer factory.
      +
      +
      Parameters:
      +
      defaultParameterCustomizerFactory - the new default parameter customizer factory.
      +
      Returns:
      +
      this SqlObjects.
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public SqlObjects createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<SqlObjects>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlOperation.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlOperation.html new file mode 100644 index 00000000000..69e4cc6fb44 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/SqlOperation.html @@ -0,0 +1,153 @@ + + + + +SqlOperation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type SqlOperation

+
+
+
+
+
@Retention(RUNTIME) +@Target(ANNOTATION_TYPE) +@Deprecated +public @interface SqlOperation
+
Deprecated. + +
+
Annotation used to identify SQL operation annotations. Use this to annotate + an annotation.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    +
    Class<? extends Handler>
    + +
    +
    Deprecated.
    +
    Handler class for methods annotated with the associated annotation.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends Handler> value
      +
      Deprecated.
      +
      Handler class for methods annotated with the associated annotation. + Must have a public no-arg, (Method method), or + (Class<?> sqlObjectType, Method method) constructor.
      +
      +
      Returns:
      +
      a handler class
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/UnableToCreateSqlObjectException.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/UnableToCreateSqlObjectException.html new file mode 100644 index 00000000000..a6528de6e88 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/UnableToCreateSqlObjectException.html @@ -0,0 +1,195 @@ + + + + +UnableToCreateSqlObjectException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UnableToCreateSqlObjectException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
org.jdbi.v3.core.JdbiException +
org.jdbi.v3.sqlobject.UnableToCreateSqlObjectException
+
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class UnableToCreateSqlObjectException +extends JdbiException
+
Thrown when constructing a SqlObject fails.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UnableToCreateSqlObjectException

      +
      +
      public UnableToCreateSqlObjectException(String message)
      +
      +
      +
    • +
    • +
      +

      UnableToCreateSqlObjectException

      +
      +
      public UnableToCreateSqlObjectException(Throwable cause)
      +
      +
      +
    • +
    • +
      +

      UnableToCreateSqlObjectException

      +
      +
      public UnableToCreateSqlObjectException(String message, + Throwable cause)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/CreateSqlObject.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/CreateSqlObject.html new file mode 100644 index 00000000000..c3f27efc9df --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/CreateSqlObject.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.CreateSqlObject (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.CreateSqlObject

+
+No usage of org.jdbi.v3.sqlobject.CreateSqlObject
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/DecoratorOrder.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/DecoratorOrder.html new file mode 100644 index 00000000000..675207a3280 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/DecoratorOrder.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.DecoratorOrder (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.DecoratorOrder

+
+No usage of org.jdbi.v3.sqlobject.DecoratorOrder
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/GenerateSqlObject.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/GenerateSqlObject.html new file mode 100644 index 00000000000..7af9486a4cd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/GenerateSqlObject.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.GenerateSqlObject (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.GenerateSqlObject

+
+No usage of org.jdbi.v3.sqlobject.GenerateSqlObject
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/Handler.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/Handler.html new file mode 100644 index 00000000000..19f31ec8284 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/Handler.html @@ -0,0 +1,138 @@ + + + + +Uses of Interface org.jdbi.v3.sqlobject.Handler (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.sqlobject.Handler

+
+
Packages that use Handler
+
+
Package
+
Description
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/HandlerDecorator.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/HandlerDecorator.html new file mode 100644 index 00000000000..8a76d3dd3ac --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/HandlerDecorator.html @@ -0,0 +1,87 @@ + + + + +Uses of Interface org.jdbi.v3.sqlobject.HandlerDecorator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.sqlobject.HandlerDecorator

+
+
Packages that use HandlerDecorator
+
+
Package
+
Description
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/HandlerDecorators.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/HandlerDecorators.html new file mode 100644 index 00000000000..80a86a9e2cc --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/HandlerDecorators.html @@ -0,0 +1,92 @@ + + + + +Uses of Class org.jdbi.v3.sqlobject.HandlerDecorators (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.sqlobject.HandlerDecorators

+
+
Packages that use HandlerDecorators
+
+
Package
+
Description
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/HandlerFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/HandlerFactory.html new file mode 100644 index 00000000000..89f4cad8475 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/HandlerFactory.html @@ -0,0 +1,87 @@ + + + + +Uses of Interface org.jdbi.v3.sqlobject.HandlerFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.sqlobject.HandlerFactory

+
+
Packages that use HandlerFactory
+
+
Package
+
Description
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/Handlers.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/Handlers.html new file mode 100644 index 00000000000..5ce3b3955db --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/Handlers.html @@ -0,0 +1,92 @@ + + + + +Uses of Class org.jdbi.v3.sqlobject.Handlers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.sqlobject.Handlers

+
+
Packages that use Handlers
+
+
Package
+
Description
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SingleValue.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SingleValue.html new file mode 100644 index 00000000000..9ce4635f00c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SingleValue.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.SingleValue (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.SingleValue

+
+No usage of org.jdbi.v3.sqlobject.SingleValue
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlMethodDecoratingAnnotation.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlMethodDecoratingAnnotation.html new file mode 100644 index 00000000000..e8b45a2333c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlMethodDecoratingAnnotation.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.SqlMethodDecoratingAnnotation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.SqlMethodDecoratingAnnotation

+
+No usage of org.jdbi.v3.sqlobject.SqlMethodDecoratingAnnotation
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObject.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObject.html new file mode 100644 index 00000000000..00f6fb19e9b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObject.html @@ -0,0 +1,88 @@ + + + + +Uses of Interface org.jdbi.v3.sqlobject.SqlObject (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.sqlobject.SqlObject

+
+
Packages that use SqlObject
+
+
Package
+
Description
+ +
+
+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObjectFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObjectFactory.html new file mode 100644 index 00000000000..1269a7401a5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObjectFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.sqlobject.SqlObjectFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.sqlobject.SqlObjectFactory

+
+No usage of org.jdbi.v3.sqlobject.SqlObjectFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObjectPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObjectPlugin.html new file mode 100644 index 00000000000..15cf0085e76 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObjectPlugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.sqlobject.SqlObjectPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.sqlobject.SqlObjectPlugin

+
+No usage of org.jdbi.v3.sqlobject.SqlObjectPlugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObjects.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObjects.html new file mode 100644 index 00000000000..24a1ed96b15 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlObjects.html @@ -0,0 +1,94 @@ + + + + +Uses of Class org.jdbi.v3.sqlobject.SqlObjects (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.sqlobject.SqlObjects

+
+
Packages that use SqlObjects
+
+
Package
+
Description
+ +
+
SQL Objects
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlOperation.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlOperation.html new file mode 100644 index 00000000000..d24b579f555 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/SqlOperation.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.SqlOperation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.SqlOperation

+
+No usage of org.jdbi.v3.sqlobject.SqlOperation
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/UnableToCreateSqlObjectException.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/UnableToCreateSqlObjectException.html new file mode 100644 index 00000000000..72dfdf6d90b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/class-use/UnableToCreateSqlObjectException.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.sqlobject.UnableToCreateSqlObjectException (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.sqlobject.UnableToCreateSqlObjectException

+
+No usage of org.jdbi.v3.sqlobject.UnableToCreateSqlObjectException
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/Configurer.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/Configurer.html new file mode 100644 index 00000000000..8e01e9cf2de --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/Configurer.html @@ -0,0 +1,123 @@ + + + + +Configurer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface Configurer

+
+
+
+
+
All Superinterfaces:
+
ExtensionConfigurer
+
+
+
@Deprecated +public interface Configurer +extends ExtensionConfigurer
+
Deprecated. +
Use ExtensionConfigurer directly.
+
+
Configures ConfigRegistry instances to satisfy the contract of a + ConfiguringAnnotation-annotated annotation.
+
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/ConfiguringAnnotation.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/ConfiguringAnnotation.html new file mode 100644 index 00000000000..5cd7b8e6f7f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/ConfiguringAnnotation.html @@ -0,0 +1,150 @@ + + + + +ConfiguringAnnotation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type ConfiguringAnnotation

+
+
+
+
+
@Retention(RUNTIME) +@Target(ANNOTATION_TYPE) +@Deprecated +public @interface ConfiguringAnnotation
+
Deprecated. + +
+
Annotation used to modify configuration in the context of a SQL object or method. Use this to annotate an annotation.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    +
    Class<? extends Configurer>
    + +
    +
    Deprecated.
    +
    A Configurer type, which will be used to configure ConfigRegistry instances.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/KeyColumn.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/KeyColumn.html new file mode 100644 index 00000000000..e396d019aad --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/KeyColumn.html @@ -0,0 +1,150 @@ + + + + +KeyColumn (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type KeyColumn

+
+
+
+
+
@Target(METHOD) +@Retention(RUNTIME) +public @interface KeyColumn
+
Configures the column to use for map keys, for SQL methods that return Map, or Guava's Multimap. +

Example:

+
+ @SqlQuery("select * from user")
+ @KeyColumn("id")
+ Map<Long, User> getUsersById();
+ 
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    Returns the column name to use for map keys.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      Returns the column name to use for map keys.
      +
      +
      Returns:
      +
      The column name to use for map keys.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterArgumentFactories.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterArgumentFactories.html new file mode 100644 index 00000000000..56f24238f85 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterArgumentFactories.html @@ -0,0 +1,136 @@ + + + + +RegisterArgumentFactories (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterArgumentFactories

+
+
+
+
+
@Target({TYPE,METHOD}) +@Retention(RUNTIME) +public @interface RegisterArgumentFactories
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterArgumentFactory.html new file mode 100644 index 00000000000..3a34baa6e21 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterArgumentFactory.html @@ -0,0 +1,146 @@ + + + + +RegisterArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterArgumentFactory

+
+
+
+
+
@Target({TYPE,METHOD}) +@Retention(RUNTIME) +@Repeatable(RegisterArgumentFactories.class) +public @interface RegisterArgumentFactory
+
Used to register an argument factory with either a sql object type or for a specific method. + This annotation may be repeated to register multiple argument factories.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    The argument factory classes to register
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends ArgumentFactory> value
      +
      The argument factory classes to register
      +
      +
      Returns:
      +
      one or more argument factory classes.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterBeanMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterBeanMapper.html new file mode 100644 index 00000000000..b4afb87df80 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterBeanMapper.html @@ -0,0 +1,179 @@ + + + + +RegisterBeanMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterBeanMapper

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +@Repeatable(RegisterBeanMappers.class) +public @interface RegisterBeanMapper
+
Registers a BeanMapper for a specific bean class
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    The mapped bean class.
    +
    +
    +
    +
  • + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    Column name prefix for the bean type.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<?> value
      +
      The mapped bean class.
      +
      +
      Returns:
      +
      the mapped bean class.
      +
      +
      +
      +
    • +
    • +
      +

      prefix

      +
      +
      String prefix
      +
      Column name prefix for the bean type. If omitted, defaults to no prefix.
      +
      +
      Returns:
      +
      Column name prefix for the bean type.
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterBeanMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterBeanMappers.html new file mode 100644 index 00000000000..739ba5a08cc --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterBeanMappers.html @@ -0,0 +1,136 @@ + + + + +RegisterBeanMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterBeanMappers

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface RegisterBeanMappers
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterCollector.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterCollector.html new file mode 100644 index 00000000000..93e3d183d51 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterCollector.html @@ -0,0 +1,144 @@ + + + + +RegisterCollector (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterCollector

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface RegisterCollector
+
Registers specifically one collector for a sql object type
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    +
    Class<? extends Collector<?,?,?>>
    + +
    +
    The collector instance to register
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends Collector<?,?,?>> value
      +
      The collector instance to register
      +
      +
      Returns:
      +
      the collector instance
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterCollectorFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterCollectorFactory.html new file mode 100644 index 00000000000..be9ef9c258f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterCollectorFactory.html @@ -0,0 +1,139 @@ + + + + +RegisterCollectorFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterCollectorFactory

+
+
+
+
+
@Target({METHOD,TYPE}) +@Retention(RUNTIME) +public @interface RegisterCollectorFactory
+
Used to register a collector factory on the current + SqlStatement either for a sql object type + or for a method.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMapper.html new file mode 100644 index 00000000000..d6a3666bd2f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMapper.html @@ -0,0 +1,145 @@ + + + + +RegisterColumnMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterColumnMapper

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +@Repeatable(RegisterColumnMappers.class) +public @interface RegisterColumnMapper
+
Registers a column mapper in the scope of a SQL Object type or method.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    +
    Class<? extends ColumnMapper<?>>
    + +
    +
    The column mapper class to register
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends ColumnMapper<?>> value
      +
      The column mapper class to register
      +
      +
      Returns:
      +
      the column mapper class
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMapperFactories.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMapperFactories.html new file mode 100644 index 00000000000..3722a813154 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMapperFactories.html @@ -0,0 +1,136 @@ + + + + +RegisterColumnMapperFactories (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterColumnMapperFactories

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface RegisterColumnMapperFactories
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMapperFactory.html new file mode 100644 index 00000000000..b007b801e2b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMapperFactory.html @@ -0,0 +1,145 @@ + + + + +RegisterColumnMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterColumnMapperFactory

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +@Repeatable(RegisterColumnMapperFactories.class) +public @interface RegisterColumnMapperFactory
+
Registers a column mapper factory in the scope of a SQL Object type or method.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    The column mapper factory class to register
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends ColumnMapperFactory> value
      +
      The column mapper factory class to register
      +
      +
      Returns:
      +
      the column mapper factory class
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMappers.html new file mode 100644 index 00000000000..f53c07bee9b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterColumnMappers.html @@ -0,0 +1,136 @@ + + + + +RegisterColumnMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterColumnMappers

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface RegisterColumnMappers
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterConstructorMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterConstructorMapper.html new file mode 100644 index 00000000000..fc2024fca50 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterConstructorMapper.html @@ -0,0 +1,179 @@ + + + + +RegisterConstructorMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterConstructorMapper

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +@Repeatable(RegisterConstructorMappers.class) +public @interface RegisterConstructorMapper
+
Registers a constructor mapper factory for the given type(s).
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    The mapped type.
    +
    +
    +
    +
  • + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    Column name prefix for the mapped type.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<?> value
      +
      The mapped type.
      +
      +
      Returns:
      +
      the mapped type.
      +
      +
      +
      +
    • +
    • +
      +

      prefix

      +
      +
      String prefix
      +
      Column name prefix for the mapped type. If omitted, defaults to no prefix.
      +
      +
      Returns:
      +
      Column name prefix for the mapped type.
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterConstructorMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterConstructorMappers.html new file mode 100644 index 00000000000..795ba6d9873 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterConstructorMappers.html @@ -0,0 +1,136 @@ + + + + +RegisterConstructorMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterConstructorMappers

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface RegisterConstructorMappers
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterFieldMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterFieldMapper.html new file mode 100644 index 00000000000..a3395035911 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterFieldMapper.html @@ -0,0 +1,179 @@ + + + + +RegisterFieldMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterFieldMapper

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +@Repeatable(RegisterFieldMappers.class) +public @interface RegisterFieldMapper
+
Register types to reflectively assign fields with FieldMapper.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    The type to map with FieldMapper.
    +
    +
    +
    +
  • + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    Column name prefix for the mapped type.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<?> value
      +
      The type to map with FieldMapper.
      +
      +
      Returns:
      +
      the mapped type.
      +
      +
      +
      +
    • +
    • +
      +

      prefix

      +
      +
      String prefix
      +
      Column name prefix for the mapped type. If omitted, defaults to no prefix.
      +
      +
      Returns:
      +
      Column name prefix for the mapped type.
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterFieldMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterFieldMappers.html new file mode 100644 index 00000000000..db381f25049 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterFieldMappers.html @@ -0,0 +1,136 @@ + + + + +RegisterFieldMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterFieldMappers

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface RegisterFieldMappers
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterJoinRowMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterJoinRowMapper.html new file mode 100644 index 00000000000..ebd86d5aec3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterJoinRowMapper.html @@ -0,0 +1,145 @@ + + + + +RegisterJoinRowMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterJoinRowMapper

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface RegisterJoinRowMapper
+
Used to register a JoinRowMapper factory. Will attempt to map all + types given in the annotation declaration.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    +
    Class<?>[]
    + +
    +
    Returns the types that will be available on the JoinRows returned.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<?>[] value
      +
      Returns the types that will be available on the JoinRows returned.
      +
      +
      Returns:
      +
      The types that will be available on the JoinRows returned.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterObjectArgumentFactories.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterObjectArgumentFactories.html new file mode 100644 index 00000000000..c6cf62163ac --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterObjectArgumentFactories.html @@ -0,0 +1,136 @@ + + + + +RegisterObjectArgumentFactories (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterObjectArgumentFactories

+
+
+
+
+
@Target({TYPE,METHOD}) +@Retention(RUNTIME) +public @interface RegisterObjectArgumentFactories
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterObjectArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterObjectArgumentFactory.html new file mode 100644 index 00000000000..3dd865d7c34 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterObjectArgumentFactory.html @@ -0,0 +1,180 @@ + + + + +RegisterObjectArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterObjectArgumentFactory

+
+
+
+
+
@Target({TYPE,METHOD}) +@Retention(RUNTIME) +@Repeatable(RegisterObjectArgumentFactories.class) +public @interface RegisterObjectArgumentFactory
+
Registers an argument factory for a type compatible with + PreparedStatement.setObject(int, Object).
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    The argument type which is compatible with PreparedStatement.setObject(int, Object).
    +
    +
    +
    +
  • + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    +
    int
    + +
    +
    SQL type constant from Types.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<?> value
      +
      The argument type which is compatible with PreparedStatement.setObject(int, Object).
      +
      +
      Returns:
      +
      the argument type
      +
      +
      +
      +
    • +
    • +
      +

      sqlType

      +
      +
      int sqlType
      +
      SQL type constant from Types. If omitted, defaults to not setting a type.
      +
      +
      Returns:
      +
      SQL type constant from Types.
      +
      +
      +
      Default:
      +
      -2147483648
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMapper.html new file mode 100644 index 00000000000..252d8d00b8c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMapper.html @@ -0,0 +1,145 @@ + + + + +RegisterRowMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterRowMapper

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +@Repeatable(RegisterRowMappers.class) +public @interface RegisterRowMapper
+
Register a row mapper in the context of a SQL Object type or method.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    +
    Class<? extends RowMapper<?>>
    + +
    +
    The row mapper class to register
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends RowMapper<?>> value
      +
      The row mapper class to register
      +
      +
      Returns:
      +
      the row mapper class
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMapperFactories.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMapperFactories.html new file mode 100644 index 00000000000..3e122fda118 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMapperFactories.html @@ -0,0 +1,136 @@ + + + + +RegisterRowMapperFactories (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterRowMapperFactories

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface RegisterRowMapperFactories
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMapperFactory.html new file mode 100644 index 00000000000..44621ea1f7a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMapperFactory.html @@ -0,0 +1,138 @@ + + + + +RegisterRowMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterRowMapperFactory

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +@Repeatable(RegisterRowMapperFactories.class) +public @interface RegisterRowMapperFactory
+
Registers a row mapper factory in the scope of a SQL Object type or method.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMappers.html new file mode 100644 index 00000000000..bb9a65fd1ab --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/RegisterRowMappers.html @@ -0,0 +1,136 @@ + + + + +RegisterRowMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type RegisterRowMappers

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface RegisterRowMappers
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/UseEnumStrategy.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/UseEnumStrategy.html new file mode 100644 index 00000000000..947aef89309 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/UseEnumStrategy.html @@ -0,0 +1,147 @@ + + + + +UseEnumStrategy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseEnumStrategy

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface UseEnumStrategy
+
Use the specified EnumStrategy for binding and mapping enum + values.
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/UseSqlParser.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/UseSqlParser.html new file mode 100644 index 00000000000..1d4265b9805 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/UseSqlParser.html @@ -0,0 +1,150 @@ + + + + +UseSqlParser (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseSqlParser

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface UseSqlParser
+
Use the specified SqlParser class to parse SQL for the annotated SQL object class or method. The + given SqlParser class must have a public constructor with any of the following signatures: +
    +
  • RewriterClass() // no arguments
  • +
  • RewriterClass(Class)
  • +
  • RewriterClass(Class,Method)
  • +
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    +
    Class<? extends SqlParser>
    + +
    +
    Specify the SqlParser class to use.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends SqlParser> value
      +
      Specify the SqlParser class to use.
      +
      +
      Returns:
      +
      the SqlParser class to use.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/UseTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/UseTemplateEngine.html new file mode 100644 index 00000000000..41451a224d4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/UseTemplateEngine.html @@ -0,0 +1,151 @@ + + + + +UseTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseTemplateEngine

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface UseTemplateEngine
+
Use the specified TemplateEngine class to render SQL for the + annotated SQL object class or method. The given TemplateEngine class + must have a public constructor with any of the following signatures: +
    +
  • MyTemplateEngine() // no arguments
  • +
  • MyTemplateEngine(Class)
  • +
  • MyTemplateEngine(Class,Method)
  • +
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    Specify the TemplateEngine class to use.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends TemplateEngine> value
      +
      Specify the TemplateEngine class to use.
      +
      +
      Returns:
      +
      the TemplateEngine class to use.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/ValueColumn.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/ValueColumn.html new file mode 100644 index 00000000000..19cec4d4aad --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/ValueColumn.html @@ -0,0 +1,151 @@ + + + + +ValueColumn (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type ValueColumn

+
+
+
+
+
@Target(METHOD) +@Retention(RUNTIME) +public @interface ValueColumn
+
Configures the column to use for map values, for SQL methods that return Map, or Guava's Multimap. +

Example:

+
+ @SqlQuery("select key, value from config")
+ @KeyColumn("key")
+ @ValueColumn("value")
+ Map<String, String> getConfigs();
+ 
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    Returns the column name to use for map values.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      Returns the column name to use for map values.
      +
      +
      Returns:
      +
      the column name to use for map values.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/Configurer.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/Configurer.html new file mode 100644 index 00000000000..86a7d5cbe15 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/Configurer.html @@ -0,0 +1,57 @@ + + + + +Uses of Interface org.jdbi.v3.sqlobject.config.Configurer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.sqlobject.config.Configurer

+
+No usage of org.jdbi.v3.sqlobject.config.Configurer
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/ConfiguringAnnotation.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/ConfiguringAnnotation.html new file mode 100644 index 00000000000..2fac2aaed36 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/ConfiguringAnnotation.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.ConfiguringAnnotation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.ConfiguringAnnotation

+
+No usage of org.jdbi.v3.sqlobject.config.ConfiguringAnnotation
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/KeyColumn.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/KeyColumn.html new file mode 100644 index 00000000000..ea1201a304c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/KeyColumn.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.KeyColumn (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.KeyColumn

+
+No usage of org.jdbi.v3.sqlobject.config.KeyColumn
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterArgumentFactories.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterArgumentFactories.html new file mode 100644 index 00000000000..b31eca1759e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterArgumentFactories.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterArgumentFactories (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterArgumentFactories

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterArgumentFactories
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterArgumentFactory.html new file mode 100644 index 00000000000..7f8d15f8518 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterArgumentFactory

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterBeanMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterBeanMapper.html new file mode 100644 index 00000000000..40ad3a8da68 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterBeanMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterBeanMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterBeanMapper

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterBeanMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterBeanMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterBeanMappers.html new file mode 100644 index 00000000000..76c5e0a228f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterBeanMappers.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterBeanMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterBeanMappers

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterBeanMappers
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterCollector.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterCollector.html new file mode 100644 index 00000000000..78b8ff4a616 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterCollector.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterCollector (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterCollector

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterCollector
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterCollectorFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterCollectorFactory.html new file mode 100644 index 00000000000..9e34d967c8f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterCollectorFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterCollectorFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterCollectorFactory

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterCollectorFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMapper.html new file mode 100644 index 00000000000..357d52dfd86 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterColumnMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterColumnMapper

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterColumnMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMapperFactories.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMapperFactories.html new file mode 100644 index 00000000000..8d94d4892a0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMapperFactories.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterColumnMapperFactories (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterColumnMapperFactories

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterColumnMapperFactories
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMapperFactory.html new file mode 100644 index 00000000000..c78e2034ef5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMapperFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterColumnMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterColumnMapperFactory

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterColumnMapperFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMappers.html new file mode 100644 index 00000000000..c5a8c77f720 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterColumnMappers.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterColumnMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterColumnMappers

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterColumnMappers
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterConstructorMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterConstructorMapper.html new file mode 100644 index 00000000000..99eb5298a7d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterConstructorMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterConstructorMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterConstructorMapper

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterConstructorMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterConstructorMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterConstructorMappers.html new file mode 100644 index 00000000000..6d02259f498 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterConstructorMappers.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterConstructorMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterConstructorMappers

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterConstructorMappers
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterFieldMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterFieldMapper.html new file mode 100644 index 00000000000..56cd8b7e0e5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterFieldMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterFieldMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterFieldMapper

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterFieldMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterFieldMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterFieldMappers.html new file mode 100644 index 00000000000..0c347d7acc8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterFieldMappers.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterFieldMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterFieldMappers

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterFieldMappers
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterJoinRowMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterJoinRowMapper.html new file mode 100644 index 00000000000..4fa39d7f67d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterJoinRowMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterJoinRowMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterJoinRowMapper

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterJoinRowMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterObjectArgumentFactories.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterObjectArgumentFactories.html new file mode 100644 index 00000000000..3f2d5996efd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterObjectArgumentFactories.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterObjectArgumentFactories (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterObjectArgumentFactories

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterObjectArgumentFactories
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterObjectArgumentFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterObjectArgumentFactory.html new file mode 100644 index 00000000000..535bf873126 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterObjectArgumentFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterObjectArgumentFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterObjectArgumentFactory

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterObjectArgumentFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMapper.html new file mode 100644 index 00000000000..4a4f01c4482 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterRowMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterRowMapper

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterRowMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMapperFactories.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMapperFactories.html new file mode 100644 index 00000000000..29447c46130 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMapperFactories.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterRowMapperFactories (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterRowMapperFactories

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterRowMapperFactories
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMapperFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMapperFactory.html new file mode 100644 index 00000000000..31d6a86bc0c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMapperFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterRowMapperFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterRowMapperFactory

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterRowMapperFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMappers.html new file mode 100644 index 00000000000..0953568922b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/RegisterRowMappers.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.RegisterRowMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.RegisterRowMappers

+
+No usage of org.jdbi.v3.sqlobject.config.RegisterRowMappers
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/UseEnumStrategy.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/UseEnumStrategy.html new file mode 100644 index 00000000000..36b20be2073 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/UseEnumStrategy.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.UseEnumStrategy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.UseEnumStrategy

+
+No usage of org.jdbi.v3.sqlobject.config.UseEnumStrategy
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/UseSqlParser.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/UseSqlParser.html new file mode 100644 index 00000000000..f3647499281 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/UseSqlParser.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.UseSqlParser (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.UseSqlParser

+
+No usage of org.jdbi.v3.sqlobject.config.UseSqlParser
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/UseTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/UseTemplateEngine.html new file mode 100644 index 00000000000..e03165666c4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/UseTemplateEngine.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.UseTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.UseTemplateEngine

+
+No usage of org.jdbi.v3.sqlobject.config.UseTemplateEngine
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/ValueColumn.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/ValueColumn.html new file mode 100644 index 00000000000..d30e1c0433c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/class-use/ValueColumn.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.config.ValueColumn (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.config.ValueColumn

+
+No usage of org.jdbi.v3.sqlobject.config.ValueColumn
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/package-summary.html new file mode 100644 index 00000000000..8c35173f9e1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/package-summary.html @@ -0,0 +1,238 @@ + + + + +org.jdbi.v3.sqlobject.config (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.sqlobject.config

+
+
+
+
package org.jdbi.v3.sqlobject.config
+
+

+ The sqlobject.config package defines configuration annotations + that modify the Jdbi configuration used as the context for executing + SqlObject methods, such as registering handled types. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/package-tree.html new file mode 100644 index 00000000000..898ba01fc31 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/package-tree.html @@ -0,0 +1,103 @@ + + + + +org.jdbi.v3.sqlobject.config Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.sqlobject.config

+
+Package Hierarchies: + +
+

Interface Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/package-use.html new file mode 100644 index 00000000000..fac609fa9f9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/config/package-use.html @@ -0,0 +1,57 @@ + + + + +Uses of Package org.jdbi.v3.sqlobject.config (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.sqlobject.config

+
+No usage of org.jdbi.v3.sqlobject.config
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/AllowUnusedBindings.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/AllowUnusedBindings.html new file mode 100644 index 00000000000..4849be80c8b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/AllowUnusedBindings.html @@ -0,0 +1,149 @@ + + + + +AllowUnusedBindings (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type AllowUnusedBindings

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface AllowUnusedBindings
+
Suppresses error when bindings are created but never used in the query.
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    +
    boolean
    + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      boolean value
      +
      +
      Default:
      +
      true
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Bind.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Bind.html new file mode 100644 index 00000000000..e91cefeabb2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Bind.html @@ -0,0 +1,188 @@ + + + + +Bind (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type Bind

+
+
+
+
+
@Retention(RUNTIME) +@Target(PARAMETER) +public @interface Bind
+
Binds the annotated argument as a named parameter, and as a positional parameter.
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final String
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    The name to bind the argument to.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      The name to bind the argument to. If omitted, the name of the annotated parameter is used. It is an + error to omit the name when there is no parameter naming information in your class files.
      +
      +
      Returns:
      +
      the name to which the argument will be bound.
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindBean.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindBean.html new file mode 100644 index 00000000000..9257ad09384 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindBean.html @@ -0,0 +1,149 @@ + + + + +BindBean (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type BindBean

+
+
+
+
+
@Retention(RUNTIME) +@Target(PARAMETER) +public @interface BindBean
+
Binds the properties of a JavaBean to a SQL statement.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    Prefix to apply to each bean property.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      Prefix to apply to each bean property. If specified, properties will be bound as + prefix.propertyName.
      +
      +
      Returns:
      +
      the prefix
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindBeanList.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindBeanList.html new file mode 100644 index 00000000000..7a657b8c198 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindBeanList.html @@ -0,0 +1,190 @@ + + + + +BindBeanList (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type BindBeanList

+
+
+
+
+
@Retention(RUNTIME) +@Target(PARAMETER) +public @interface BindBeanList
+
Binds each property for each value in the annotated Iterable or array/varargs argument, + and defines a named attribute as a comma-separated list of each bound parameter name. + + Used to create query similar to: + select * from things where (id, name) in ((1,'abc'),(2,'def'),(3,'ghi')) + +
+ @SqlQuery("select * from things where (id, name) in (<keys>)")
+ List<Thing> getThings(@BindBeanList(value = "keys", propertyNames = {"id", "name"}) ThingKey... thingKeys)
+ 
+

+ Throws IllegalArgumentException if the argument is not an array or Iterable.

+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    The list of properties to invoke on each element in the argument
    +
    +
    +
    +
  • + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    The attribute name to define.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      The attribute name to define. If omitted, the name of the annotated parameter is used. It is an error to omit + the name when there is no parameter naming information in your class files.
      +
      +
      Returns:
      +
      the attribute name.
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    • +
      +

      propertyNames

      +
      +
      String[] propertyNames
      +
      The list of properties to invoke on each element in the argument
      +
      +
      Returns:
      +
      the property names
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindFields.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindFields.html new file mode 100644 index 00000000000..57fff99553b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindFields.html @@ -0,0 +1,149 @@ + + + + +BindFields (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type BindFields

+
+
+
+
+
@Retention(RUNTIME) +@Target(PARAMETER) +public @interface BindFields
+
Binds the properties and public fields of an object to a SQL statement.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    Prefix to apply to each bean field name.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      Prefix to apply to each bean field name. If specified, fields will be bound as + prefix.propertyName.
      +
      +
      Returns:
      +
      the prefix
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindList.EmptyHandling.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindList.EmptyHandling.html new file mode 100644 index 00000000000..fe0c43ab1d9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindList.EmptyHandling.html @@ -0,0 +1,328 @@ + + + + +BindList.EmptyHandling (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum BindList.EmptyHandling

+
+
java.lang.Object +
java.lang.Enum<BindList.EmptyHandling> +
org.jdbi.v3.sqlobject.customizer.BindList.EmptyHandling
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<BindList.EmptyHandling>
+
+
+
Enclosing class:
+
BindList
+
+
+
public static enum BindList.EmptyHandling +extends Enum<BindList.EmptyHandling>
+
describes what needs to be done if the passed argument is null or empty
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static BindList.EmptyHandling[] values()
      +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum type, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static BindList.EmptyHandling valueOf(String name)
      +
      Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum type has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    • +
      +

      define

      +
      +
      @Deprecated +public void define(SqlStatement stmt, + String name)
      +
      Deprecated. +
      legacy internal API
      +
      +
      +
      +
    • +
    • +
      +

      getCoreImpl

      +
      +
      public EmptyHandling getCoreImpl()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindList.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindList.html new file mode 100644 index 00000000000..ee260d2f0ab --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindList.html @@ -0,0 +1,204 @@ + + + + +BindList (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type BindList

+
+
+
+
+
@Retention(RUNTIME) +@Target(PARAMETER) +public @interface BindList
+
Binds each value in the annotated Iterable or array/varargs argument, and defines a named attribute as a + comma-separated list of each bound parameter name. Common use cases: +
+ @SqlQuery("select * from things where id in (<ids>)")
+ List<Thing> getThings(@BindList int... ids)
+
+ @SqlUpdate("insert into things (<columnNames>) values (<values>)")
+ void insertThings(@DefineList List<String> columnNames, @BindList List<Object> values)
+ 
+

+ Throws IllegalArgumentException if the argument is not an array or Iterable. How null and empty collections are handled can be configured with onEmpty:EmptyHandling - throws IllegalArgumentException by default.

+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    Nested Classes
    +
    +
    Modifier and Type
    +
    Class
    +
    Description
    +
    static enum 
    + +
    +
    describes what needs to be done if the passed argument is null or empty
    +
    +
    +
    +
  • + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    What to do when the argument is null or empty.
    +
    + + +
    +
    The attribute name to define.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      The attribute name to define. If omitted, the name of the annotated parameter is used. It is an error to omit + the name when there is no parameter naming information in your class files.
      +
      +
      Returns:
      +
      the attribute name.
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    • +
      +

      onEmpty

      +
      + +
      What to do when the argument is null or empty.
      +
      +
      Returns:
      +
      The strategy for handling an empty list. By default, throw an IllegalArgumentException.
      +
      See Also:
      +
      + +
      +
      +
      +
      Default:
      +
      THROW
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindMap.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindMap.html new file mode 100644 index 00000000000..a3990a9fa2b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindMap.html @@ -0,0 +1,195 @@ + + + + +BindMap (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type BindMap

+
+
+
+
+
@Retention(RUNTIME) +@Target(PARAMETER) +public @interface BindMap
+
Binds the entries of a Map<String, Object> to a SQL statement.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    +
    boolean
    + +
    +
    Whether to automatically convert map keys to strings.
    +
    + + +
    +
    The set of map keys to bind.
    +
    + + +
    +
    Prefix to apply to each map key.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      Prefix to apply to each map key. If specified, map keys will be bound as prefix.key.
      +
      +
      Returns:
      +
      the prefix
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    • +
      +

      keys

      +
      +
      String[] keys
      +
      The set of map keys to bind. If specified, binds only the specified keys; any keys present in this property but + absent from the map will be bound as null. If not specified, all map entries are bound.
      +
      +
      Returns:
      +
      the map keys to bind.
      +
      +
      +
      Default:
      +
      {}
      +
      +
      +
      +
    • +
    • +
      +

      convertKeys

      +
      +
      boolean convertKeys
      +
      Whether to automatically convert map keys to strings. + If false, Map keys must be strings, or an exception is thrown. + If true, any object may be the key, and it will be converted with Object.toString().
      +
      +
      Returns:
      +
      whether keys will be implicitly converted to Strings.
      +
      +
      +
      Default:
      +
      false
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindMethods.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindMethods.html new file mode 100644 index 00000000000..8ceb8bc5aff --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindMethods.html @@ -0,0 +1,148 @@ + + + + +BindMethods (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type BindMethods

+
+
+
+
+
@Retention(RUNTIME) +@Target(PARAMETER) +public @interface BindMethods
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    Prefix to apply to each fluent accessor name.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      Prefix to apply to each fluent accessor name. If specified, properties will be bound as + prefix.accessorName.
      +
      +
      Returns:
      +
      the prefix
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindMethodsList.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindMethodsList.html new file mode 100644 index 00000000000..cc01ffef816 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindMethodsList.html @@ -0,0 +1,182 @@ + + + + +BindMethodsList (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type BindMethodsList

+
+
+
+
+
@Retention(RUNTIME) +@Target(PARAMETER) +public @interface BindMethodsList
+
Binds each method for each value in the annotated Iterable or array/varargs argument, + and defines a named attribute as a comma-separated list of each bound method name. + + Used to create query similar to: + insert into things (id, name) values (1,'abc'),(2,'def'),(3,'ghi') + +
+ @SqlQuery("insert into things (id, name) values <items>")
+ List<Thing> saveThings(@BindMethodsList(value = "items", methodNames = {"getId", "getName"}) Thing... things)
+ 
+

+ Throws IllegalArgumentException if the argument is not an array or Iterable.

+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    The list of methods to invoke on each element in the argument
    +
    + + +
    +
    The attribute name to define.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      The attribute name to define. If omitted, the name of the annotated parameter is used. It is an error to omit + the name when there is no parameter naming information in your class files.
      +
      +
      Returns:
      +
      the attribute name
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    • +
      +

      methodNames

      +
      +
      String[] methodNames
      +
      The list of methods to invoke on each element in the argument
      +
      +
      Returns:
      +
      the method names
      +
      +
      +
      Default:
      +
      {}
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindPojo.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindPojo.html new file mode 100644 index 00000000000..3aa071caf1c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/BindPojo.html @@ -0,0 +1,149 @@ + + + + +BindPojo (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type BindPojo

+
+
+
+
+
@Retention(RUNTIME) +@Target(PARAMETER) +public @interface BindPojo
+
Binds the properties of an object to a SQL statement.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    Prefix to apply to each property.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      Prefix to apply to each property. If specified, properties will be bound as + prefix.propertyName.
      +
      +
      Returns:
      +
      the prefix
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Define.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Define.html new file mode 100644 index 00000000000..2eeb5665d9b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Define.html @@ -0,0 +1,151 @@ + + + + +Define (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type Define

+
+
+
+
+
@Target(PARAMETER) +@Retention(RUNTIME) +public @interface Define
+
Defines a named attribute as the argument passed to the annotated parameter. + Attributes are stored on the StatementContext, and may be used by + statement customizers such as the template engine.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    The attribute name to define.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      The attribute name to define. If omitted, the name of the annotated parameter is used. It is an error to omit + the name when there is no parameter naming information in your class files.
      +
      +
      Returns:
      +
      the attribute name.
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/DefineList.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/DefineList.html new file mode 100644 index 00000000000..fe1efc6937a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/DefineList.html @@ -0,0 +1,184 @@ + + + + +DefineList (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type DefineList

+
+
+
+
+
@Retention(RUNTIME) +@Target(PARAMETER) +public @interface DefineList
+
Defines a named attribute as a comma-separated String from the + elements of the annotated array or List argument. Attributes are + stored on the StatementContext, and may be used by the template + engine. For example: + +
+ @SqlUpdate("insert into <table> (<columns>) values (<values>)")
+ int insert(@Define String table, @DefineList List<String> columns, @BindList List<Object> values);
+
+ @SqlQuery("select <columns> from <table> where id = :id")
+ ResultSet select(@DefineList("columns") List<String> columns, @Define("table") String table, @Bind("id") long id);
+ 
+ +

+ An array or List argument passed to @DefineList will be + converted to a comma-separated String and set as a whole as a single + specified attribute. Duplicate members in the List may cause SQL + exceptions. An empty List or null members in the + List will result in an IllegalArgumentException. +

+ +

+ Be aware of the list members you're binding with @DefineList, as there is no + input sanitization! Blindly passing Strings through + @DefineList may make your application vulnerable to SQL + Injection. +

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    The attribute name to define.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      The attribute name to define. If omitted, the name of the annotated + parameter is used. It is an error to omit the name when there is no + parameter naming information in your class files.
      +
      +
      Returns:
      +
      the attribute key
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/DefineNamedBindings.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/DefineNamedBindings.html new file mode 100644 index 00000000000..18c146cc24c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/DefineNamedBindings.html @@ -0,0 +1,108 @@ + + + + +DefineNamedBindings (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type DefineNamedBindings

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +@Beta +public @interface DefineNamedBindings
+
Defines all bound arguments that don't already have a definition.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Definition.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Definition.html new file mode 100644 index 00000000000..7513e67e83d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Definition.html @@ -0,0 +1,206 @@ + + + + +Definition (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type Definition

+
+
+
+
+
@Target({FIELD,METHOD,TYPE}) +@Retention(RUNTIME) +@Repeatable(Definitions.class) +@Beta +public @interface Definition
+

Annotate a SqlObject type, method, or field as @Definition in order to + define an attribute for all SqlObject methods in the same type.

+ +
    +
  • On a type, both the key and value must be specified.
  • +
  • On a method, the key defaults to the method name, + and the value will be the result of calling the method statically.
  • +
  • On a field, the key defaults to the field name, + and the value will be the result of getting the field value statically.
  • +
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final String
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
     
    + + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      key

      +
      +
      String key
      +
      +
      Default:
      +
      "__definition_undefined__"
      +
      +
      +
      +
    • +
    • +
      +

      value

      +
      +
      String value
      +
      +
      Default:
      +
      "__definition_undefined__"
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Definitions.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Definitions.html new file mode 100644 index 00000000000..35c46698d57 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Definitions.html @@ -0,0 +1,137 @@ + + + + +Definitions (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type Definitions

+
+
+
+
+
@Target({FIELD,METHOD,TYPE}) +@Retention(RUNTIME) +@Beta +public @interface Definitions
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/FetchSize.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/FetchSize.html new file mode 100644 index 00000000000..70d1fc938c2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/FetchSize.html @@ -0,0 +1,149 @@ + + + + +FetchSize (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type FetchSize

+
+
+
+
+
@Retention(RUNTIME) +@Target({METHOD,PARAMETER}) +public @interface FetchSize
+
Specify batch size to fetch resulting rows in.
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    +
    int
    + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      int value
      +
      +
      Default:
      +
      0
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/MaxRows.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/MaxRows.html new file mode 100644 index 00000000000..34ec5b5312e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/MaxRows.html @@ -0,0 +1,151 @@ + + + + +MaxRows (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type MaxRows

+
+
+
+
+
@Retention(RUNTIME) +@Target({METHOD,PARAMETER}) +public @interface MaxRows
+
Used to specify the maximum number of rows to return on a result set. Passes through to + setMaxRows on the JDBC prepared statement. + + This is significantly less efficient than a SQL LIMIT, be careful!
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    +
    int
    + +
    +
    The max number of rows to return from the query.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      int value
      +
      The max number of rows to return from the query.
      +
      +
      Returns:
      +
      the max rows
      +
      +
      +
      Default:
      +
      -1
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/OutParameter.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/OutParameter.html new file mode 100644 index 00000000000..7328503463c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/OutParameter.html @@ -0,0 +1,161 @@ + + + + +OutParameter (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type OutParameter

+
+
+
+
+
@Target(METHOD) +@Retention(RUNTIME) +@Repeatable(OutParameterList.class) +public @interface OutParameter
+
Declare a named out parameter on an @SqlCall annotated method. + Note that you *must* include the parameter name in the SQL text to + ensure that the binding is activated, this is a limitation that + may be fixed at a future date. + + Example usage, using PostgreSQL call syntax: +
+   handle.execute("CREATE FUNCTION set100(OUT outparam INT) AS $$ BEGIN outparam := 100; END; $$ LANGUAGE plpgsql");
+
+   @SqlCall("{call myStoredProc(:outparam)}")
+   @OutParameter(name="outparam", sqlType = Types.INTEGER)
+   OutParameters callStoredProc();
+ 
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    int
    + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      name

      +
      +
      String name
      +
      +
      +
    • +
    • +
      +

      sqlType

      +
      +
      int sqlType
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/OutParameterList.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/OutParameterList.html new file mode 100644 index 00000000000..85cd9f9fabb --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/OutParameterList.html @@ -0,0 +1,136 @@ + + + + +OutParameterList (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type OutParameterList

+
+
+
+
+
@Target(METHOD) +@Retention(RUNTIME) +public @interface OutParameterList
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/QueryTimeOut.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/QueryTimeOut.html new file mode 100644 index 00000000000..470fdbfe4f1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/QueryTimeOut.html @@ -0,0 +1,141 @@ + + + + +QueryTimeOut (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type QueryTimeOut

+
+
+
+
+
@Retention(RUNTIME) +@Target({METHOD,PARAMETER}) +public @interface QueryTimeOut
+
Specify the query timeout in seconds. May be used on a method or parameter, the parameter must be of an int type.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    +
    int
    + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      int value
      +
      +
      Default:
      +
      2147483647
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementCustomizer.html new file mode 100644 index 00000000000..668d4d65469 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementCustomizer.html @@ -0,0 +1,179 @@ + + + + +SqlStatementCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SqlStatementCustomizer

+
+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface SqlStatementCustomizer
+
Used with SqlStatementCustomizerFactory to + customize sql statements via annotations.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Invoked to customize the sql statement
    +
    +
    default void
    + +
    +
    Called after the customizer is instantiated but before any statement is available, + to pre-initialize any configuration data structures.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      void apply(SqlStatement<?> q) + throws SQLException
      +
      Invoked to customize the sql statement
      +
      +
      Parameters:
      +
      q - the statement being customized
      +
      Throws:
      +
      SQLException - will abort statement creation
      +
      +
      +
      +
    • +
    • +
      +

      warm

      +
      +
      default void warm(ConfigRegistry config)
      +
      Called after the customizer is instantiated but before any statement is available, + to pre-initialize any configuration data structures.
      +
      +
      Parameters:
      +
      config - the configuration registry to warm
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementCustomizerFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementCustomizerFactory.html new file mode 100644 index 00000000000..6de998c8f5c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementCustomizerFactory.html @@ -0,0 +1,217 @@ + + + + +SqlStatementCustomizerFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SqlStatementCustomizerFactory

+
+
+
+
+
public interface SqlStatementCustomizerFactory
+
Interface used in conjunction with SqlStatementCustomizingAnnotation to generate + SqlStatementCustomizer instances.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      createForType

      +
      +
      default SqlStatementCustomizer createForType(Annotation annotation, + Class<?> sqlObjectType)
      +
      Used to create customizers for annotations on sql object interfaces
      +
      +
      Parameters:
      +
      annotation - the annotation which lead to the method being called
      +
      sqlObjectType - sql object class (interface)
      +
      Returns:
      +
      the customizer which will be applied to the generated statement
      +
      +
      +
      +
    • +
    • +
      +

      createForMethod

      +
      +
      default SqlStatementCustomizer createForMethod(Annotation annotation, + Class<?> sqlObjectType, + Method method)
      +
      Used to create customizers for annotations on methods.
      +
      +
      Parameters:
      +
      annotation - the annotation which lead to the method being called
      +
      sqlObjectType - sql object class (interface)
      +
      method - the method which was annotated
      +
      Returns:
      +
      the customizer which will be applied to the generated statement
      +
      +
      +
      +
    • +
    • +
      +

      createForParameter

      +
      +
      default SqlStatementParameterCustomizer createForParameter(Annotation annotation, + Class<?> sqlObjectType, + Method method, + Parameter param, + int index, + Type paramType)
      +
      Used to create customizers for annotations on parameters
      +
      +
      Parameters:
      +
      annotation - the annotation which lead to the method being called
      +
      sqlObjectType - sql object class (interface)
      +
      method - the method which was annotated
      +
      param - the parameter which was annotated
      +
      index - the method parameter index
      +
      paramType - the type of the parameter
      +
      Returns:
      +
      the customizer which will be applied to the generated statement
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementCustomizingAnnotation.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementCustomizingAnnotation.html new file mode 100644 index 00000000000..7395945c075 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementCustomizingAnnotation.html @@ -0,0 +1,147 @@ + + + + +SqlStatementCustomizingAnnotation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type SqlStatementCustomizingAnnotation

+
+
+
+
+
@Retention(RUNTIME) +@Target(ANNOTATION_TYPE) +public @interface SqlStatementCustomizingAnnotation
+
Annotation used to build customizing annotations. Use this to annotate an annotation. See examples + in the org.jdbi.v3.sqlobject.customizer package.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
    +
    Specify a sql statement customizer factory which will be used to create + sql statement customizers.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      + +
      Specify a sql statement customizer factory which will be used to create + sql statement customizers.
      +
      +
      Returns:
      +
      a factory used to create customizers for the customizing annotation
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementParameterCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementParameterCustomizer.html new file mode 100644 index 00000000000..3899fc9e4f2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/SqlStatementParameterCustomizer.html @@ -0,0 +1,176 @@ + + + + +SqlStatementParameterCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SqlStatementParameterCustomizer

+
+
+
+
+
public interface SqlStatementParameterCustomizer
+
Customize a SqlStatement according to the value of an annotated parameter.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    apply(SqlStatement<?> stmt, + Object arg)
    +
    +
    Applies the customization to the SQL statement using the argument passed to the method.
    +
    +
    default void
    + +
    +
    Called after the customizer is instantiated but before any statement is available, + to pre-initialize any configuration data structures.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      void apply(SqlStatement<?> stmt, + Object arg) + throws SQLException
      +
      Applies the customization to the SQL statement using the argument passed to the method.
      +
      +
      Parameters:
      +
      stmt - the statement being customized
      +
      arg - the argument passed to the method
      +
      Throws:
      +
      SQLException - will abort statement creation
      +
      +
      +
      +
    • +
    • +
      +

      warm

      +
      +
      default void warm(ConfigRegistry config)
      +
      Called after the customizer is instantiated but before any statement is available, + to pre-initialize any configuration data structures.
      +
      +
      Parameters:
      +
      config - the configuration registry to warm
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Timestamped.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Timestamped.html new file mode 100644 index 00000000000..678d4c75cad --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/Timestamped.html @@ -0,0 +1,174 @@ + + + + +Timestamped (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type Timestamped

+
+
+
+
+
@Target(METHOD) +@Retention(RUNTIME) +@Documented +public @interface Timestamped
+
Binds the named parameter :now or a custom named parameter with + the current DateTime as an OffsetDateTime. + Common use cases: +
+ 
+ public interface PersonDAO {
+      @SqlUpdate("INSERT INTO people(id, firstName, lastName, email, created, modified) VALUES (:p.id, :p.firstName, :p.lastName, :p.email, :now, :now)")
+      @Timestamped
+      @GetGeneratedKeys
+      int insert(@BindBean("p") Person person);
+
+      @SqlUpdate("UPDATE people SET modified = :now, firstName = :p.firstName, lastName = :p.lastName, email = :p.email WHERE id = :p.id")
+      @Timestamped
+      void update(@BindBean("p") Person person);
+  }
+ 
+ 
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    The parameter to bind in the SQL query.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      The parameter to bind in the SQL query. If omitted, defaults to now + and can be changed to customize the parameter bound to the current DateTime.
      +
      +
      Returns:
      +
      the parameter name
      +
      +
      +
      Default:
      +
      "now"
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/TimestampedConfig.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/TimestampedConfig.html new file mode 100644 index 00000000000..77db955790b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/TimestampedConfig.html @@ -0,0 +1,234 @@ + + + + +TimestampedConfig (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class TimestampedConfig

+
+
java.lang.Object +
org.jdbi.v3.sqlobject.customizer.TimestampedConfig
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<TimestampedConfig>
+
+
+
public class TimestampedConfig +extends Object +implements JdbiConfig<TimestampedConfig>
+
Configuration for Timestamped.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TimestampedConfig

      +
      +
      public TimestampedConfig()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getTimezone

      +
      +
      public ZoneId getTimezone()
      +
      Returns the timezone used in the resulting OffsetDateTime.
      +
      +
      Returns:
      +
      The timezone used in the resulting OffsetDateTime
      +
      +
      +
      +
    • +
    • +
      +

      setTimezone

      +
      +
      public void setTimezone(ZoneId timezone)
      +
      Sets the timezone used for the conversion of OffsetDateTime objects.
      +
      +
      Parameters:
      +
      timezone - used in the resulting OffsetDateTime
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public TimestampedConfig createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<TimestampedConfig>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/AllowUnusedBindings.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/AllowUnusedBindings.html new file mode 100644 index 00000000000..e302b20ab63 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/AllowUnusedBindings.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.AllowUnusedBindings (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.AllowUnusedBindings

+
+No usage of org.jdbi.v3.sqlobject.customizer.AllowUnusedBindings
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Bind.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Bind.html new file mode 100644 index 00000000000..866bc642084 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Bind.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.Bind (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.Bind

+
+No usage of org.jdbi.v3.sqlobject.customizer.Bind
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindBean.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindBean.html new file mode 100644 index 00000000000..a310f24d61e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindBean.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.BindBean (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.BindBean

+
+No usage of org.jdbi.v3.sqlobject.customizer.BindBean
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindBeanList.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindBeanList.html new file mode 100644 index 00000000000..7912cc0875b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindBeanList.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.BindBeanList (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.BindBeanList

+
+No usage of org.jdbi.v3.sqlobject.customizer.BindBeanList
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindFields.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindFields.html new file mode 100644 index 00000000000..1534bb81413 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindFields.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.BindFields (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.BindFields

+
+No usage of org.jdbi.v3.sqlobject.customizer.BindFields
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindList.EmptyHandling.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindList.EmptyHandling.html new file mode 100644 index 00000000000..1e551092255 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindList.EmptyHandling.html @@ -0,0 +1,94 @@ + + + + +Uses of Enum org.jdbi.v3.sqlobject.customizer.BindList.EmptyHandling (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum
org.jdbi.v3.sqlobject.customizer.BindList.EmptyHandling

+
+
Packages that use BindList.EmptyHandling
+
+
Package
+
Description
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindList.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindList.html new file mode 100644 index 00000000000..7533c0f0133 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindList.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.BindList (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.BindList

+
+No usage of org.jdbi.v3.sqlobject.customizer.BindList
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindMap.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindMap.html new file mode 100644 index 00000000000..3a28df7c5e0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindMap.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.BindMap (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.BindMap

+
+No usage of org.jdbi.v3.sqlobject.customizer.BindMap
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindMethods.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindMethods.html new file mode 100644 index 00000000000..063497e5db2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindMethods.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.BindMethods (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.BindMethods

+
+No usage of org.jdbi.v3.sqlobject.customizer.BindMethods
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindMethodsList.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindMethodsList.html new file mode 100644 index 00000000000..3f2fb24f627 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindMethodsList.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.BindMethodsList (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.BindMethodsList

+
+No usage of org.jdbi.v3.sqlobject.customizer.BindMethodsList
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindPojo.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindPojo.html new file mode 100644 index 00000000000..c672bb01d19 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/BindPojo.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.BindPojo (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.BindPojo

+
+No usage of org.jdbi.v3.sqlobject.customizer.BindPojo
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Define.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Define.html new file mode 100644 index 00000000000..69e79493546 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Define.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.Define (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.Define

+
+No usage of org.jdbi.v3.sqlobject.customizer.Define
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/DefineList.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/DefineList.html new file mode 100644 index 00000000000..8434983fcca --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/DefineList.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.DefineList (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.DefineList

+
+No usage of org.jdbi.v3.sqlobject.customizer.DefineList
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/DefineNamedBindings.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/DefineNamedBindings.html new file mode 100644 index 00000000000..de2e7f3f93b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/DefineNamedBindings.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.DefineNamedBindings (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.DefineNamedBindings

+
+No usage of org.jdbi.v3.sqlobject.customizer.DefineNamedBindings
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Definition.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Definition.html new file mode 100644 index 00000000000..4bf66518fbf --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Definition.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.Definition (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.Definition

+
+No usage of org.jdbi.v3.sqlobject.customizer.Definition
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Definitions.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Definitions.html new file mode 100644 index 00000000000..76081e77e1f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Definitions.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.Definitions (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.Definitions

+
+No usage of org.jdbi.v3.sqlobject.customizer.Definitions
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/FetchSize.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/FetchSize.html new file mode 100644 index 00000000000..71d6bb45766 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/FetchSize.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.FetchSize (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.FetchSize

+
+No usage of org.jdbi.v3.sqlobject.customizer.FetchSize
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/MaxRows.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/MaxRows.html new file mode 100644 index 00000000000..0c8c84a709e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/MaxRows.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.MaxRows (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.MaxRows

+
+No usage of org.jdbi.v3.sqlobject.customizer.MaxRows
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/OutParameter.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/OutParameter.html new file mode 100644 index 00000000000..9bf43f9a08d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/OutParameter.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.OutParameter (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.OutParameter

+
+No usage of org.jdbi.v3.sqlobject.customizer.OutParameter
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/OutParameterList.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/OutParameterList.html new file mode 100644 index 00000000000..156a7b5b5fd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/OutParameterList.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.OutParameterList (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.OutParameterList

+
+No usage of org.jdbi.v3.sqlobject.customizer.OutParameterList
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/QueryTimeOut.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/QueryTimeOut.html new file mode 100644 index 00000000000..2c72def7032 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/QueryTimeOut.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.QueryTimeOut (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.QueryTimeOut

+
+No usage of org.jdbi.v3.sqlobject.customizer.QueryTimeOut
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementCustomizer.html new file mode 100644 index 00000000000..f080b4ecc01 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementCustomizer.html @@ -0,0 +1,96 @@ + + + + +Uses of Interface org.jdbi.v3.sqlobject.customizer.SqlStatementCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.sqlobject.customizer.SqlStatementCustomizer

+
+
Packages that use SqlStatementCustomizer
+
+
Package
+
Description
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementCustomizerFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementCustomizerFactory.html new file mode 100644 index 00000000000..448af299d76 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementCustomizerFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Interface org.jdbi.v3.sqlobject.customizer.SqlStatementCustomizerFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.sqlobject.customizer.SqlStatementCustomizerFactory

+
+No usage of org.jdbi.v3.sqlobject.customizer.SqlStatementCustomizerFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementCustomizingAnnotation.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementCustomizingAnnotation.html new file mode 100644 index 00000000000..777e8b9987c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementCustomizingAnnotation.html @@ -0,0 +1,224 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.SqlStatementCustomizingAnnotation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.SqlStatementCustomizingAnnotation

+
+ +
+
Package
+
Description
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+ +
+
+ The sqlobject.statement annotations declare the type of statement + that a SqlObject method should create, such as a @SqlQuery to return rows or a + @SqlUpdate to modify rows and return the modification count.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementParameterCustomizer.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementParameterCustomizer.html new file mode 100644 index 00000000000..7b6ec8b5947 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/SqlStatementParameterCustomizer.html @@ -0,0 +1,128 @@ + + + + +Uses of Interface org.jdbi.v3.sqlobject.customizer.SqlStatementParameterCustomizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.sqlobject.customizer.SqlStatementParameterCustomizer

+
+ +
+
Package
+
Description
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+ +
+
+ The sqlobject.statement annotations declare the type of statement + that a SqlObject method should create, such as a @SqlQuery to return rows or a + @SqlUpdate to modify rows and return the modification count.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Timestamped.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Timestamped.html new file mode 100644 index 00000000000..855d50ae10b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/Timestamped.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.customizer.Timestamped (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.customizer.Timestamped

+
+No usage of org.jdbi.v3.sqlobject.customizer.Timestamped
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/TimestampedConfig.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/TimestampedConfig.html new file mode 100644 index 00000000000..d36a0f3dfb6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/class-use/TimestampedConfig.html @@ -0,0 +1,86 @@ + + + + +Uses of Class org.jdbi.v3.sqlobject.customizer.TimestampedConfig (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.sqlobject.customizer.TimestampedConfig

+
+
Packages that use TimestampedConfig
+
+
Package
+
Description
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/package-summary.html new file mode 100644 index 00000000000..6df081bcb7f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/package-summary.html @@ -0,0 +1,251 @@ + + + + +org.jdbi.v3.sqlobject.customizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.sqlobject.customizer

+
+
+
+
package org.jdbi.v3.sqlobject.customizer
+
+

+ The sqlobject.customizer package provides annotations + that customize the execution of a statement. The most common utility + is binding parameters with @Bind but there are also miscellaneous + JDBC options supported here such as timeouts and fetch size. +

+
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    Suppresses error when bindings are created but never used in the query.
    +
    + +
    +
    Binds the annotated argument as a named parameter, and as a positional parameter.
    +
    + +
    +
    Binds the properties of a JavaBean to a SQL statement.
    +
    + +
    +
    Binds each property for each value in the annotated Iterable or array/varargs argument, + and defines a named attribute as a comma-separated list of each bound parameter name.
    +
    + +
    +
    Binds the properties and public fields of an object to a SQL statement.
    +
    + +
    +
    Binds each value in the annotated Iterable or array/varargs argument, and defines a named attribute as a + comma-separated list of each bound parameter name.
    +
    + +
    +
    describes what needs to be done if the passed argument is null or empty
    +
    + +
    +
    Binds the entries of a Map<String, Object> to a SQL statement.
    +
    + +
     
    + +
    +
    Binds each method for each value in the annotated Iterable or array/varargs argument, + and defines a named attribute as a comma-separated list of each bound method name.
    +
    + +
    +
    Binds the properties of an object to a SQL statement.
    +
    + +
    +
    Defines a named attribute as the argument passed to the annotated parameter.
    +
    + +
    +
    Defines a named attribute as a comma-separated String from the + elements of the annotated array or List argument.
    +
    + +
    +
    Defines all bound arguments that don't already have a definition.
    +
    + +
    +
    Annotate a SqlObject type, method, or field as @Definition in order to + define an attribute for all SqlObject methods in the same type.
    +
    + +
     
    + +
    +
    Specify batch size to fetch resulting rows in.
    +
    + +
    +
    Used to specify the maximum number of rows to return on a result set.
    +
    + +
    +
    Declare a named out parameter on an @SqlCall annotated method.
    +
    + +
     
    + +
    +
    Specify the query timeout in seconds.
    +
    + +
    +
    Used with SqlStatementCustomizerFactory to + customize sql statements via annotations.
    +
    + +
    +
    Interface used in conjunction with SqlStatementCustomizingAnnotation to generate + SqlStatementCustomizer instances.
    +
    + +
    +
    Annotation used to build customizing annotations.
    +
    + +
    +
    Customize a SqlStatement according to the value of an annotated parameter.
    +
    + +
    +
    Binds the named parameter :now or a custom named parameter with + the current DateTime as an OffsetDateTime.
    +
    + +
    +
    Configuration for Timestamped.
    +
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/package-tree.html new file mode 100644 index 00000000000..014edd3d00d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/package-tree.html @@ -0,0 +1,120 @@ + + + + +org.jdbi.v3.sqlobject.customizer Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.sqlobject.customizer

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+

Enum Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/package-use.html new file mode 100644 index 00000000000..57a31212115 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/customizer/package-use.html @@ -0,0 +1,145 @@ + + + + +Uses of Package org.jdbi.v3.sqlobject.customizer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.sqlobject.customizer

+
+ +
+
Package
+
Description
+ +
+
+ The jpa plugin provides minimal support for discovering JPA + annotations like Column.
+
+ +
+
+ The sqlobject.customizer package provides annotations + that customize the execution of a statement.
+
+ +
+
+ The sqlobject.statement annotations declare the type of statement + that a SqlObject method should create, such as a @SqlQuery to return rows or a + @SqlUpdate to modify rows and return the modification count.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/AnnotationSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/AnnotationSqlLocator.html new file mode 100644 index 00000000000..15b954838af --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/AnnotationSqlLocator.html @@ -0,0 +1,202 @@ + + + + +AnnotationSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AnnotationSqlLocator

+
+
java.lang.Object +
org.jdbi.v3.sqlobject.locator.AnnotationSqlLocator
+
+
+
+
+
All Implemented Interfaces:
+
SqlLocator
+
+
+
public class AnnotationSqlLocator +extends Object +implements SqlLocator
+
Locates SQL on the SQL method annotations like @SqlQuery("foo"). This is the default SqlLocator.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AnnotationSqlLocator

      +
      +
      public AnnotationSqlLocator()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      locate

      +
      +
      public String locate(Class<?> sqlObjectType, + Method method, + ConfigRegistry config)
      +
      Description copied from interface: SqlLocator
      +
      Locates and returns the SQL for the given SQL Object type and method.
      +
      +
      Specified by:
      +
      locate in interface SqlLocator
      +
      Parameters:
      +
      sqlObjectType - the SQL object type
      +
      method - the method
      +
      config - the config registry
      +
      Returns:
      +
      the SQL for the given method.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/SqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/SqlLocator.html new file mode 100644 index 00000000000..b2492ac713e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/SqlLocator.html @@ -0,0 +1,167 @@ + + + + +SqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SqlLocator

+
+
+
+
+
All Known Implementing Classes:
+
AnnotationSqlLocator, SqlObjectClasspathSqlLocator
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface SqlLocator
+
Locates SQL for jdbi SQL Object methods.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    locate(Class<?> sqlObjectType, + Method method, + ConfigRegistry config)
    +
    +
    Locates and returns the SQL for the given SQL Object type and method.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      locate

      +
      +
      String locate(Class<?> sqlObjectType, + Method method, + ConfigRegistry config)
      +
      Locates and returns the SQL for the given SQL Object type and method.
      +
      +
      Parameters:
      +
      sqlObjectType - the SQL object type
      +
      method - the method
      +
      config - the config registry
      +
      Returns:
      +
      the SQL for the given method.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/SqlObjectClasspathSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/SqlObjectClasspathSqlLocator.html new file mode 100644 index 00000000000..27b99f7641f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/SqlObjectClasspathSqlLocator.html @@ -0,0 +1,232 @@ + + + + +SqlObjectClasspathSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SqlObjectClasspathSqlLocator

+
+
java.lang.Object +
org.jdbi.v3.sqlobject.locator.SqlObjectClasspathSqlLocator
+
+
+
+
+
All Implemented Interfaces:
+
SqlLocator
+
+
+
public class SqlObjectClasspathSqlLocator +extends Object +implements SqlLocator
+
Locates SQL in .sql files on the classpath for use with SqlQuery. Given a class and method name, for example + com.foo.Bar#query, load a classpath resource name like com/foo/Bar/query.sql and use it with the annotation. The contents are then parsed, + cached, and returned for use by a statement.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SqlObjectClasspathSqlLocator

      +
      +
      public SqlObjectClasspathSqlLocator()
      +
      Creates a new SqlObjectClasspathSqlLocator. Uses a ClasspathSqlLocator instance that strips comments off.
      +
      +
      +
    • +
    • +
      +

      SqlObjectClasspathSqlLocator

      +
      +
      public SqlObjectClasspathSqlLocator(ClasspathSqlLocator locator)
      +
      Creates a new SqlObjectClasspathSqlLocator.
      +
      +
      Parameters:
      +
      locator - A ClasspathSqlLocator instance
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      locate

      +
      +
      public String locate(Class<?> sqlObjectType, + Method method, + ConfigRegistry config)
      +
      Description copied from interface: SqlLocator
      +
      Locates and returns the SQL for the given SQL Object type and method.
      +
      +
      Specified by:
      +
      locate in interface SqlLocator
      +
      Parameters:
      +
      sqlObjectType - the SQL object type
      +
      method - the method
      +
      config - the config registry
      +
      Returns:
      +
      the SQL for the given method.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/UseAnnotationSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/UseAnnotationSqlLocator.html new file mode 100644 index 00000000000..735ec031c61 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/UseAnnotationSqlLocator.html @@ -0,0 +1,99 @@ + + + + +UseAnnotationSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseAnnotationSqlLocator

+
+
+
+
+
@Target({TYPE,METHOD}) +@Retention(RUNTIME) +public @interface UseAnnotationSqlLocator
+
Configures SQL Object to use AnnotationSqlLocator (the default SqlLocator).
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/UseClasspathSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/UseClasspathSqlLocator.html new file mode 100644 index 00000000000..35a022a312d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/UseClasspathSqlLocator.html @@ -0,0 +1,155 @@ + + + + +UseClasspathSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseClasspathSqlLocator

+
+
+
+
+
@Target({TYPE,METHOD}) +@Retention(RUNTIME) +public @interface UseClasspathSqlLocator
+
Configures SQL Object to locate SQL using the ClasspathSqlLocator.findSqlOnClasspath(Class, String) method. + If the SQL annotation (e.g. @SqlQuery) defines a value (e.g. @SqlQuery("hello")), that + value ("hello") will be used for the name parameter; if undefined, the name of the SQL + object method will be used: + +
+     @UseClasspathSqlLocator
+     interface Viccini {
+         @SqlUpdate
+         void doTheThing(long id);     // => ClasspathSqlLocator.findSqlOnClasspath(Viccini.class, "doTheThing")
+
+         @SqlUpdate("thatOtherThing")
+         void doTheThing(String name); // => ClasspathSqlLocator.findSqlOnClasspath(Viccini.class, "thatOtherThing")
+     }
+ 
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    +
    boolean
    + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      stripComments

      +
      +
      boolean stripComments
      +
      +
      Default:
      +
      true
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/AnnotationSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/AnnotationSqlLocator.html new file mode 100644 index 00000000000..6436b5898b5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/AnnotationSqlLocator.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.sqlobject.locator.AnnotationSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.sqlobject.locator.AnnotationSqlLocator

+
+No usage of org.jdbi.v3.sqlobject.locator.AnnotationSqlLocator
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/SqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/SqlLocator.html new file mode 100644 index 00000000000..47dfad4db75 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/SqlLocator.html @@ -0,0 +1,125 @@ + + + + +Uses of Interface org.jdbi.v3.sqlobject.locator.SqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.sqlobject.locator.SqlLocator

+
+
Packages that use SqlLocator
+
+
Package
+
Description
+ +
+
SQL Objects
+
+ +
+
+ sqlobject.locator inspects the declared SqlObject and determines + the statement text to pass off to core.locator for final + resolution of the statement text.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/SqlObjectClasspathSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/SqlObjectClasspathSqlLocator.html new file mode 100644 index 00000000000..b8805eef69a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/SqlObjectClasspathSqlLocator.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.sqlobject.locator.SqlObjectClasspathSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.sqlobject.locator.SqlObjectClasspathSqlLocator

+
+No usage of org.jdbi.v3.sqlobject.locator.SqlObjectClasspathSqlLocator
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/UseAnnotationSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/UseAnnotationSqlLocator.html new file mode 100644 index 00000000000..896ef9b6e9a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/UseAnnotationSqlLocator.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.locator.UseAnnotationSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.locator.UseAnnotationSqlLocator

+
+No usage of org.jdbi.v3.sqlobject.locator.UseAnnotationSqlLocator
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/UseClasspathSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/UseClasspathSqlLocator.html new file mode 100644 index 00000000000..d9f1dd24e67 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/class-use/UseClasspathSqlLocator.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.locator.UseClasspathSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.locator.UseClasspathSqlLocator

+
+No usage of org.jdbi.v3.sqlobject.locator.UseClasspathSqlLocator
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/package-summary.html new file mode 100644 index 00000000000..818e648d74f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/package-summary.html @@ -0,0 +1,159 @@ + + + + +org.jdbi.v3.sqlobject.locator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.sqlobject.locator

+
+
+
+
package org.jdbi.v3.sqlobject.locator
+
+

+ sqlobject.locator inspects the declared SqlObject and determines + the statement text to pass off to core.locator for final + resolution of the statement text. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/package-tree.html new file mode 100644 index 00000000000..cdd07c69eb3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/package-tree.html @@ -0,0 +1,85 @@ + + + + +org.jdbi.v3.sqlobject.locator Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.sqlobject.locator

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/package-use.html new file mode 100644 index 00000000000..8d4ab7d6ee4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/locator/package-use.html @@ -0,0 +1,103 @@ + + + + +Uses of Package org.jdbi.v3.sqlobject.locator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.sqlobject.locator

+
+ +
+
Package
+
Description
+ +
+
SQL Objects
+
+ +
+
+ sqlobject.locator inspects the declared SqlObject and determines + the statement text to pass off to core.locator for final + resolution of the statement text.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/package-summary.html new file mode 100644 index 00000000000..6e21d2ca612 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/package-summary.html @@ -0,0 +1,375 @@ + + + + +org.jdbi.v3.sqlobject (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.sqlobject

+
+
+
+
package org.jdbi.v3.sqlobject
+
+

SQL Objects

+

+ The SQLObject API allows for declarative definition of interfaces which will handle + the generation of statements and queries on your behalf when needed. Take the following interface: +

+
+ public interface TheBasics {
+ @SqlUpdate("insert into something (id, name) values (:id, :name)")
+ int insert(@BindBean Something something);
+ @SqlQuery("select id, name from something where id = :id")
+ Something findById(@Bind("id") long id);
+ }
+ 
+

+ First, install the SQL Object plugin: +

+
+ Jdbi jdbi = Jdbi.create(dataSource);
+ jdbi.installPlugin(new SqlObjectPlugin());
+ 
+

+ You can obtain an instance of TheBasics via one of three means. +

+
    +
  • +

    + You can pass a lambda to Jdbi. A short-lived instance of the interface will be created, and passed to the + lambda. The lambda can make any number of calls to that instance before returning. The lifecycle of + the SQL Object instance ends when the lambda returns. +

    +
    + jdbi.useExtension(TheBasics.class, theBasics -> theBasics.insert(new Something(1, "Alice")));
    + Something result = jdbi.withExtension(TheBasics.class, theBasics -> theBasics.findById(1));
    + 
    +

    + withExtension returns the value returned by the lambda, whereas useExtension + has a void return. +

    +
  • +
  • +

    + You can get an instance attached to a particular handle. The SQL Object's lifecycle ends when the + handle is closed. +

    +
    + try (Handle handle = jdbi.open()) {
    + TheBasics attached = handle.attach(TheBasics.class);
    + attached.insert(new Something(2, "Bob");
    + Something result = attached.findById(2);
    + }
    + 
    +
  • +
  • +

    + Finally, you can request an on-demand instance. On-demand instances have an open-ended lifecycle, as they + obtain and releases connections for each method call. They are thread-safe, and may be reused across an + application. This is handy when you only need to make single calls at a time. +

    +
    + TheBasics onDemand = jdbi.onDemand(TheBasics.class);
    + onDemand.insert(new Something(3, "Chris"));
    + Something result = onDemand.findById(3);
    + 
    +

    + There is a performance penalty every time a connection is allocated and released. If you need to make + multiple calls in a row to a SQL Object, consider using one of the above options for + better performance, instead of on-demand. +

    +
  • +
+

Default Methods

+

+ You can declare default methods on your interface, which can call other methods of the interface: +

+
+ public interface DefaultMethods {
+ @SqlQuery("select * from folders where id = :id")
+ Folder getFolderById(int id);
+ @SqlQuery("select * from documents where folder_id = :folderId")
+ List<Document> getDocuments(int folderId);
+ default Node getFolderByIdWithDocuments(int id) {
+ Node result = getById(id);
+ result.setChildren(listByParendId(id));
+ return result;
+ }
+ }
+ 
+

Mixin Interfaces

+

+ All SQL objects implicitly implement the SqlObject interface (whether you declare it or not), which + provides a getHandle() method. This is handy when you need to "drop down" to the core API for + scenarios not directly supported by SQL Object: +

+
+ public interface UsingMixins extends SqlObject {
+ @RegisterBeanMapper(value={Folder.class, Document.class}, prefix={"f", "d"})
+ default Folder getFolder(int id) {
+ return getHandle().createQuery(
+ "select f.id f_id, f.name f_name, " +
+ "d.id d_id, d.name d_name, d.contents d_contents " +
+ "from folders f left join documents d " +
+ "on f.id = d.folder_id " +
+ "where f.id = :folderId")
+ .bind("folderId", id)
+ .reduceRows(Optional.<Folder>empty(), (folder, row) -> {
+ Folder f = folder.orElseGet(() -> row.getRow(Folder.class));
+ if (row.getColumn("d_id", Integer.class) != null) {
+ f.getDocuments().add(row.getRow(Document.class));
+ }
+ return Optional.of(f);
+ });
+ }
+ }
+ 
+

+ Any interface that extends SqlObject can be used as a SQL Object mixin, provided all of its methods + have a SQL method annotation (e.g. @SqlQuery, or are interface default methods. +

+

Transactions

+

+ Any SQL Object method annotation with @Transaction will be executed within a transaction. + This is most commonly used on interface default methods to roll up multiple method calls: +

+
+ public interface TransactionAnnotation {
+ @SqlUpdate("insert into folders (id, name) values (:id, :name)")
+ void insertFolder(@BindBean Folder folder)
+ @SqlBatch("insert into documents (id, folder_id, name, content) " +
+ "values (:id, :folderId, :name, :content)")
+ void insertDocuments(int folderId, @BindBean List<Document> documents);
+ @Transaction
+ default void insertFolderWithDocuments(Folder folder) {
+ insertFolder(folder);
+ insertDocuments(folder.getId(), folder.getDocuments());
+ }
+ }
+ 
+

+ Jdbi also provides a Transactional mixin interface. When a SQL Object type extends this interface, + callers may invoke method from that interface to manage transactions: +

+
+ public interface TransactionalWithDefaultMethods extends Transactional {
+ @SqlUpdate("insert into folders (id, name) values (:id, :name)")
+ void insertFolder(@BindBean Folder folder)
+ @SqlBatch("insert into documents (id, folder_id, name, content) " +
+ "values (:id, :folderId, :name, :content)")
+ void insertDocuments(int folderId, @BindBean List<Document> documents);
+ }
+ 
+

+ Thus: +

+
+ TransactionalWithDefaultMethods dao = jdbi.onDemand(TransactionalWithDefaultMethods.class);
+ dao.inTransaction(self -> {
+ self.insert(folder);
+ self.insertDocuments(folder.getId(), folder.getDocuments());
+ });
+ 
+

+ + Note: use caution combining Transactional with on-demand SQL Objects. + + The only methods considered safe to call with on-demand SQL Objects are inTransaction or + useTransaction. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/package-tree.html new file mode 100644 index 00000000000..b7825c980e8 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/package-tree.html @@ -0,0 +1,128 @@ + + + + +org.jdbi.v3.sqlobject Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.sqlobject

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/package-use.html new file mode 100644 index 00000000000..925b5eae79c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/package-use.html @@ -0,0 +1,134 @@ + + + + +Uses of Package org.jdbi.v3.sqlobject (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.sqlobject

+
+
Packages that use org.jdbi.v3.sqlobject
+
+
Package
+
Description
+ +
+
SQL Objects
+
+ +
+
+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/BatchChunkSize.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/BatchChunkSize.html new file mode 100644 index 00000000000..b61ec3de2a1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/BatchChunkSize.html @@ -0,0 +1,154 @@ + + + + +BatchChunkSize (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type BatchChunkSize

+
+
+
+
+
@Retention(RUNTIME) +@Target({METHOD,PARAMETER,TYPE}) +public @interface BatchChunkSize
+
Used to control the batch chunk size for sql batch operations. + If this annotation is present the value (or argument value if on + a parameter) will be used as the size for each batch statement to + execute.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    +
    int
    + +
    +
    The batch chunk size.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      int value
      +
      The batch chunk size. Defaults to -1 which will raise an error, so + do not use the default. It is present for when the annotation is used + on a parameter, in which case this value will be ignored and the parameter value + will be used. The parameter type must be an int (or castable to an int).
      +
      +
      Returns:
      +
      the batch chunk size.
      +
      +
      +
      Default:
      +
      -1
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/BindParameterCustomizerFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/BindParameterCustomizerFactory.html new file mode 100644 index 00000000000..f4571732b83 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/BindParameterCustomizerFactory.html @@ -0,0 +1,211 @@ + + + + +BindParameterCustomizerFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BindParameterCustomizerFactory

+
+
java.lang.Object +
org.jdbi.v3.sqlobject.statement.BindParameterCustomizerFactory
+
+
+
+
+
All Implemented Interfaces:
+
ParameterCustomizerFactory
+
+
+
public class BindParameterCustomizerFactory +extends Object +implements ParameterCustomizerFactory
+
Standard implementation of ParameterCustomizerFactory that delegates to + BindFactory.createForParameter(Annotation, Class, Method, Parameter, int, Type) passing null for Annotation parameter.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BindParameterCustomizerFactory

      +
      +
      public BindParameterCustomizerFactory()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      createForParameter

      +
      +
      public SqlStatementParameterCustomizer createForParameter(Class<?> sqlObjectType, + Method method, + Parameter param, + int index, + Type type)
      +
      Description copied from interface: ParameterCustomizerFactory
      +
      Creates parameter customizer used to bind sql statement parameters + when parameter is not explicitly annotated
      +
      +
      Specified by:
      +
      createForParameter in interface ParameterCustomizerFactory
      +
      Parameters:
      +
      sqlObjectType - sql object class (interface)
      +
      method - the method which was identified as an SQL method
      +
      param - the parameter to bind
      +
      index - the method parameter index
      +
      type - the method parameter type
      +
      Returns:
      +
      the customizer which will be applied to the generated statement
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/GetGeneratedKeys.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/GetGeneratedKeys.html new file mode 100644 index 00000000000..707da5b6c68 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/GetGeneratedKeys.html @@ -0,0 +1,147 @@ + + + + +GetGeneratedKeys (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type GetGeneratedKeys

+
+
+
+
+
@Retention(RUNTIME) +@Target(METHOD) +public @interface GetGeneratedKeys
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    Sets the column names of the generated key(s) from a SQL statement.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String[] value
      +
      Sets the column names of the generated key(s) from a SQL statement.
      +
      +
      Returns:
      +
      column names of the generated key(s) from a SQL statement.
      +
      +
      +
      Default:
      +
      {}
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/MapTo.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/MapTo.html new file mode 100644 index 00000000000..375e01dce88 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/MapTo.html @@ -0,0 +1,103 @@ + + + + +MapTo (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type MapTo

+
+
+
+
+
@Retention(RUNTIME) +@Target(PARAMETER) +public @interface MapTo
+
Used to specify a polymorphic return type as a parameter on a query method. + The annotated parameter may be a Type (including + Class), or GenericType. + Support for QualifiedType arguments is + currently in beta.
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/ParameterCustomizerFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/ParameterCustomizerFactory.html new file mode 100644 index 00000000000..2f26645c31f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/ParameterCustomizerFactory.html @@ -0,0 +1,169 @@ + + + + +ParameterCustomizerFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ParameterCustomizerFactory

+
+
+
+
+
All Known Implementing Classes:
+
BindParameterCustomizerFactory
+
+
+
public interface ParameterCustomizerFactory
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    createForParameter(Class<?> sqlObjectType, + Method method, + Parameter param, + int index, + Type type)
    +
    +
    Creates parameter customizer used to bind sql statement parameters + when parameter is not explicitly annotated
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      createForParameter

      +
      +
      SqlStatementParameterCustomizer createForParameter(Class<?> sqlObjectType, + Method method, + Parameter param, + int index, + Type type)
      +
      Creates parameter customizer used to bind sql statement parameters + when parameter is not explicitly annotated
      +
      +
      Parameters:
      +
      sqlObjectType - sql object class (interface)
      +
      method - the method which was identified as an SQL method
      +
      param - the parameter to bind
      +
      index - the method parameter index
      +
      type - the method parameter type
      +
      Returns:
      +
      the customizer which will be applied to the generated statement
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlBatch.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlBatch.html new file mode 100644 index 00000000000..72d8b70628e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlBatch.html @@ -0,0 +1,182 @@ + + + + +SqlBatch (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type SqlBatch

+
+
+
+
+
@Retention(RUNTIME) +@Target(METHOD) +public @interface SqlBatch
+
Annotate a method to indicate that it will create and execute a SQL batch. At least one + bound argument must be an Iterator or Iterable, values from this will be taken and applied + to each row of the batch. Non iterable bound arguments will be treated as constant values and + bound to each row. +

+ Unfortunately, because of how batches work, statement customizers and sql statement customizers + which affect SQL generation will *not* work with batches. This primarily effects statement location + and rewriting, which will always use the values defined on the bound Handle. +

+ If you want to chunk up the logical batch into a number of smaller batches (say around 1000 rows at + a time in order to not wreck havoc on the transaction log, you should see + BatchChunkSize

+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    +
    boolean
    + +
    +
    Controls whether to execute the batch chunks in a transaction.
    +
    + + +
    +
    Returns the SQL string (or name) used for the batch.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      Returns the SQL string (or name) used for the batch.
      +
      +
      Returns:
      +
      the SQL string (or name) used for the batch.
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    • +
      +

      transactional

      +
      +
      boolean transactional
      +
      Controls whether to execute the batch chunks in a transaction. Default is true.
      +
      +
      Returns:
      +
      whether to execute the batch chunks in a transaction. Default is true (and it will be strange if you + want otherwise).
      +
      +
      +
      Default:
      +
      true
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlCall.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlCall.html new file mode 100644 index 00000000000..51b24f87f74 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlCall.html @@ -0,0 +1,141 @@ + + + + +SqlCall (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type SqlCall

+
+
+
+
+
@Retention(RUNTIME) +@Target(METHOD) +public @interface SqlCall
+
Support for stored proc invocation. Return value must be either null or OutParameters at present.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlQuery.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlQuery.html new file mode 100644 index 00000000000..8359caa4b25 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlQuery.html @@ -0,0 +1,150 @@ + + + + +SqlQuery (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type SqlQuery

+
+
+
+
+
@Retention(RUNTIME) +@Target(METHOD) +public @interface SqlQuery
+
Used to indicate that a method should execute a query.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    The query (or query name if using a statement locator) to be executed.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      The query (or query name if using a statement locator) to be executed. If no value is specified, + the value will be the method name of the method being annotated. This is only useful + in conjunction with a statement locator.
      +
      +
      Returns:
      +
      the SQL string (or name)
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlScript.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlScript.html new file mode 100644 index 00000000000..0f7c9e6c93a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlScript.html @@ -0,0 +1,149 @@ + + + + +SqlScript (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type SqlScript

+
+
+
+
+
@Retention(RUNTIME) +@Target(METHOD) +@Repeatable(SqlScripts.class) +public @interface SqlScript
+
Annotate a method to indicate that it will execute one or more SQL statements.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    Returns the SQL string (or name).
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      Returns the SQL string (or name).
      +
      +
      Returns:
      +
      The SQL string (or name).
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlScripts.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlScripts.html new file mode 100644 index 00000000000..5571293e1c9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlScripts.html @@ -0,0 +1,137 @@ + + + + +SqlScripts (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type SqlScripts

+
+
+
+
+
@Retention(RUNTIME) +@Target(METHOD) +public @interface SqlScripts
+
Holder for repeating SqlScripts.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    + + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    + +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlUpdate.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlUpdate.html new file mode 100644 index 00000000000..1d912158612 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/SqlUpdate.html @@ -0,0 +1,150 @@ + + + + +SqlUpdate (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type SqlUpdate

+
+
+
+
+
@Retention(RUNTIME) +@Target(METHOD) +public @interface SqlUpdate
+
Used to indicate that a method should execute a non-query sql statement.
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    The sql (or statement name if using a statement locator) to be executed.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      String value
      +
      The sql (or statement name if using a statement locator) to be executed. The default value will use + the method name of the method being annotated. This default behavior is only useful in conjunction + with a statement locator.
      +
      +
      Returns:
      +
      the SQL string (or name)
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/UseRowMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/UseRowMapper.html new file mode 100644 index 00000000000..8284253eb84 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/UseRowMapper.html @@ -0,0 +1,145 @@ + + + + +UseRowMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseRowMapper

+
+
+
+
+
@Retention(RUNTIME) +@Target(METHOD) +public @interface UseRowMapper
+
Used to specify specific row mapper on a query method. Mutually exclusive + with UseRowReducer.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    +
    Class<? extends RowMapper<?>>
    + +
    +
    The class implementing RowMapper.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends RowMapper<?>> value
      +
      The class implementing RowMapper. It must have a no-arg constructor.
      +
      +
      Returns:
      +
      the class of row mapper to use.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/UseRowReducer.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/UseRowReducer.html new file mode 100644 index 00000000000..609c4e476d7 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/UseRowReducer.html @@ -0,0 +1,145 @@ + + + + +UseRowReducer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseRowReducer

+
+
+
+
+
@Retention(RUNTIME) +@Target(METHOD) +public @interface UseRowReducer
+
Used to specify a row reducer on a result-bearing method. Mutually exclusive + with UseRowMapper.
+
+
+
+
    + +
  • +
    +

    Required Element Summary

    +
    Required Elements
    +
    +
    Modifier and Type
    +
    Required Element
    +
    Description
    +
    Class<? extends RowReducer<?,?>>
    + +
    +
    The class implementing RowReducer.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      +
      Class<? extends RowReducer<?,?>> value
      +
      The class implementing RowReducer. It must have a no-arg constructor.
      +
      +
      Returns:
      +
      the class of row reducer to use.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/BatchChunkSize.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/BatchChunkSize.html new file mode 100644 index 00000000000..adeeaf287fe --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/BatchChunkSize.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.statement.BatchChunkSize (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.statement.BatchChunkSize

+
+No usage of org.jdbi.v3.sqlobject.statement.BatchChunkSize
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/BindParameterCustomizerFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/BindParameterCustomizerFactory.html new file mode 100644 index 00000000000..106550668ea --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/BindParameterCustomizerFactory.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.sqlobject.statement.BindParameterCustomizerFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.sqlobject.statement.BindParameterCustomizerFactory

+
+No usage of org.jdbi.v3.sqlobject.statement.BindParameterCustomizerFactory
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/GetGeneratedKeys.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/GetGeneratedKeys.html new file mode 100644 index 00000000000..d13e2721a43 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/GetGeneratedKeys.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.statement.GetGeneratedKeys (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.statement.GetGeneratedKeys

+
+No usage of org.jdbi.v3.sqlobject.statement.GetGeneratedKeys
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/MapTo.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/MapTo.html new file mode 100644 index 00000000000..16cf1496d57 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/MapTo.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.statement.MapTo (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.statement.MapTo

+
+No usage of org.jdbi.v3.sqlobject.statement.MapTo
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/ParameterCustomizerFactory.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/ParameterCustomizerFactory.html new file mode 100644 index 00000000000..143b8162d17 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/ParameterCustomizerFactory.html @@ -0,0 +1,122 @@ + + + + +Uses of Interface org.jdbi.v3.sqlobject.statement.ParameterCustomizerFactory (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.sqlobject.statement.ParameterCustomizerFactory

+
+
Packages that use ParameterCustomizerFactory
+
+
Package
+
Description
+ +
+
SQL Objects
+
+ +
+
+ The sqlobject.statement annotations declare the type of statement + that a SqlObject method should create, such as a @SqlQuery to return rows or a + @SqlUpdate to modify rows and return the modification count.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlBatch.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlBatch.html new file mode 100644 index 00000000000..3b1e90678fb --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlBatch.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.statement.SqlBatch (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.statement.SqlBatch

+
+No usage of org.jdbi.v3.sqlobject.statement.SqlBatch
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlCall.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlCall.html new file mode 100644 index 00000000000..b34bde1b624 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlCall.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.statement.SqlCall (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.statement.SqlCall

+
+No usage of org.jdbi.v3.sqlobject.statement.SqlCall
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlQuery.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlQuery.html new file mode 100644 index 00000000000..0864de8d6a6 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlQuery.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.statement.SqlQuery (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.statement.SqlQuery

+
+No usage of org.jdbi.v3.sqlobject.statement.SqlQuery
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlScript.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlScript.html new file mode 100644 index 00000000000..535bf30d315 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlScript.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.statement.SqlScript (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.statement.SqlScript

+
+No usage of org.jdbi.v3.sqlobject.statement.SqlScript
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlScripts.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlScripts.html new file mode 100644 index 00000000000..fd3dda83f58 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlScripts.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.statement.SqlScripts (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.statement.SqlScripts

+
+No usage of org.jdbi.v3.sqlobject.statement.SqlScripts
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlUpdate.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlUpdate.html new file mode 100644 index 00000000000..ac63dfdef19 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/SqlUpdate.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.statement.SqlUpdate (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.statement.SqlUpdate

+
+No usage of org.jdbi.v3.sqlobject.statement.SqlUpdate
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/UseRowMapper.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/UseRowMapper.html new file mode 100644 index 00000000000..655420d17d2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/UseRowMapper.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.statement.UseRowMapper (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.statement.UseRowMapper

+
+No usage of org.jdbi.v3.sqlobject.statement.UseRowMapper
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/UseRowReducer.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/UseRowReducer.html new file mode 100644 index 00000000000..8b325b4b0d1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/class-use/UseRowReducer.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.statement.UseRowReducer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.statement.UseRowReducer

+
+No usage of org.jdbi.v3.sqlobject.statement.UseRowReducer
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/package-summary.html new file mode 100644 index 00000000000..3e0aa670347 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/package-summary.html @@ -0,0 +1,188 @@ + + + + +org.jdbi.v3.sqlobject.statement (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.sqlobject.statement

+
+
+
+
package org.jdbi.v3.sqlobject.statement
+
+

+ The sqlobject.statement annotations declare the type of statement + that a SqlObject method should create, such as a @SqlQuery to return rows or a + @SqlUpdate to modify rows and return the modification count. +

+
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    Used to control the batch chunk size for sql batch operations.
    +
    + +
    +
    Standard implementation of ParameterCustomizerFactory that delegates to + BindFactory.createForParameter(Annotation, Class, Method, Parameter, int, Type) passing null for Annotation parameter.
    +
    + +
     
    + +
    +
    Used to specify a polymorphic return type as a parameter on a query method.
    +
    + +
     
    + +
    +
    Annotate a method to indicate that it will create and execute a SQL batch.
    +
    + +
    +
    Support for stored proc invocation.
    +
    + +
    +
    Used to indicate that a method should execute a query.
    +
    + +
    +
    Annotate a method to indicate that it will execute one or more SQL statements.
    +
    + +
    +
    Holder for repeating SqlScripts.
    +
    + +
    +
    Used to indicate that a method should execute a non-query sql statement.
    +
    + +
    +
    Used to specify specific row mapper on a query method.
    +
    + +
    +
    Used to specify a row reducer on a result-bearing method.
    +
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/package-tree.html new file mode 100644 index 00000000000..569b1508ced --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/package-tree.html @@ -0,0 +1,93 @@ + + + + +org.jdbi.v3.sqlobject.statement Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.sqlobject.statement

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/package-use.html new file mode 100644 index 00000000000..c06f0b649dd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/statement/package-use.html @@ -0,0 +1,99 @@ + + + + +Uses of Package org.jdbi.v3.sqlobject.statement (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.sqlobject.statement

+
+ +
+
Package
+
Description
+ +
+
SQL Objects
+
+ +
+
+ The sqlobject.statement annotations declare the type of statement + that a SqlObject method should create, such as a @SqlQuery to return rows or a + @SqlUpdate to modify rows and return the modification count.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/Transaction.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/Transaction.html new file mode 100644 index 00000000000..3cca13d1003 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/Transaction.html @@ -0,0 +1,176 @@ + + + + +Transaction (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type Transaction

+
+
+
+
+
@Retention(RUNTIME) +@Target({METHOD,TYPE}) +public @interface Transaction
+
Causes the annotated method to be run in a transaction. +

+ Nested @Transaction annotations (e.g. one method calls another method, where both methods have this + annotation) are collapsed into a single transaction. If the outer method annotation specifies an isolation level, + then the inner method must either specify the same level, or not specify any level. +

+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    +
    boolean
    + +
    +
    Set the connection readOnly property before the transaction starts, and restore it before it returns.
    +
    + + +
    +
    The transaction isolation level.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      + +
      The transaction isolation level.
      +
      +
      Returns:
      +
      the transaction isolation level. If not specified, invoke with the default isolation level.
      +
      +
      +
      Default:
      +
      UNKNOWN
      +
      +
      +
      +
    • +
    • +
      +

      readOnly

      +
      +
      boolean readOnly
      +
      Set the connection readOnly property before the transaction starts, and restore it before it returns. + Databases may use this as a performance or concurrency hint.
      +
      +
      Returns:
      +
      whether the transaction is read only
      +
      +
      +
      Default:
      +
      false
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/Transactional.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/Transactional.html new file mode 100644 index 00000000000..2e018b7adac --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/Transactional.html @@ -0,0 +1,379 @@ + + + + +Transactional (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface Transactional<This extends Transactional<This>>

+
+
+
+
+
Type Parameters:
+
This - must match the interface that is extending the Transactional interface.
+
+
+
All Superinterfaces:
+
SqlObject
+
+
+
public interface Transactional<This extends Transactional<This>> +extends SqlObject
+
A mixin interface to expose transaction methods on the sql object. +

+ Use caution with on-demand Transactional instances. + Handle throws TransactionException if closed while a + transaction is open. Since on-demand extensions open and close a handle around each method invocation, calling + begin() on an on-demand Transactional will always leave a transaction open, and thus + always throw this exception. +

+ Users of on-demand Transactional instances should use the inTransaction and useTransaction + methods to execute transactions. It is safe to call other Transactional methods from inside these callbacks.

+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      begin

      +
      +
      default void begin()
      +
      Begins a transaction.
      +
      +
      Throws:
      +
      TransactionException - if called on an on-demand Transactional instance.
      +
      +
      +
      +
    • +
    • +
      +

      commit

      +
      +
      default void commit()
      +
      Commits the open transaction.
      +
      +
      +
    • +
    • +
      +

      rollback

      +
      +
      default void rollback()
      +
      Rolls back the open transaction.
      +
      +
      +
    • +
    • +
      +

      isInTransaction

      +
      +
      default boolean isInTransaction()
      +
      Returns True if this object is currently in a transaction.
      +
      +
      Returns:
      +
      True if the object is in a transaction.
      +
      +
      +
      +
    • +
    • +
      +

      savepoint

      +
      +
      default void savepoint(String savepointName)
      +
      Creates a savepoint with the given name on the transaction.
      +
      +
      Parameters:
      +
      savepointName - the savepoint name.
      +
      +
      +
      +
    • +
    • +
      +

      rollbackToSavepoint

      +
      +
      default void rollbackToSavepoint(String savepointName)
      +
      Rolls back to the given savepoint.
      +
      +
      Parameters:
      +
      savepointName - the savepoint name.
      +
      +
      +
      +
    • +
    • +
      +

      releaseSavepoint

      +
      +
      default void releaseSavepoint(String savepointName)
      +
      Releases the given savepoint.
      +
      +
      Parameters:
      +
      savepointName - the savepoint name.
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      default <R, +X extends Exception> R inTransaction(TransactionalCallback<R,This,X> callback) + throws X
      +
      Executes the given callback within a transaction, returning the value returned by the callback.
      +
      +
      Type Parameters:
      +
      R - method return type
      +
      X - exception optionally thrown by the callback.
      +
      Parameters:
      +
      callback - the callback to execute
      +
      Returns:
      +
      the value returned by the callback.
      +
      Throws:
      +
      X - any exception thrown by the callback.
      +
      +
      +
      +
    • +
    • +
      +

      inTransaction

      +
      +
      default <R, +X extends Exception> R inTransaction(TransactionIsolationLevel isolation, + TransactionalCallback<R,This,X> callback) + throws X
      +
      Executes the given callback within a transaction, returning the value returned by the callback.
      +
      +
      Type Parameters:
      +
      R - method return type
      +
      X - exception optionally thrown by the callback.
      +
      Parameters:
      +
      isolation - the transaction isolation level.
      +
      callback - the callback to execute
      +
      Returns:
      +
      the value returned by the callback.
      +
      Throws:
      +
      X - any exception thrown by the callback.
      +
      +
      +
      +
    • +
    • +
      +

      useTransaction

      +
      +
      default <X extends Exception> void useTransaction(TransactionalConsumer<This,X> callback) + throws X
      +
      Executes the given callback within a transaction.
      +
      +
      Type Parameters:
      +
      X - exception optionally thrown by the callback.
      +
      Parameters:
      +
      callback - the callback to execute
      +
      Throws:
      +
      X - any exception thrown by the callback.
      +
      +
      +
      +
    • +
    • +
      +

      useTransaction

      +
      +
      default <X extends Exception> void useTransaction(TransactionIsolationLevel isolation, + TransactionalConsumer<This,X> callback) + throws X
      +
      Executes the given callback within a transaction.
      +
      +
      Type Parameters:
      +
      X - exception optionally thrown by the callback.
      +
      Parameters:
      +
      isolation - the transaction isolation level.
      +
      callback - the callback to execute
      +
      Throws:
      +
      X - any exception thrown by the callback.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/TransactionalCallback.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/TransactionalCallback.html new file mode 100644 index 00000000000..48c0ff8205d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/TransactionalCallback.html @@ -0,0 +1,161 @@ + + + + +TransactionalCallback (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface TransactionalCallback<R,T extends Transactional<T>,X extends Exception>

+
+
+
+
+
Type Parameters:
+
R - the result type produced
+
T - the SqlObject type to provide
+
X - exception thrown
+
+
+
public interface TransactionalCallback<R,T extends Transactional<T>,X extends Exception>
+
Callback that expects an open transaction and produces a result.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    inTransaction(T transactional)
    +
    +
    Execute in a transaction.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      inTransaction

      +
      +
      R inTransaction(T transactional) + throws X
      +
      Execute in a transaction. Will be committed afterwards, or rolled back if an exception is thrown.
      +
      +
      Parameters:
      +
      transactional - The object communicating with the database.
      +
      Returns:
      +
      the transaction result
      +
      Throws:
      +
      X - any exception thrown will cause the transaction to be rolled back
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/TransactionalConsumer.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/TransactionalConsumer.html new file mode 100644 index 00000000000..78210b0504d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/TransactionalConsumer.html @@ -0,0 +1,169 @@ + + + + +TransactionalConsumer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface TransactionalConsumer<T extends Transactional<T>,X extends Exception>

+
+
+
+
+
Type Parameters:
+
T - the SqlObject type to provide
+
X - exception thrown
+
+
+
public interface TransactionalConsumer<T extends Transactional<T>,X extends Exception>
+
Callback that expects an open transaction and returns no results.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
     
    +
    void
    +
    useTransaction(T transactional)
    +
    +
    Execute in a transaction.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      useTransaction

      +
      +
      void useTransaction(T transactional) + throws X
      +
      Execute in a transaction. Will be committed afterwards, or rolled back if an exception is thrown.
      +
      +
      Parameters:
      +
      transactional - The object communicating with the database.
      +
      Throws:
      +
      X - any exception thrown will cause the transaction to be rolled back
      +
      +
      +
      +
    • +
    • +
      +

      asCallback

      +
      +
      default TransactionalCallback<Void,T,X> asCallback()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/Transaction.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/Transaction.html new file mode 100644 index 00000000000..78f2ab9e422 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/Transaction.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.sqlobject.transaction.Transaction (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.sqlobject.transaction.Transaction

+
+No usage of org.jdbi.v3.sqlobject.transaction.Transaction
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/Transactional.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/Transactional.html new file mode 100644 index 00000000000..b09484eb755 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/Transactional.html @@ -0,0 +1,98 @@ + + + + +Uses of Interface org.jdbi.v3.sqlobject.transaction.Transactional (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.sqlobject.transaction.Transactional

+
+
Packages that use Transactional
+
+
Package
+
Description
+ +
+
+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/TransactionalCallback.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/TransactionalCallback.html new file mode 100644 index 00000000000..c5f6e13ffc4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/TransactionalCallback.html @@ -0,0 +1,105 @@ + + + + +Uses of Interface org.jdbi.v3.sqlobject.transaction.TransactionalCallback (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.sqlobject.transaction.TransactionalCallback

+
+
Packages that use TransactionalCallback
+
+
Package
+
Description
+ +
+
+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/TransactionalConsumer.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/TransactionalConsumer.html new file mode 100644 index 00000000000..e2991f8fa05 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/class-use/TransactionalConsumer.html @@ -0,0 +1,94 @@ + + + + +Uses of Interface org.jdbi.v3.sqlobject.transaction.TransactionalConsumer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.sqlobject.transaction.TransactionalConsumer

+
+
Packages that use TransactionalConsumer
+
+
Package
+
Description
+ +
+
+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/package-summary.html new file mode 100644 index 00000000000..7f81adff532 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/package-summary.html @@ -0,0 +1,156 @@ + + + + +org.jdbi.v3.sqlobject.transaction (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.sqlobject.transaction

+
+
+
+
package org.jdbi.v3.sqlobject.transaction
+
+

+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method. Transactions are committed before the SqlObject + method finishes execution. +

+
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    Causes the annotated method to be run in a transaction.
    +
    +
    Transactional<This extends Transactional<This>>
    +
    +
    A mixin interface to expose transaction methods on the sql object.
    +
    + +
    +
    Callback that expects an open transaction and produces a result.
    +
    + +
    +
    Callback that expects an open transaction and returns no results.
    +
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/package-tree.html new file mode 100644 index 00000000000..7f44162094c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/package-tree.html @@ -0,0 +1,79 @@ + + + + +org.jdbi.v3.sqlobject.transaction Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.sqlobject.transaction

+
+Package Hierarchies: + +
+

Interface Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/package-use.html new file mode 100644 index 00000000000..57ae32e5d7e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/sqlobject/transaction/package-use.html @@ -0,0 +1,93 @@ + + + + +Uses of Package org.jdbi.v3.sqlobject.transaction (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.sqlobject.transaction

+
+ +
+
Package
+
Description
+ +
+
+ sqlobject.transaction annotations declaratively create transactions + wrapping a SqlObject method.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/StringTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/StringTemplateEngine.html new file mode 100644 index 00000000000..89abcf9a00c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/StringTemplateEngine.html @@ -0,0 +1,224 @@ + + + + +StringTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class StringTemplateEngine

+
+
java.lang.Object +
org.jdbi.v3.stringtemplate4.StringTemplateEngine
+
+
+
+
+
All Implemented Interfaces:
+
TemplateEngine
+
+
+
public class StringTemplateEngine +extends Object +implements TemplateEngine
+
Rewrites a StringTemplate template, using the attributes on the StatementContext as template parameters. + For configuration, see StringTemplates.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      StringTemplateEngine

      +
      +
      public StringTemplateEngine()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      +
      public String render(String sql, + StatementContext ctx)
      +
      Description copied from interface: TemplateEngine
      +
      Renders an SQL statement from the given template, using the statement + context as needed.
      +
      +
      Specified by:
      +
      render in interface TemplateEngine
      +
      Parameters:
      +
      sql - The SQL to rewrite
      +
      ctx - The statement context for the statement being executed
      +
      Returns:
      +
      something which can provide the actual SQL to prepare a statement from + and which can bind the correct arguments to that prepared statement
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/StringTemplateSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/StringTemplateSqlLocator.html new file mode 100644 index 00000000000..3f873fa6109 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/StringTemplateSqlLocator.html @@ -0,0 +1,281 @@ + + + + +StringTemplateSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class StringTemplateSqlLocator

+
+
java.lang.Object +
org.jdbi.v3.stringtemplate4.StringTemplateSqlLocator
+
+
+
+
+
public class StringTemplateSqlLocator +extends Object
+
Locates SQL in .sql.stg StringTemplate group files on the classpath.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      findStringTemplate

      +
      +
      public static org.stringtemplate.v4.ST findStringTemplate(Class<?> type, + String name)
      +
      Locates SQL for the given type and name. Example: Given a type com.foo.Bar and a name of + baz, loads a StringTemplate group file from the resource named com/foo/Bar.sql.stg on + the classpath, and returns the template with the given name from the group.
      +
      +
      Parameters:
      +
      type - the type that "owns" the given StringTemplate group file. Dictates the filename of the + StringTemplate group file on the classpath.
      +
      name - the template name within the StringTemplate group.
      +
      Returns:
      +
      the located SQL.
      +
      +
      +
      +
    • +
    • +
      +

      findStringTemplate

      +
      +
      public static org.stringtemplate.v4.ST findStringTemplate(String path, + String name)
      +
      Locates SQL for the given type and name. Loads a StringTemplate group from the resource at the given path, + and returns the template with the given name from the group.
      +
      +
      Parameters:
      +
      path - the resource path for the StringTemplate group.
      +
      name - the template name within the StringTemplate group.
      +
      Returns:
      +
      the located SQL.
      +
      +
      +
      +
    • +
    • +
      +

      findStringTemplate

      +
      +
      public static org.stringtemplate.v4.ST findStringTemplate(ClassLoader classLoader, + String path, + String name)
      +
      Locates SQL for the given type and name. Loads a StringTemplate group from the resource at the given path, + and returns the template with the given name from the group.
      +
      +
      Parameters:
      +
      classLoader - the classloader from which to load the resource.
      +
      path - the resource path for the StringTemplate group.
      +
      name - the template name within the StringTemplate group.
      +
      Returns:
      +
      the located SQL.
      +
      +
      +
      +
    • +
    • +
      +

      findStringTemplateGroup

      +
      +
      public static org.stringtemplate.v4.STGroup findStringTemplateGroup(Class<?> type)
      +
      Loads the StringTemplateGroup for the given type. Example: Given a type com.foo.Bar, returns a + StringTemplateGroup loaded from the resource named com/foo/Bar.sql.stg on the classpath.
      +
      +
      Parameters:
      +
      type - the type that "owns" the given StringTemplate group file. Dictates the filename of the + StringTemplate group file on the classpath.
      +
      Returns:
      +
      the loaded StringTemplateGroup.
      +
      +
      +
      +
    • +
    • +
      +

      findStringTemplateGroup

      +
      +
      public static org.stringtemplate.v4.STGroup findStringTemplateGroup(String path)
      +
      Loads the StringTemplateGroup from the given path on the classpath.
      +
      +
      Parameters:
      +
      path - the resource path on the classpath.
      +
      Returns:
      +
      the loaded StringTemplateGroup.
      +
      +
      +
      +
    • +
    • +
      +

      findStringTemplateGroup

      +
      +
      public static org.stringtemplate.v4.STGroup findStringTemplateGroup(ClassLoader classLoader, + String path)
      +
      Loads the StringTemplateGroup from the given path on the classpath.
      +
      +
      Parameters:
      +
      classLoader - the classloader from which to load the resource.
      +
      path - the resource path on the classpath.
      +
      Returns:
      +
      the loaded StringTemplateGroup.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/StringTemplates.html b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/StringTemplates.html new file mode 100644 index 00000000000..c07440f63ba --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/StringTemplates.html @@ -0,0 +1,233 @@ + + + + +StringTemplates (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class StringTemplates

+
+
java.lang.Object +
org.jdbi.v3.stringtemplate4.StringTemplates
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<StringTemplates>
+
+
+
public class StringTemplates +extends Object +implements JdbiConfig<StringTemplates>
+
Configuration options for StringTemplateEngine.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      StringTemplates

      +
      +
      public StringTemplates()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isFailOnMissingAttribute

      +
      +
      public boolean isFailOnMissingAttribute()
      +
      +
      Returns:
      +
      whether missing attributes in a StringTemplate are a rendering error
      +
      +
      +
      +
    • +
    • +
      +

      setFailOnMissingAttribute

      +
      +
      public StringTemplates setFailOnMissingAttribute(boolean failOnMissingAttribute)
      +
      Control whether missing attributes cause a rendering exception. Defaults to false.
      +
      +
      Parameters:
      +
      failOnMissingAttribute - whether a missing attribute throws an exception
      +
      Returns:
      +
      this configuration instance
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public StringTemplates createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<StringTemplates>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/UseStringTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/UseStringTemplateEngine.html new file mode 100644 index 00000000000..e8e036d7390 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/UseStringTemplateEngine.html @@ -0,0 +1,101 @@ + + + + +UseStringTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseStringTemplateEngine

+
+
+
+
+
@Target({TYPE,METHOD}) +@Retention(RUNTIME) +public @interface UseStringTemplateEngine
+
Configures a SQL object class or method to rewrite SQL statements using StringTemplate. Method parameters annotated + with @Define are passed to the StringTemplate as template + attributes.
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/UseStringTemplateSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/UseStringTemplateSqlLocator.html new file mode 100644 index 00000000000..527a42f18c3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/UseStringTemplateSqlLocator.html @@ -0,0 +1,113 @@ + + + + +UseStringTemplateSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Type UseStringTemplateSqlLocator

+
+
+
+
+
@Retention(RUNTIME) +@Target({TYPE,METHOD}) +public @interface UseStringTemplateSqlLocator
+
Configures SQL Object to locate SQL using the StringTemplateSqlLocator.findStringTemplate(Class, String) + method. If the SQL annotation (e.g. @SqlQuery) defines a value (e.g. @SqlQuery("hello")), + that value ("hello") will be used for the name parameter; if undefined, the name of the SQL + object method will be used: + +
+     @UseStringTemplateSqlLocator
+     interface Viccini {
+         @SqlUpdate
+         void doTheThing(long id);     // => StringTemplateSqlLocator.findStringTemplateSql(Viccini.class, "doTheThing")
+
+         @SqlUpdate("thatOtherThing")
+         void doTheThing(String name); // => StringTemplateSqlLocator.findStringTemplateSql(Viccini.class, "thatOtherThing")
+     }
+ 
+
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/StringTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/StringTemplateEngine.html new file mode 100644 index 00000000000..f8437f4c702 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/StringTemplateEngine.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.stringtemplate4.StringTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.stringtemplate4.StringTemplateEngine

+
+No usage of org.jdbi.v3.stringtemplate4.StringTemplateEngine
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/StringTemplateSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/StringTemplateSqlLocator.html new file mode 100644 index 00000000000..a9139a1ebb5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/StringTemplateSqlLocator.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.stringtemplate4.StringTemplateSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.stringtemplate4.StringTemplateSqlLocator

+
+No usage of org.jdbi.v3.stringtemplate4.StringTemplateSqlLocator
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/StringTemplates.html b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/StringTemplates.html new file mode 100644 index 00000000000..8bbd90181bb --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/StringTemplates.html @@ -0,0 +1,93 @@ + + + + +Uses of Class org.jdbi.v3.stringtemplate4.StringTemplates (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.stringtemplate4.StringTemplates

+
+
Packages that use StringTemplates
+
+
Package
+
Description
+ +
+
+ stringtemplate4 provides advanced string template processing + that Jdbi can drive with the statement's bound parameters + and context to drive statement generation that may need to bind + variable number of parameters or other advanced use cases.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/UseStringTemplateEngine.html b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/UseStringTemplateEngine.html new file mode 100644 index 00000000000..e1a5b4f817c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/UseStringTemplateEngine.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.stringtemplate4.UseStringTemplateEngine (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.stringtemplate4.UseStringTemplateEngine

+
+No usage of org.jdbi.v3.stringtemplate4.UseStringTemplateEngine
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/UseStringTemplateSqlLocator.html b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/UseStringTemplateSqlLocator.html new file mode 100644 index 00000000000..85aad6003bd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/class-use/UseStringTemplateSqlLocator.html @@ -0,0 +1,57 @@ + + + + +Uses of Annotation Type org.jdbi.v3.stringtemplate4.UseStringTemplateSqlLocator (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Type
org.jdbi.v3.stringtemplate4.UseStringTemplateSqlLocator

+
+No usage of org.jdbi.v3.stringtemplate4.UseStringTemplateSqlLocator
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/package-summary.html new file mode 100644 index 00000000000..5c2a103df38 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/package-summary.html @@ -0,0 +1,122 @@ + + + + +org.jdbi.v3.stringtemplate4 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.stringtemplate4

+
+
+
+
package org.jdbi.v3.stringtemplate4
+
+

+ stringtemplate4 provides advanced string template processing + that Jdbi can drive with the statement's bound parameters + and context to drive statement generation that may need to bind + variable number of parameters or other advanced use cases. +

+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/package-tree.html new file mode 100644 index 00000000000..ffbcae61aed --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/package-tree.html @@ -0,0 +1,80 @@ + + + + +org.jdbi.v3.stringtemplate4 Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.stringtemplate4

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/package-use.html new file mode 100644 index 00000000000..0bccaf117ab --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/stringtemplate4/package-use.html @@ -0,0 +1,87 @@ + + + + +Uses of Package org.jdbi.v3.stringtemplate4 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.stringtemplate4

+
+
Packages that use org.jdbi.v3.stringtemplate4
+
+
Package
+
Description
+ +
+
+ stringtemplate4 provides advanced string template processing + that Jdbi can drive with the statement's bound parameters + and context to drive statement generation that may need to bind + variable number of parameters or other advanced use cases.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/JdbiRule.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/JdbiRule.html new file mode 100644 index 00000000000..b55434f3782 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/JdbiRule.html @@ -0,0 +1,431 @@ + + + + +JdbiRule (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiRule

+
+
java.lang.Object +
org.junit.rules.ExternalResource +
org.jdbi.v3.testing.JdbiRule
+
+
+
+
+
+
All Implemented Interfaces:
+
org.junit.rules.TestRule
+
+
+
public abstract class JdbiRule +extends org.junit.rules.ExternalResource
+
JUnit @Rule to manage a Jdbi instance pointed to a managed database.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JdbiRule

      +
      +
      public JdbiRule()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      embeddedPostgres

      +
      +
      public static JdbiRule embeddedPostgres()
      +
      Create a JdbiRule with an embedded PostgreSQL instance. + Your project must depend on the otj-pg-embedded artifact.
      +
      +
      +
    • +
    • +
      +

      embeddedPostgres

      +
      +
      public static JdbiRule embeddedPostgres(Consumer<com.opentable.db.postgres.embedded.EmbeddedPostgres.Builder> customizer)
      +
      Create a JdbiRule with an embedded PostgreSQL instance. + Your project must depend on the otj-pg-embedded artifact.
      +
      +
      Parameters:
      +
      customizer - Consumer to customize the created PostgreSQL instance.
      +
      +
      +
      +
    • +
    • +
      +

      externalPostgres

      +
      +
      public static JdbiRule externalPostgres(String hostname, + Integer port, + String username, + String password, + String database)
      +
      Create a JdbiRule using an external PostgreSQL instance. + Your project must depend on the postgresql driver artifact.
      +
      +
      +
    • +
    • +
      +

      h2

      +
      +
      public static JdbiRule h2()
      +
      Create a JdbiRule with an in-memory H2 database instance. + Your project must depend on the h2 database artifact.
      +
      +
      +
    • +
    • +
      +

      sqlite

      +
      +
      public static JdbiRule sqlite()
      +
      Create a JdbiRule with an in-memory Sqlite database instance. + Your project must depend on the sqlite-jdbc database artifact.
      +
      +
      +
    • +
    • +
      +

      migrateWithFlyway

      +
      +
      @Deprecated +public JdbiRule migrateWithFlyway()
      +
      Deprecated. + +
      +
      Run database migration scripts from db/migration on the classpath, using Flyway.
      +
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      migrateWithFlyway

      +
      +
      @Deprecated +public JdbiRule migrateWithFlyway(String... locations)
      +
      Deprecated. + +
      +
      Run database migration scripts from the given locations on the classpath, using Flyway.
      +
      +
      Returns:
      +
      this
      +
      +
      +
      +
    • +
    • +
      +

      withMigration

      +
      +
      public JdbiRule withMigration(Migration newMigration)
      +
      Run database migration.
      +
      +
      +
    • +
    • +
      +

      withPlugins

      +
      +
      public JdbiRule withPlugins()
      +
      Discover and install plugins from the classpath.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      withPlugin

      +
      +
      public JdbiRule withPlugin(JdbiPlugin plugin)
      +
      Install a plugin into JdbiRule.
      +
      +
      +
    • +
    • +
      +

      before

      +
      +
      public void before() + throws Throwable
      +
      +
      Throws:
      +
      Throwable
      +
      +
      +
      +
    • +
    • +
      +

      after

      +
      +
      public void after()
      +
      +
      +
    • +
    • +
      +

      getJdbi

      +
      +
      public Jdbi getJdbi()
      +
      Get Jdbi, in case you want to open additional handles to the same data source.
      +
      +
      +
    • +
    • +
      +

      getHandle

      +
      +
      public Handle getHandle()
      +
      Get the single Handle instance opened for the duration of this test case.
      +
      +
      +
    • +
    • +
      +

      attach

      +
      +
      public <T> T attach(Class<T> extension)
      +
      Attach an extension (such as a SqlObject) to the managed handle.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/Migration.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/Migration.html new file mode 100644 index 00000000000..2abde4c868b --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/Migration.html @@ -0,0 +1,281 @@ + + + + +Migration (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Migration

+
+
java.lang.Object +
org.jdbi.v3.testing.Migration
+
+
+
+
+
public class Migration +extends Object
+
Represents a Flyway migration Jdbi should run.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Migration

      +
      +
      public Migration()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      withDefaultPath

      +
      +
      public Migration withDefaultPath()
      +
      Use Default db/migration Flyway schema migration location. + Migration scripts must be on the classpath.
      +
      +
      +
    • +
    • +
      +

      withPath

      +
      +
      public Migration withPath(String migrationPath)
      +
      Add flyway migration path.
      +
      +
      +
    • +
    • +
      +

      withPaths

      +
      +
      public Migration withPaths(String... migrationPaths)
      +
      Add flyway migration paths.
      +
      +
      +
    • +
    • +
      +

      withSchema

      +
      +
      public Migration withSchema(String schema)
      +
      Add flyway migration schema.
      +
      +
      +
    • +
    • +
      +

      withSchemas

      +
      +
      public Migration withSchemas(String... moreSchemas)
      +
      Add flyway migration schemas.
      +
      +
      +
    • +
    • +
      +

      cleanAfter

      +
      +
      public Migration cleanAfter()
      +
      Will drop all objects in the configured schemas after tests using Flyway.
      +
      +
      +
    • +
    • +
      +

      cleanAfter

      +
      +
      public Migration cleanAfter(boolean cleanAfter)
      +
      Controls whether to drop all objects in the configured schemas after running the tests using Flyway.
      +
      +
      +
    • +
    • +
      +

      before

      +
      +
      public static Migration before()
      +
      Create new Migration.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/class-use/JdbiRule.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/class-use/JdbiRule.html new file mode 100644 index 00000000000..ebcc59306e1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/class-use/JdbiRule.html @@ -0,0 +1,139 @@ + + + + +Uses of Class org.jdbi.v3.testing.JdbiRule (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.testing.JdbiRule

+
+
Packages that use JdbiRule
+
+
Package
+
Description
+ +
+
JUnit 4 testing support.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/class-use/Migration.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/class-use/Migration.html new file mode 100644 index 00000000000..d59ffe625e1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/class-use/Migration.html @@ -0,0 +1,132 @@ + + + + +Uses of Class org.jdbi.v3.testing.Migration (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.testing.Migration

+
+
Packages that use Migration
+
+
Package
+
Description
+ +
+
JUnit 4 testing support.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiExtension.html new file mode 100644 index 00000000000..48a0e3cd192 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiExtension.html @@ -0,0 +1,663 @@ + + + + +JdbiExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiExtension

+
+
java.lang.Object +
org.jdbi.v3.testing.junit5.JdbiExtension
+
+
+
+
+
All Implemented Interfaces:
+
AfterAllCallback, AfterEachCallback, BeforeAllCallback, BeforeEachCallback, Extension, ParameterResolver
+
+
+
Direct Known Subclasses:
+
JdbiExternalPostgresExtension, JdbiGenericExtension, JdbiH2Extension, JdbiOtjPostgresExtension, JdbiPostgresExtension, JdbiSqliteExtension, JdbiTestcontainersExtension
+
+
+
public abstract class JdbiExtension +extends Object +implements BeforeAllCallback, AfterAllCallback, BeforeEachCallback, AfterEachCallback, ParameterResolver
+
Common functionality for all JUnit 5 extensions. +

+ Subclasses can be used with the @ExtendWith annotation to declare an extension if they provide a public no-args constructor. +

+ When using declarative registration, test methods can declare a Jdbi and/or a Handle parameter which is injected through this extension. The + getJdbi() is used to obtain the Jdbi object and getSharedHandle()} is used for the Handle instance. +

+ Programmatic registration is preferred as this allows further customization of each extension.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      postgres

      +
      +
      public static JdbiExtension postgres(de.softwareforge.testing.postgres.junit5.EmbeddedPgExtension pg)
      +
      Creates a new extension using a managed, embedded postgres database. Using this method requires the de.softwareforge.testing:pg-embedded + component and the postgres JDBC driver on the class path. +

      + It references an embedded pg extension, which must be added to the class independently and can be managed as a per-class extension, not a per-method + extension: + +

      
      +     @RegisterExtension
      +     public static EmbeddedPgExtension pg = MultiDatabaseBuilder.instanceWithDefaults().build();
      +
      +     @RegisterExtension
      +     public JdbiExtension postgres = JdbiExtension.postgres(pg);
      + 
      +

      + This is the most efficient way to run multiple tests within the same class that use a postgres database.

      +
      +
      Parameters:
      +
      pg - Reference to an embedded postgres database. This extension must be separately added to the test class.
      +
      Returns:
      +
      A JdbiExtension connected to a managed postgres data source.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      externalPostgres

      +
      +
      public static JdbiExtension externalPostgres(@Nonnull + String hostname, + @Nullable + Integer port, + @Nonnull + String database, + @Nullable + String username, + @Nullable + String password)
      +
      Creates an extension that uses an external (outside the scope of an unit test class) postgres database. Using this method requires the postgres JDBC + driver on the classpath.
      +
      +
      Parameters:
      +
      hostname - Hostname of the database.
      +
      port - Port of the database. Can be null, in that case the default port is used.
      +
      database - Database name.
      +
      username - Username to access the database. Can be null.
      +
      password - Password to access the database. Can be null.
      +
      Returns:
      +
      A JdbiExtension connected to an external postgres data source.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      otjEmbeddedPostgres

      +
      +
      public static JdbiOtjPostgresExtension otjEmbeddedPostgres()
      +
      Creates a new extension using a managed, embedded postgres database. Using this method requires the com.opentable.components:otj-pg-embedded + component and the postgres JDBC driver on the class path. + +
      
      +     @RegisterExtension
      +     public JdbiExtension postgres = JdbiExtension.otjEmbeddedPostgres();
      + 
      +

      + Compared to the postgres(EmbeddedPgExtension) method, this extension spins up a new postgres instance for each test method and is slower. It + should only be used to migrate existing code that uses the JUnit 4 JdbiRule quickly to JUnit 5.

      +
      +
      Returns:
      +
      A JdbiExtension connected to a managed postgres data source.
      +
      +
      +
      +
    • +
    • +
      +

      h2

      +
      +
      public static JdbiExtension h2()
      +
      Creates a new extension using the H2 database. Each call to this method creates a new database which is transient and in-memory. Using this method + requires the com.h2database:h2 component on the classpath. + +
      
      +     @RegisterExtension
      +     public JdbiExtension h2 = JdbiExtension.h2();
      + 
      +
      +
      Returns:
      +
      A JdbiExtension connected to a managed h2 data source.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      sqlite

      +
      +
      public static JdbiExtension sqlite()
      +
      Creates a new extension using the SQLite database. Each call to this method creates a new database which is transient and in-memory. Using this method + requires the org.xerial:sqlite-jdbc component on the classpath. + +
      
      +     @RegisterExtension
      +     public JdbiExtension sqlite = JdbiExtension.sqlite();
      + 
      +
      +
      Returns:
      +
      A JdbiExtension connected to a managed sqlite data source.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      getJdbi

      +
      +
      public final Jdbi getJdbi()
      +
      Returns a Jdbi instance linked to the data source used by this extension. There is only a single Jdbi instance and multiple calls to this method + return the same instance.
      +
      +
      Returns:
      +
      A Jdbi instance.
      +
      +
      +
      +
    • +
    • +
      +

      getUrl

      +
      +
      public abstract String getUrl()
      +
      Returns a JDBC url representing the data source used by this extension. This url is database-specific and may or may not be used to connect to the data + source outside testing code that uses this extension (e.g. the JdbiSqliteExtension returns a constant uri for all database instances).
      +
      +
      Returns:
      +
      A string representing the JDBC URL.
      +
      +
      +
      +
    • +
    • +
      +

      getSharedHandle

      +
      +
      public final Handle getSharedHandle()
      +
      Returns a shared Handle used by the extension. This handle exists during the lifetime of the extension and is connected to the data source used + by the extension. Multiple calls to this method always return the same instance.
      +
      +
      Returns:
      +
      A Handle instance.
      +
      +
      +
      +
    • +
    • +
      +

      installPlugins

      +
      +
      public final JdbiExtension installPlugins()
      +
      When creating the Jdbi instance, call the Jdbi.installPlugins() method, which loads all plugins discovered by the + ServiceLoader API.
      +
      +
      Returns:
      +
      The extension itself for chaining method calls.
      +
      +
      +
      +
    • +
    • +
      +

      enableLeakChecker

      +
      +
      public final JdbiExtension enableLeakChecker(boolean enable)
      +
      Enable tracking of cleanable resources and handles when running tests. This is useful to find code paths where JDBI managed resources are not correctly + handled and "leak" out.
      +
      +
      Parameters:
      +
      enable - If true, enables the leak checker, otherwise disables it.
      +
      +
      +
      +
    • +
    • +
      +

      withPlugin

      +
      +
      public final JdbiExtension withPlugin(JdbiPlugin plugin)
      +
      Install a JdbiPlugin when creating the Jdbi instance.
      +
      +
      Parameters:
      +
      plugin - A plugin to install.
      +
      Returns:
      +
      The extension itself for chaining method calls.
      +
      +
      +
      +
    • +
    • +
      +

      withPlugins

      +
      +
      public final JdbiExtension withPlugins(JdbiPlugin... pluginList)
      +
      Install multiple JdbiPlugins when creating the Jdbi instance.
      +
      +
      Parameters:
      +
      pluginList - One or more JdbiPlugin instances.
      +
      Returns:
      +
      The extension itself for chaining method calls.
      +
      +
      +
      +
    • +
    • +
      +

      withInitializer

      +
      +
      public final JdbiExtension withInitializer(JdbiExtensionInitializer initializer)
      +
      Sets a JdbiExtensionInitializer to initialize the Jdbi instance or the attached data source before running a test.
      +
      +
      Returns:
      +
      The extension itself for chaining method calls.
      +
      +
      +
      +
    • +
    • +
      +

      openHandle

      +
      +
      public final Handle openHandle()
      +
      Open a new Handle to the used data source. Multiple calls to this method return multiple instances that are all connected to the same data + source.
      +
      +
      Returns:
      +
      A Handle object. The handle must be closed to release the database connection.
      +
      +
      +
      +
    • +
    • +
      +

      withConfig

      +
      +
      public final <C extends JdbiConfig<C>> +JdbiExtension withConfig(Class<C> configClass, + Consumer<C> configurer)
      +
      Set a JdbiConfig parameter when creating the Jdbi instance. Any JdbiConfig type can be referenced in this method call. + +
      
      +     @RegisterExtension
      +     public JdbiExtension h2Extension = JdbiExtension.h2().withPlugin(new SqlObjectPlugin())
      +             .withConfig(RowMappers.class, r -> r.register(Foo.class, new FooMapper());
      + 
      +
      +
      Type Parameters:
      +
      C - The config type. Must extend JdbiConfig.
      +
      Parameters:
      +
      configClass - A class instance which must implement JdbiConfig.
      +
      configurer - A Consumer to access the JdbiConfig instance.
      +
      Returns:
      +
      The extension itself for chaining method calls.
      +
      +
      +
      +
    • +
    • +
      +

      attach

      +
      +
      public final <T> T attach(Class<T> extension)
      +
      Convenience method to attach an extension (such as a SqlObject) to the shared handle.
      +
      +
      +
    • +
    • +
      +

      beforeEach

      +
      +
      public void beforeEach(ExtensionContext context) + throws Exception
      +
      +
      Specified by:
      +
      beforeEach in interface BeforeEachCallback
      +
      Throws:
      +
      Exception
      +
      +
      +
      +
    • +
    • +
      +

      beforeAll

      +
      +
      public void beforeAll(ExtensionContext context) + throws Exception
      +
      +
      Specified by:
      +
      beforeAll in interface BeforeAllCallback
      +
      Throws:
      +
      Exception
      +
      +
      +
      +
    • +
    • +
      +

      afterEach

      +
      +
      public void afterEach(ExtensionContext context) + throws Exception
      +
      +
      Specified by:
      +
      afterEach in interface AfterEachCallback
      +
      Throws:
      +
      Exception
      +
      +
      +
      +
    • +
    • +
      +

      afterAll

      +
      +
      public void afterAll(ExtensionContext context) + throws Exception
      +
      +
      Specified by:
      +
      afterAll in interface AfterAllCallback
      +
      Throws:
      +
      Exception
      +
      +
      +
      +
    • +
    • +
      +

      supportsParameter

      +
      +
      public boolean supportsParameter(ParameterContext parameterContext, + ExtensionContext extensionContext)
      +
      +
      Specified by:
      +
      supportsParameter in interface ParameterResolver
      +
      +
      +
      +
    • +
    • +
      +

      resolveParameter

      +
      +
      public Object resolveParameter(ParameterContext parameterContext, + ExtensionContext extensionContext)
      +
      +
      Specified by:
      +
      resolveParameter in interface ParameterResolver
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiExtensionInitializer.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiExtensionInitializer.html new file mode 100644 index 00000000000..991cde9bf11 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiExtensionInitializer.html @@ -0,0 +1,190 @@ + + + + +JdbiExtensionInitializer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface JdbiExtensionInitializer

+
+
+
+
+
All Known Implementing Classes:
+
JdbiFlywayMigration
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface JdbiExtensionInitializer
+
Initialize the data source before running a test. JdbiExtensionInitializer instances are often used to create the DDL schema for a test or preload data into + the data source.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default void
    +
    cleanup(DataSource ds, + Handle handle)
    +
    +
    Run cleanup code after a test.
    +
    +
    void
    +
    initialize(DataSource ds, + Handle handle)
    +
    +
    Run initialization code before a test.
    +
    +
    +
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiExternalPostgresExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiExternalPostgresExtension.html new file mode 100644 index 00000000000..1a2efab3841 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiExternalPostgresExtension.html @@ -0,0 +1,169 @@ + + + + +JdbiExternalPostgresExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiExternalPostgresExtension

+
+
java.lang.Object +
org.jdbi.v3.testing.junit5.JdbiExtension +
org.jdbi.v3.testing.junit5.JdbiExternalPostgresExtension
+
+
+
+
+
+
All Implemented Interfaces:
+
AfterAllCallback, AfterEachCallback, BeforeAllCallback, BeforeEachCallback, Extension, ParameterResolver
+
+
+
public class JdbiExternalPostgresExtension +extends JdbiExtension
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getUrl

      +
      +
      public String getUrl()
      +
      Description copied from class: JdbiExtension
      +
      Returns a JDBC url representing the data source used by this extension. This url is database-specific and may or may not be used to connect to the data + source outside testing code that uses this extension (e.g. the JdbiSqliteExtension returns a constant uri for all database instances).
      +
      +
      Specified by:
      +
      getUrl in class JdbiExtension
      +
      Returns:
      +
      A string representing the JDBC URL.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiFlywayMigration.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiFlywayMigration.html new file mode 100644 index 00000000000..de0ff52be0c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiFlywayMigration.html @@ -0,0 +1,364 @@ + + + + +JdbiFlywayMigration (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiFlywayMigration

+
+
java.lang.Object +
org.jdbi.v3.testing.junit5.JdbiFlywayMigration
+
+
+
+
+
All Implemented Interfaces:
+
JdbiExtensionInitializer
+
+
+
public final class JdbiFlywayMigration +extends Object +implements JdbiExtensionInitializer
+
Use Flyway to create a database schema and/or preload a database instance.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      flywayMigration

      +
      +
      public static JdbiFlywayMigration flywayMigration()
      +
      Returns an instance of JdbiFlywayMigration which can be configured and used as a JdbiExtensionInitializer. + +
      
      +     @RegisterExtension
      +     public JdbiExtension extension = JdbiExtension.h2()
      +             .withInitializer(JdbiFlywayMigration.flywayMigration().withDefaultPath());
      + 
      +
      +
      Returns:
      +
      A JdbiFlywayMigration instance.
      +
      +
      +
      +
    • +
    • +
      +

      withDefaultPath

      +
      +
      public JdbiFlywayMigration withDefaultPath()
      +
      Use Default db/migration Flyway schema migration location. Migration scripts must be on the classpath.
      +
      +
      Returns:
      +
      The instance itself for chaining method calls.
      +
      +
      +
      +
    • +
    • +
      +

      withPath

      +
      +
      public JdbiFlywayMigration withPath(String migrationPath)
      +
      Add a custom flyway migration path.
      +
      +
      Parameters:
      +
      migrationPath - The path to add. Must not be null.
      +
      Returns:
      +
      The instance itself for chaining method calls.
      +
      +
      +
      +
    • +
    • +
      +

      withPaths

      +
      +
      public JdbiFlywayMigration withPaths(String... migrationPaths)
      +
      Add custom flyway migration paths.
      +
      +
      Parameters:
      +
      migrationPaths - One or more paths to add. Must not be null.
      +
      Returns:
      +
      The instance itself for chaining method calls.
      +
      +
      +
      +
    • +
    • +
      +

      withSchema

      +
      +
      public JdbiFlywayMigration withSchema(String schema)
      +
      Add flyway migration schema.
      +
      +
      Parameters:
      +
      schema - A schema to add. Must not be null.
      +
      Returns:
      +
      The instance itself for chaining method calls.
      +
      +
      +
      +
    • +
    • +
      +

      withSchemas

      +
      +
      public JdbiFlywayMigration withSchemas(String... moreSchemas)
      +
      Add flyway migration schemas.
      +
      +
      Parameters:
      +
      moreSchemas - One or more schemas to add. Must not be null.
      +
      Returns:
      +
      The instance itself for chaining method calls.
      +
      +
      +
      +
    • +
    • +
      +

      cleanAfter

      +
      +
      @Deprecated +public JdbiFlywayMigration cleanAfter()
      +
      Deprecated. +
      The default changed to true so this call actually does nothing.
      +
      +
      Will drop all objects in the configured schemas using Flyway after the test finishes.
      +
      +
      Returns:
      +
      The instance itself for chaining method calls.
      +
      +
      +
      +
    • +
    • +
      +

      cleanAfter

      +
      +
      public JdbiFlywayMigration cleanAfter(boolean cleanAfter)
      +
      Drop all objects in the configured schemas using Flyway after the test finishes.
      +
      +
      Parameters:
      +
      cleanAfter - Set to false to avoid cleaning of the schema.
      +
      Returns:
      +
      The instance itself for chaining method calls.
      +
      +
      +
      +
    • +
    • +
      +

      initialize

      +
      +
      public void initialize(DataSource ds, + Handle handle)
      +
      Description copied from interface: JdbiExtensionInitializer
      +
      Run initialization code before a test.
      +
      +
      Specified by:
      +
      initialize in interface JdbiExtensionInitializer
      +
      Parameters:
      +
      ds - A reference to the managed DataSource which is controlled by a JdbiExtension.
      +
      handle - The shared Handle which is returned from JdbiExtension.getSharedHandle().
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      cleanup

      +
      +
      public void cleanup(DataSource ds, + Handle handle)
      +
      Description copied from interface: JdbiExtensionInitializer
      +
      Run cleanup code after a test.
      +
      +
      Specified by:
      +
      cleanup in interface JdbiExtensionInitializer
      +
      Parameters:
      +
      ds - A reference to the managed DataSource which is controlled by a JdbiExtension.
      +
      handle - The shared Handle which is returned from JdbiExtension.getSharedHandle().
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiGenericExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiGenericExtension.html new file mode 100644 index 00000000000..dfc24da65e0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiGenericExtension.html @@ -0,0 +1,249 @@ + + + + +JdbiGenericExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiGenericExtension

+
+
java.lang.Object +
org.jdbi.v3.testing.junit5.JdbiExtension +
org.jdbi.v3.testing.junit5.JdbiGenericExtension
+
+
+
+
+
+
All Implemented Interfaces:
+
AfterAllCallback, AfterEachCallback, BeforeAllCallback, BeforeEachCallback, Extension, ParameterResolver
+
+
+
public class JdbiGenericExtension +extends JdbiExtension
+
Very simple implementation of a JUnit 5 JdbiExtension which can handle any JDBC connection.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JdbiGenericExtension

      +
      +
      public JdbiGenericExtension(String jdbcUri)
      +
      Creates a new instance for a given JDBC URI. The driver for the database must be on the classpath!
      +
      +
      Parameters:
      +
      jdbcUri - A JDBC URI.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getUrl

      +
      +
      public String getUrl()
      +
      Description copied from class: JdbiExtension
      +
      Returns a JDBC url representing the data source used by this extension. This url is database-specific and may or may not be used to connect to the data + source outside testing code that uses this extension (e.g. the JdbiSqliteExtension returns a constant uri for all database instances).
      +
      +
      Specified by:
      +
      getUrl in class JdbiExtension
      +
      Returns:
      +
      A string representing the JDBC URL.
      +
      +
      +
      +
    • +
    • +
      +

      withUser

      +
      +
      public JdbiGenericExtension withUser(String user)
      +
      Sets the username.
      +
      +
      Parameters:
      +
      user - The username. Can be null.
      +
      Returns:
      +
      This object.
      +
      +
      +
      +
    • +
    • +
      +

      withCredentials

      +
      +
      public JdbiGenericExtension withCredentials(String user, + String password)
      +
      Sets the username and password.
      +
      +
      Parameters:
      +
      user - The username. Can be null.
      +
      password - The password. Can be null.
      +
      Returns:
      +
      This object.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiH2Extension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiH2Extension.html new file mode 100644 index 00000000000..da417733326 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiH2Extension.html @@ -0,0 +1,289 @@ + + + + +JdbiH2Extension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiH2Extension

+
+
java.lang.Object +
org.jdbi.v3.testing.junit5.JdbiExtension +
org.jdbi.v3.testing.junit5.JdbiH2Extension
+
+
+
+
+
+
All Implemented Interfaces:
+
AfterAllCallback, AfterEachCallback, BeforeAllCallback, BeforeEachCallback, Extension, ParameterResolver
+
+
+
public class JdbiH2Extension +extends JdbiExtension
+
Jdbi H2 JUnit 5 rule. + + Override methods for special case construction: + +

+     @RegisterExtension
+     public JdbiExtension extension = new JdbiH2Extension() {
+         @Override
+         protected DataSource createDataSource() {
+            ...
+         }
+     };
+ 
+ + Use with ExtendWith: + +

+ @ExtendWith(JdbiH2Extension.class)
+ public class DatabaseTest {
+     @Test
+     public void testWithJdbi(Jdbi jdbi) {
+         ...
+     }
+
+     @Test
+     public void testWithHandle(Handle handle) {
+         ...
+     }
+ }
+ 
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JdbiH2Extension

      +
      +
      public JdbiH2Extension()
      +
      +
      +
    • +
    • +
      +

      JdbiH2Extension

      +
      +
      public JdbiH2Extension(String options)
      +
      Allows setting the options string for the H2 database. The value here is + appended to the database URL.
      +
      +
      Parameters:
      +
      options - The options string. Must not be null. May start with a semicolon.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      withUser

      +
      +
      public JdbiH2Extension withUser(String user)
      +
      Sets the H2 username.
      +
      +
      Parameters:
      +
      user - The username. Can be null.
      +
      Returns:
      +
      This object.
      +
      +
      +
      +
    • +
    • +
      +

      withCredentials

      +
      +
      public JdbiH2Extension withCredentials(String user, + String password)
      +
      Sets the H2 username and password.
      +
      +
      Parameters:
      +
      user - The username. Can be null.
      +
      password - The password. Can be null.
      +
      Returns:
      +
      This object.
      +
      +
      +
      +
    • +
    • +
      +

      getUrl

      +
      +
      public String getUrl()
      +
      Description copied from class: JdbiExtension
      +
      Returns a JDBC url representing the data source used by this extension. This url is database-specific and may or may not be used to connect to the data + source outside testing code that uses this extension (e.g. the JdbiSqliteExtension returns a constant uri for all database instances).
      +
      +
      Specified by:
      +
      getUrl in class JdbiExtension
      +
      Returns:
      +
      A string representing the JDBC URL.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiOtjPostgresExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiOtjPostgresExtension.html new file mode 100644 index 00000000000..67c95b2fcb7 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiOtjPostgresExtension.html @@ -0,0 +1,239 @@ + + + + +JdbiOtjPostgresExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiOtjPostgresExtension

+
+
java.lang.Object +
org.jdbi.v3.testing.junit5.JdbiExtension +
org.jdbi.v3.testing.junit5.JdbiOtjPostgresExtension
+
+
+
+
+
+
All Implemented Interfaces:
+
AfterAllCallback, AfterEachCallback, BeforeAllCallback, BeforeEachCallback, Extension, ParameterResolver
+
+
+
public class JdbiOtjPostgresExtension +extends JdbiExtension
+
Jdbi PostgreSQL JUnit 5 rule using the otj-pg-embedded component. + + Override methods for special case construction: + +

+     @RegisterExtension
+     public JdbiExtension extension = new JdbiOtjPostgresExtension() {
+         @Override
+         protected DataSource createDataSource() {
+            ...
+         }
+     };
+ 
+ + Use with ExtendWith: + +

+ @ExtendWith(JdbiOtjPostgresExtension.class)
+ public class DatabaseTest {
+     @Test
+     public void testWithJdbi(Jdbi jdbi) {
+         ...
+     }
+
+     @Test
+     public void testWithHandle(Handle handle) {
+         ...
+     }
+ }
+ 
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JdbiOtjPostgresExtension

      +
      +
      public JdbiOtjPostgresExtension()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getUrl

      +
      +
      public String getUrl()
      +
      Description copied from class: JdbiExtension
      +
      Returns a JDBC url representing the data source used by this extension. This url is database-specific and may or may not be used to connect to the data + source outside testing code that uses this extension (e.g. the JdbiSqliteExtension returns a constant uri for all database instances).
      +
      +
      Specified by:
      +
      getUrl in class JdbiExtension
      +
      Returns:
      +
      A string representing the JDBC URL.
      +
      +
      +
      +
    • +
    • +
      +

      customize

      +
      +
      public JdbiOtjPostgresExtension customize(Consumer<com.opentable.db.postgres.embedded.EmbeddedPostgres.Builder> customizer)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiPostgresExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiPostgresExtension.html new file mode 100644 index 00000000000..edf488e93e2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiPostgresExtension.html @@ -0,0 +1,312 @@ + + + + +JdbiPostgresExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiPostgresExtension

+
+
java.lang.Object +
org.jdbi.v3.testing.junit5.JdbiExtension +
org.jdbi.v3.testing.junit5.JdbiPostgresExtension
+
+
+
+
+
+
All Implemented Interfaces:
+
AfterAllCallback, AfterEachCallback, BeforeAllCallback, BeforeEachCallback, Extension, ParameterResolver
+
+
+
public class JdbiPostgresExtension +extends JdbiExtension
+
Jdbi PostgreSQL JUnit 5 rule using the pg-embedded component. +

+ Using this class with the @ExtendWith annotation is equivalent to using the SingleDatabaseBuilder to create a EmbeddedPgExtension + that creates a new postgres instance per test. This is slower than using the MultiDatabaseBuilder and using + JdbiExtension.postgres(EmbeddedPgExtension). +

+ Override methods for special case construction: + +


+     @RegisterExtension
+     public JdbiExtension extension = new JdbiPostgresExtension(pg) {
+         @Override
+         protected DataSource createDataSource() {
+            ...
+         }
+     };
+ 
+

+ Use with ExtendWith: + +


+ @ExtendWith(JdbiPostgresExtension.class)
+ public class DatabaseTest {
+     @Test
+     public void testWithJdbi(Jdbi jdbi) {
+         ...
+     }
+
+     @Test
+     public void testWithHandle(Handle handle) {
+         ...
+     }
+ }
+ 
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiSqliteExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiSqliteExtension.html new file mode 100644 index 00000000000..b43eb2f29bb --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/JdbiSqliteExtension.html @@ -0,0 +1,228 @@ + + + + +JdbiSqliteExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiSqliteExtension

+
+
java.lang.Object +
org.jdbi.v3.testing.junit5.JdbiExtension +
org.jdbi.v3.testing.junit5.JdbiSqliteExtension
+
+
+
+
+
+
All Implemented Interfaces:
+
AfterAllCallback, AfterEachCallback, BeforeAllCallback, BeforeEachCallback, Extension, ParameterResolver
+
+
+
public class JdbiSqliteExtension +extends JdbiExtension
+
Jdbi SQLite JUnit 5 rule. + + Override methods for special case construction: + +

+     @RegisterExtension
+     public JdbiExtension extension = new JdbiSqliteExtension() {
+         @Override
+         protected DataSource createDataSource() {
+            ...
+         }
+     };
+ 
+ + Use with ExtendWith: + +

+ @ExtendWith(JdbiSqliteExtension.class)
+ public class DatabaseTest {
+     @Test
+     public void testWithJdbi(Jdbi jdbi) {
+         ...
+     }
+
+     @Test
+     public void testWithHandle(Handle handle) {
+         ...
+     }
+ }
+ 
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JdbiSqliteExtension

      +
      +
      public JdbiSqliteExtension()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getUrl

      +
      +
      public String getUrl()
      +
      Description copied from class: JdbiExtension
      +
      Returns a JDBC url representing the data source used by this extension. This url is database-specific and may or may not be used to connect to the data + source outside testing code that uses this extension (e.g. the JdbiSqliteExtension returns a constant uri for all database instances).
      +
      +
      Specified by:
      +
      getUrl in class JdbiExtension
      +
      Returns:
      +
      A string representing the JDBC URL.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiExtension.html new file mode 100644 index 00000000000..9c5df555863 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiExtension.html @@ -0,0 +1,191 @@ + + + + +Uses of Class org.jdbi.v3.testing.junit5.JdbiExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.testing.junit5.JdbiExtension

+
+
Packages that use JdbiExtension
+
+
Package
+
Description
+ +
+
JUnit 5 testing support.
+
+ +
+ +
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiExtensionInitializer.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiExtensionInitializer.html new file mode 100644 index 00000000000..7bc28b108c5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiExtensionInitializer.html @@ -0,0 +1,97 @@ + + + + +Uses of Interface org.jdbi.v3.testing.junit5.JdbiExtensionInitializer (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.jdbi.v3.testing.junit5.JdbiExtensionInitializer

+
+
Packages that use JdbiExtensionInitializer
+
+
Package
+
Description
+ +
+
JUnit 5 testing support.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiExternalPostgresExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiExternalPostgresExtension.html new file mode 100644 index 00000000000..a1332ec49d1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiExternalPostgresExtension.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.testing.junit5.JdbiExternalPostgresExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.testing.junit5.JdbiExternalPostgresExtension

+
+No usage of org.jdbi.v3.testing.junit5.JdbiExternalPostgresExtension
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiFlywayMigration.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiFlywayMigration.html new file mode 100644 index 00000000000..be5db72af24 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiFlywayMigration.html @@ -0,0 +1,123 @@ + + + + +Uses of Class org.jdbi.v3.testing.junit5.JdbiFlywayMigration (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.testing.junit5.JdbiFlywayMigration

+
+
Packages that use JdbiFlywayMigration
+
+
Package
+
Description
+ +
+
JUnit 5 testing support.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiGenericExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiGenericExtension.html new file mode 100644 index 00000000000..381f6f220eb --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiGenericExtension.html @@ -0,0 +1,92 @@ + + + + +Uses of Class org.jdbi.v3.testing.junit5.JdbiGenericExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.testing.junit5.JdbiGenericExtension

+
+
Packages that use JdbiGenericExtension
+
+
Package
+
Description
+ +
+
JUnit 5 testing support.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiH2Extension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiH2Extension.html new file mode 100644 index 00000000000..59d1b10f5da --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiH2Extension.html @@ -0,0 +1,92 @@ + + + + +Uses of Class org.jdbi.v3.testing.junit5.JdbiH2Extension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.testing.junit5.JdbiH2Extension

+
+
Packages that use JdbiH2Extension
+
+
Package
+
Description
+ +
+
JUnit 5 testing support.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiOtjPostgresExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiOtjPostgresExtension.html new file mode 100644 index 00000000000..37d5865de23 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiOtjPostgresExtension.html @@ -0,0 +1,89 @@ + + + + +Uses of Class org.jdbi.v3.testing.junit5.JdbiOtjPostgresExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.testing.junit5.JdbiOtjPostgresExtension

+
+
Packages that use JdbiOtjPostgresExtension
+
+
Package
+
Description
+ +
+
JUnit 5 testing support.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiPostgresExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiPostgresExtension.html new file mode 100644 index 00000000000..2d94dfde9b0 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiPostgresExtension.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.testing.junit5.JdbiPostgresExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.testing.junit5.JdbiPostgresExtension

+
+No usage of org.jdbi.v3.testing.junit5.JdbiPostgresExtension
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiSqliteExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiSqliteExtension.html new file mode 100644 index 00000000000..2a03a3b5980 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/class-use/JdbiSqliteExtension.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.testing.junit5.JdbiSqliteExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.testing.junit5.JdbiSqliteExtension

+
+No usage of org.jdbi.v3.testing.junit5.JdbiSqliteExtension
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/package-summary.html new file mode 100644 index 00000000000..17b682c78a5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/package-summary.html @@ -0,0 +1,155 @@ + + + + +org.jdbi.v3.testing.junit5 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.testing.junit5

+
+
+
+
package org.jdbi.v3.testing.junit5
+
+
JUnit 5 testing support.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/package-tree.html new file mode 100644 index 00000000000..117ae32b7e1 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/package-tree.html @@ -0,0 +1,87 @@ + + + + +org.jdbi.v3.testing.junit5 Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.testing.junit5

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/package-use.html new file mode 100644 index 00000000000..adf9aa89af4 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/package-use.html @@ -0,0 +1,120 @@ + + + + +Uses of Package org.jdbi.v3.testing.junit5 (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.testing.junit5

+
+
Packages that use org.jdbi.v3.testing.junit5
+
+
Package
+
Description
+ +
+
JUnit 5 testing support.
+
+ +
+ +
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/JdbiTestcontainersExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/JdbiTestcontainersExtension.html new file mode 100644 index 00000000000..1adbc25c212 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/JdbiTestcontainersExtension.html @@ -0,0 +1,242 @@ + + + + +JdbiTestcontainersExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JdbiTestcontainersExtension

+
+
java.lang.Object +
org.jdbi.v3.testing.junit5.JdbiExtension +
org.jdbi.v3.testing.junit5.tc.JdbiTestcontainersExtension
+
+
+
+
+
+
All Implemented Interfaces:
+
AfterAllCallback, AfterEachCallback, BeforeAllCallback, BeforeEachCallback, Extension, ParameterResolver
+
+
+
@Beta +public final class JdbiTestcontainersExtension +extends JdbiExtension
+
Support Testcontainer JDBC containers as database for Jdbi tests.
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/TestcontainersDatabaseInformation.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/TestcontainersDatabaseInformation.html new file mode 100644 index 00000000000..ed74630f6c5 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/TestcontainersDatabaseInformation.html @@ -0,0 +1,303 @@ + + + + +TestcontainersDatabaseInformation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class TestcontainersDatabaseInformation

+
+
java.lang.Object +
org.jdbi.v3.testing.junit5.tc.TestcontainersDatabaseInformation
+
+
+
+
+
@Beta +public final class TestcontainersDatabaseInformation +extends Object
+
Describes the parameters needed to create a new test-specific database or schema to isolate a test. Testcontainers supports many different databases and the + Jdbi specific extension requires parameterization. +

+ The Testcontainers project provides a convenient way to spin up dependencies as containers and offers a Java API to + access these instances. Jdbi can use these instances for testing and offers the same functionality as the builtin support for PostgreSQL, H2 and Sqlite. +

+ As every database engine is slightly different and supports different features, there is some "glue" needed, which is specific to the testcontainer class. + Out of the box, Jdbi works with the testcontainer support for MySQL, MariaDB, TiDB, PostgreSQL (inclusive PostGIS), CockroachDB, YugabyteDB, ClickhouseDB, + Oracle XE, Oracle Free, TrinoDB and MSSQL Server. +
+ Any of the testcontainer instances for these databases, can be used with JdbiTestcontainersExtension.instance(JdbcDatabaseContainer) to create a + JUnit 5 Extension instance that will manage database and schema instances for tests. +

+ If a testcontainer class is not supported by Jdbi or the current Jdbi behavior does not match what is required for a test (e.g. schema or user creation), a + custom TestcontainersDatabaseInformation instance can be created using the + of(String, String, String, BiFunction) method. +
+ This instance can be passed into the JdbiTestcontainersExtension.instance(TestcontainersDatabaseInformation, JdbcDatabaseContainer) method to create + a custom JUnit 5 Extension. +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      forTestcontainerClass

      +
      +
      public static TestcontainersDatabaseInformation forTestcontainerClass(Class<? extends JdbcDatabaseContainer> containerClazz)
      +
      Returns a TestcontainersDatabaseInformation instance for a given container instance class.
      +
      +
      Parameters:
      +
      containerClazz - A JdbcDatabaseContainer class object. Must not be null.
      +
      Returns:
      +
      A TestcontainersDatabaseInformation instance describing how to use the database with the JdbiTestcontainersExtension or null if + the container class is unknown.
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static TestcontainersDatabaseInformation of(String user, + String catalog, + String schema, + BiFunction<String,String,String> createStatement)
      +
      Creates a new database information instance that describes a database.
      +
      +
      Parameters:
      +
      user - Specify a user that can create a new schema or database. If this parameter is null, the testcontainer specific default user, + returned by JdbcDatabaseContainer.getUsername() is used.
      +
      catalog - Specify a catalog that should be used. This is for databases that do not support creating a new catalog or require a fixed catalog + for schema creation (e.g. Trino). If null, use a random catalog identifier.
      +
      schema - Specify a schema that should be used. This is for databases that do not support schemas but create a new database for each test. + If null, use a random schema identifier.
      +
      createStatement - A BiFunction that returns a single statement to create a new database or schema for test isolation. The function is called + with the catalog and schema name and must return a single, valid SQL statement.
      +
      Returns:
      +
      A TestcontainersDatabaseInformation object
      +
      +
      +
      +
    • +
    • +
      +

      ofScript

      +
      +
      public static TestcontainersDatabaseInformation ofScript(String user, + String catalog, + String schema, + BiFunction<String,String,List<String>> createStatement)
      +
      +
      Parameters:
      +
      user - Specify a user that can create a new schema or database. If this parameter is null, the testcontainer specific default user, + returned by JdbcDatabaseContainer.getUsername() is used.
      +
      catalog - Specify a catalog that should be used. This is for databases that do not support creating a new catalog or require a fixed catalog + for schema creation (e.g. Trino). If null, use a random catalog identifier.
      +
      schema - Specify a schema that should be used. This is for databases that do not support schemas but create a new database for each test. + If null, use a random schema identifier.
      +
      createStatement - A BiFunction that returns a single statement to create a new database or schema for test isolation. The function is called + with the catalog and schema name and must return a list of one or more valid SQL statements.
      +
      Returns:
      +
      A TestcontainersDatabaseInformation object
      +
      +
      +
      +
    • +
    • +
      +

      getShutdownWaitTimeInSeconds

      +
      +
      @Alpha +public int getShutdownWaitTimeInSeconds()
      +
      Returns the time in seconds that a test will wait to shut down the Jdbi extension.
      +
      +
      Returns:
      +
      The time to wait in seconds to shut down the Jdbi extension. 0 means wait infinitely until the extension has + been stopped. This can lead to infinite hangs in test cases and should be used with caution.
      +
      Since:
      +
      3.45.0
      +
      +
      +
      +
    • +
    • +
      +

      setShutdownWaitTimeInSeconds

      +
      +
      @Alpha +public void setShutdownWaitTimeInSeconds(int shutdownWaitTimeInSeconds)
      +
      Sets the wait time in seconds that a test will wait to shut down the Jdbi extension.
      +
      +
      Parameters:
      +
      shutdownWaitTimeInSeconds - The wait time in seconds to shut down the Jdbi extension. Can be set to 0 which means that + it will wait infinitely until the extension has shut down. 0 may lead to infinite hangs in tests + and should be used with caution.
      +
      Since:
      +
      3.45.0
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/class-use/JdbiTestcontainersExtension.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/class-use/JdbiTestcontainersExtension.html new file mode 100644 index 00000000000..330b56ffad9 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/class-use/JdbiTestcontainersExtension.html @@ -0,0 +1,97 @@ + + + + +Uses of Class org.jdbi.v3.testing.junit5.tc.JdbiTestcontainersExtension (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.testing.junit5.tc.JdbiTestcontainersExtension

+
+
Packages that use JdbiTestcontainersExtension
+
+
Package
+
Description
+ +
+ +
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/class-use/TestcontainersDatabaseInformation.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/class-use/TestcontainersDatabaseInformation.html new file mode 100644 index 00000000000..d409b840e78 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/class-use/TestcontainersDatabaseInformation.html @@ -0,0 +1,112 @@ + + + + +Uses of Class org.jdbi.v3.testing.junit5.tc.TestcontainersDatabaseInformation (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.testing.junit5.tc.TestcontainersDatabaseInformation

+
+ +
+
Package
+
Description
+ +
+ +
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/package-summary.html new file mode 100644 index 00000000000..c91157fc957 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/package-summary.html @@ -0,0 +1,116 @@ + + + + +org.jdbi.v3.testing.junit5.tc (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.testing.junit5.tc

+
+
+
+
package org.jdbi.v3.testing.junit5.tc
+
+
Jdbi test support for Testcontainer based JDBC containers. Any + database that is supported can be used as a test database in JUnit 5 tests.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/package-tree.html new file mode 100644 index 00000000000..c7157468bc2 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/package-tree.html @@ -0,0 +1,76 @@ + + + + +org.jdbi.v3.testing.junit5.tc Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.testing.junit5.tc

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/package-use.html new file mode 100644 index 00000000000..bf38e1615cd --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/junit5/tc/package-use.html @@ -0,0 +1,87 @@ + + + + +Uses of Package org.jdbi.v3.testing.junit5.tc (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.testing.junit5.tc

+
+ +
+
Package
+
Description
+ +
+ +
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/package-summary.html new file mode 100644 index 00000000000..08040743d81 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/package-summary.html @@ -0,0 +1,123 @@ + + + + +org.jdbi.v3.testing (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.testing

+
+
+
+
package org.jdbi.v3.testing
+
+
JUnit 4 testing support.
+
+
See Also:
+
+ +
+
+
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    JUnit @Rule to manage a Jdbi instance pointed to a managed database.
    +
    + +
    +
    Represents a Flyway migration Jdbi should run.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/package-tree.html new file mode 100644 index 00000000000..e2630bc590c --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/package-tree.html @@ -0,0 +1,76 @@ + + + + +org.jdbi.v3.testing Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.testing

+
+Package Hierarchies: + +
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • org.junit.rules.ExternalResource (implements org.junit.rules.TestRule) + +
    • +
    • org.jdbi.v3.testing.Migration
    • +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/testing/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/testing/package-use.html new file mode 100644 index 00000000000..59013f47752 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/testing/package-use.html @@ -0,0 +1,87 @@ + + + + +Uses of Package org.jdbi.v3.testing (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.testing

+
+
Packages that use org.jdbi.v3.testing
+
+
Package
+
Description
+ +
+
JUnit 4 testing support.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/vavr/TupleMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/TupleMappers.html new file mode 100644 index 00000000000..8fb29165d51 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/TupleMappers.html @@ -0,0 +1,342 @@ + + + + +TupleMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class TupleMappers

+
+
java.lang.Object +
org.jdbi.v3.vavr.TupleMappers
+
+
+
+
+
All Implemented Interfaces:
+
JdbiConfig<TupleMappers>, MapEntryConfig<TupleMappers>
+
+
+
public class TupleMappers +extends Object +implements JdbiConfig<TupleMappers>, MapEntryConfig<TupleMappers>
+
Mappers similar to MapEntryMappers but map entries in vavr are in fact + of type Tuple2.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TupleMappers

      +
      +
      public TupleMappers()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getKeyColumn

      +
      +
      public String getKeyColumn()
      +
      +
      Specified by:
      +
      getKeyColumn in interface MapEntryConfig<TupleMappers>
      +
      +
      +
      +
    • +
    • +
      +

      setKeyColumn

      +
      +
      public TupleMappers setKeyColumn(String keyColumn)
      +
      Description copied from interface: MapEntryConfig
      +
      Sets the column that map entry keys are loaded from. If set, keys will be loaded from the given column, using the ColumnMapper registered + for the key type. If unset, keys will be loaded using the RowMapper registered for the key type, from whichever columns that row mapper + uses.
      +
      +
      Specified by:
      +
      setKeyColumn in interface MapEntryConfig<TupleMappers>
      +
      Parameters:
      +
      keyColumn - the key column name. not null
      +
      Returns:
      +
      this config object, for call chaining
      +
      +
      +
      +
    • +
    • +
      +

      getValueColumn

      +
      +
      public String getValueColumn()
      +
      +
      Specified by:
      +
      getValueColumn in interface MapEntryConfig<TupleMappers>
      +
      +
      +
      +
    • +
    • +
      +

      setValueColumn

      +
      +
      public TupleMappers setValueColumn(String valueColumn)
      +
      Description copied from interface: MapEntryConfig
      +
      Sets the column that map entry values are loaded from. If set, values will be loaded from the given column, using the ColumnMapper + registered for the value type. If unset, values will be loaded using the RowMapper registered for the value type, from whichever columns + that row mapper uses.
      +
      +
      Specified by:
      +
      setValueColumn in interface MapEntryConfig<TupleMappers>
      +
      Parameters:
      +
      valueColumn - the value column name. not null
      +
      Returns:
      +
      this config object, for call chaining
      +
      +
      +
      +
    • +
    • +
      +

      setColumn

      +
      +
      public TupleMappers setColumn(int tupleIndex, + String name)
      +
      Names a specific column in the mapper.
      +
      +
      Parameters:
      +
      tupleIndex - the 1 based index of the TupleX. as in _1, _2 etc.
      +
      name - the column name to be mapped explicitly
      +
      Returns:
      +
      Config object for chaining
      +
      +
      +
      +
    • +
    • +
      +

      getColumn

      +
      +
      public String getColumn(int tupleIndex)
      +
      Returns the name for a column.
      +
      +
      Parameters:
      +
      tupleIndex - the 1 based index of the TupleX. as in _1, _2 etc.
      +
      Returns:
      +
      the column name to be mapped explicitly
      +
      +
      +
      +
    • +
    • +
      +

      createCopy

      +
      +
      public TupleMappers createCopy()
      +
      Description copied from interface: JdbiConfig
      +
      Returns a copy of this configuration object. + Changes to the copy should not modify the original, and vice-versa.
      +
      +
      Specified by:
      +
      createCopy in interface JdbiConfig<TupleMappers>
      +
      Returns:
      +
      a copy of this configuration object.
      +
      +
      +
      +
    • +
    • +
      +

      setRegistry

      +
      +
      public void setRegistry(ConfigRegistry registry)
      +
      Description copied from interface: JdbiConfig
      +
      The 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:
      +
      setRegistry in interface JdbiConfig<TupleMappers>
      +
      Parameters:
      +
      registry - the registry that owns this configuration object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/vavr/VavrCollectors.html b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/VavrCollectors.html new file mode 100644 index 00000000000..09297e5a708 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/VavrCollectors.html @@ -0,0 +1,161 @@ + + + + +VavrCollectors (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class VavrCollectors

+
+
java.lang.Object +
org.jdbi.v3.vavr.VavrCollectors
+
+
+
+
+
public class VavrCollectors +extends Object
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      toOption

      +
      +
      public static <T> +Collector<T,?,io.vavr.control.Option<T>> toOption()
      +
      Returns a Collector that accumulates 0 or 1 input elements into an Option<T>. + The returned collector will throw IllegalStateException whenever 2 or more elements + are present in a stream. Null elements are mapped to Option.none().
      +
      +
      Type Parameters:
      +
      T - the collected type
      +
      Returns:
      +
      a Collector which collects 0 or 1 input elements into an Option<T>.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/vavr/VavrPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/VavrPlugin.html new file mode 100644 index 00000000000..cfcdbf87bd3 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/VavrPlugin.html @@ -0,0 +1,216 @@ + + + + +VavrPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class VavrPlugin

+
+ +
+
+
+
All Implemented Interfaces:
+
JdbiPlugin
+
+
+
public class VavrPlugin +extends JdbiPlugin.Singleton
+
JDBI-Plugin for vavr.io library +
    +
  • supports single-value arguments (Option, ...)
  • +
  • supports vavr collections via ResultBearing.collectInto(java.lang.reflect.Type) call
  • +
  • supports key-value mappings of a tuple result (implicitly used by map collectors)
  • +
  • supports tuple projection
  • +
  • supports column mapping for Option
  • +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      VavrPlugin

      +
      +
      public VavrPlugin()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      customizeJdbi

      +
      +
      public void customizeJdbi(Jdbi jdbi)
      +
      Description copied from interface: JdbiPlugin
      +
      Configure customizations global to any object managed by this Jdbi. + This method is invoked immediately when the plugin is installed.
      +
      +
      Parameters:
      +
      jdbi - the jdbi to customize
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/vavr/class-use/TupleMappers.html b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/class-use/TupleMappers.html new file mode 100644 index 00000000000..092e60cf999 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/class-use/TupleMappers.html @@ -0,0 +1,97 @@ + + + + +Uses of Class org.jdbi.v3.vavr.TupleMappers (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.vavr.TupleMappers

+
+
Packages that use TupleMappers
+
+
Package
+
Description
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/vavr/class-use/VavrCollectors.html b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/class-use/VavrCollectors.html new file mode 100644 index 00000000000..27acc04ad9f --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/class-use/VavrCollectors.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.vavr.VavrCollectors (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.vavr.VavrCollectors

+
+No usage of org.jdbi.v3.vavr.VavrCollectors
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/vavr/class-use/VavrPlugin.html b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/class-use/VavrPlugin.html new file mode 100644 index 00000000000..913e5feac4a --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/class-use/VavrPlugin.html @@ -0,0 +1,57 @@ + + + + +Uses of Class org.jdbi.v3.vavr.VavrPlugin (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.jdbi.v3.vavr.VavrPlugin

+
+No usage of org.jdbi.v3.vavr.VavrPlugin
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/vavr/package-summary.html b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/package-summary.html new file mode 100644 index 00000000000..14e05d38812 --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/package-summary.html @@ -0,0 +1,119 @@ + + + + +org.jdbi.v3.vavr (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Package org.jdbi.v3.vavr

+
+
+
+
package org.jdbi.v3.vavr
+
+

+ vavr is a functional programming library for the JVM. + It is greatly inspired by scala and brings persistent, + immutable data structures to the Java world. JDBI can + collect results from queries to these types and use them. + Furthermore vavr value types can be used as arguments + and query results can be projected to vavr tuples. +

+
+
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Mappers similar to MapEntryMappers but map entries in vavr are in fact + of type Tuple2.
    +
    + +
     
    + +
    +
    JDBI-Plugin for vavr.io library + + supports single-value arguments (Option, ...) + supports vavr collections via ResultBearing.collectInto(java.lang.reflect.Type) call + supports key-value mappings of a tuple result (implicitly used by map collectors) + supports tuple projection + supports column mapping for Option +
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/vavr/package-tree.html b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/package-tree.html new file mode 100644 index 00000000000..807d2f1f18e --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/package-tree.html @@ -0,0 +1,77 @@ + + + + +org.jdbi.v3.vavr Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.jdbi.v3.vavr

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/org/jdbi/v3/vavr/package-use.html b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/package-use.html new file mode 100644 index 00000000000..3fe9f13884d --- /dev/null +++ b/releases/3.45.2/apidocs/org/jdbi/v3/vavr/package-use.html @@ -0,0 +1,85 @@ + + + + +Uses of Package org.jdbi.v3.vavr (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.jdbi.v3.vavr

+
+
Packages that use org.jdbi.v3.vavr
+
+
Package
+
Description
+ +
+
+ vavr is a functional programming library for the JVM.
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/overview-summary.html b/releases/3.45.2/apidocs/overview-summary.html new file mode 100644 index 00000000000..a42485874f4 --- /dev/null +++ b/releases/3.45.2/apidocs/overview-summary.html @@ -0,0 +1,25 @@ + + + + +Jdbi3 3.45.2 API + + + + + + + + + + +
+ +

index.html

+
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/overview-tree.html b/releases/3.45.2/apidocs/overview-tree.html new file mode 100644 index 00000000000..898c2bc757a --- /dev/null +++ b/releases/3.45.2/apidocs/overview-tree.html @@ -0,0 +1,688 @@ + + + + +Class Hierarchy (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For All Packages

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Annotation Type Hierarchy

+ +
+
+

Enum Hierarchy

+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/package-search-index.js b/releases/3.45.2/apidocs/package-search-index.js new file mode 100644 index 00000000000..907e378fd72 --- /dev/null +++ b/releases/3.45.2/apidocs/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"org.jdbi.v3.cache.caffeine"},{"l":"org.jdbi.v3.cache.noop"},{"l":"org.jdbi.v3.commonstext"},{"l":"org.jdbi.v3.core"},{"l":"org.jdbi.v3.core.annotation"},{"l":"org.jdbi.v3.core.argument"},{"l":"org.jdbi.v3.core.array"},{"l":"org.jdbi.v3.core.async"},{"l":"org.jdbi.v3.core.cache"},{"l":"org.jdbi.v3.core.codec"},{"l":"org.jdbi.v3.core.collector"},{"l":"org.jdbi.v3.core.config"},{"l":"org.jdbi.v3.core.enums"},{"l":"org.jdbi.v3.core.extension"},{"l":"org.jdbi.v3.core.extension.annotation"},{"l":"org.jdbi.v3.core.generic"},{"l":"org.jdbi.v3.core.h2"},{"l":"org.jdbi.v3.core.interceptor"},{"l":"org.jdbi.v3.core.locator"},{"l":"org.jdbi.v3.core.mapper"},{"l":"org.jdbi.v3.core.mapper.freebuilder"},{"l":"org.jdbi.v3.core.mapper.immutables"},{"l":"org.jdbi.v3.core.mapper.reflect"},{"l":"org.jdbi.v3.core.qualifier"},{"l":"org.jdbi.v3.core.result"},{"l":"org.jdbi.v3.core.spi"},{"l":"org.jdbi.v3.core.statement"},{"l":"org.jdbi.v3.core.transaction"},{"l":"org.jdbi.v3.freemarker"},{"l":"org.jdbi.v3.generator"},{"l":"org.jdbi.v3.gson2"},{"l":"org.jdbi.v3.guava"},{"l":"org.jdbi.v3.guava.codec"},{"l":"org.jdbi.v3.guice"},{"l":"org.jdbi.v3.jackson2"},{"l":"org.jdbi.v3.jodatime2"},{"l":"org.jdbi.v3.jpa"},{"l":"org.jdbi.v3.json"},{"l":"org.jdbi.v3.meta"},{"l":"org.jdbi.v3.moshi"},{"l":"org.jdbi.v3.postgis"},{"l":"org.jdbi.v3.postgres"},{"l":"org.jdbi.v3.spring5"},{"l":"org.jdbi.v3.sqlite3"},{"l":"org.jdbi.v3.sqlobject"},{"l":"org.jdbi.v3.sqlobject.config"},{"l":"org.jdbi.v3.sqlobject.customizer"},{"l":"org.jdbi.v3.sqlobject.locator"},{"l":"org.jdbi.v3.sqlobject.statement"},{"l":"org.jdbi.v3.sqlobject.transaction"},{"l":"org.jdbi.v3.stringtemplate4"},{"l":"org.jdbi.v3.testing"},{"l":"org.jdbi.v3.testing.junit5"},{"l":"org.jdbi.v3.testing.junit5.tc"},{"l":"org.jdbi.v3.vavr"}];updateSearchResults(); \ No newline at end of file diff --git a/releases/3.45.2/apidocs/resource-files/copy.svg b/releases/3.45.2/apidocs/resource-files/copy.svg new file mode 100644 index 00000000000..d435f6c3754 --- /dev/null +++ b/releases/3.45.2/apidocs/resource-files/copy.svg @@ -0,0 +1,33 @@ + + + + + + + + diff --git a/releases/3.45.2/apidocs/resource-files/glass.png b/releases/3.45.2/apidocs/resource-files/glass.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f591f467a1c0c949bbc510156a0c1afb860a6e GIT binary patch literal 499 zcmVJoRsvExf%rEN>jUL}qZ_~k#FbE+Q;{`;0FZwVNX2n-^JoI; zP;4#$8DIy*Yk-P>VN(DUKmPse7mx+ExD4O|;?E5D0Z5($mjO3`*anwQU^s{ZDK#Lz zj>~{qyaIx5K!t%=G&2IJNzg!ChRpyLkO7}Ry!QaotAHAMpbB3AF(}|_f!G-oI|uK6 z`id_dumai5K%C3Y$;tKS_iqMPHg<*|-@e`liWLAggVM!zAP#@l;=c>S03;{#04Z~5 zN_+ss=Yg6*hTr59mzMwZ@+l~q!+?ft!fF66AXT#wWavHt30bZWFCK%!BNk}LN?0Hg z1VF_nfs`Lm^DjYZ1(1uD0u4CSIr)XAaq + + + + + + + diff --git a/releases/3.45.2/apidocs/resource-files/stylesheet.css b/releases/3.45.2/apidocs/resource-files/stylesheet.css new file mode 100644 index 00000000000..7ee9a76d53c --- /dev/null +++ b/releases/3.45.2/apidocs/resource-files/stylesheet.css @@ -0,0 +1,1275 @@ +/* + * Javadoc style sheet + */ + +@import url('fonts/dejavu.css'); + +/* + * These CSS custom properties (variables) define the core color and font + * properties used in this stylesheet. + */ +:root { + /* body, block and code fonts */ + --body-font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + --block-font-family: 'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + --code-font-family: 'DejaVu Sans Mono', monospace; + /* Base font sizes for body and code elements */ + --body-font-size: 14px; + --code-font-size: 14px; + /* Text colors for body and block elements */ + --body-text-color: #353833; + --block-text-color: #474747; + /* Background colors for various structural elements */ + --body-background-color: #ffffff; + --section-background-color: #f8f8f8; + --detail-background-color: #ffffff; + /* Colors for navigation bar and table captions */ + --navbar-background-color: #4D7A97; + --navbar-text-color: #ffffff; + /* Background color for subnavigation and various headers */ + --subnav-background-color: #dee3e9; + /* Background and text colors for selected tabs and navigation items */ + --selected-background-color: #f8981d; + --selected-text-color: #253441; + --selected-link-color: #1f389c; + /* Background colors for generated tables */ + --even-row-color: #ffffff; + --odd-row-color: #eeeeef; + /* Text color for page title */ + --title-color: #2c4557; + /* Text colors for links */ + --link-color: #4A6782; + --link-color-active: #bb7a2a; + /* Snippet colors */ + --snippet-background-color: #ebecee; + --snippet-text-color: var(--block-text-color); + --snippet-highlight-color: #f7c590; + /* Border colors for structural elements and user defined tables */ + --border-color: #ededed; + --table-border-color: #000000; + /* Search input colors */ + --search-input-background-color: #ffffff; + --search-input-text-color: #000000; + --search-input-placeholder-color: #909090; + /* Highlight color for active search tag target */ + --search-tag-highlight-color: #ffff00; + /* Adjustments for icon and active background colors of copy-to-clipboard buttons */ + --copy-icon-brightness: 100%; + --copy-button-background-color-active: rgba(168, 168, 176, 0.3); + /* Colors for invalid tag notifications */ + --invalid-tag-background-color: #ffe6e6; + --invalid-tag-text-color: #000000; +} +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ +body { + background-color:var(--body-background-color); + color:var(--body-text-color); + font-family:var(--body-font-family); + font-size:var(--body-font-size); + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +:not(input)[id] { + scroll-margin-top: 78px; +} +a:link, a:visited { + text-decoration:none; + color:var(--link-color); +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:var(--link-color-active); +} +pre { + font-family:var(--code-font-family); + font-size:1em; +} +h1 { + font-size:1.428em; +} +h2 { + font-size:1.285em; +} +h3 { + font-size:1.14em; +} +h4 { + font-size:1.072em; +} +h5 { + font-size:1.001em; +} +h6 { + font-size:0.93em; +} +/* Disable font boosting for selected elements */ +h1, h2, h3, h4, h5, h6, div.member-signature { + max-height: 1000em; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:var(--code-font-family); +} +:not(h1, h2, h3, h4, h5, h6) > code, +:not(h1, h2, h3, h4, h5, h6) > tt { + font-size:var(--code-font-size); + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:var(--code-font-family); + font-size:1em; + padding-top:4px; +} +.summary-table dt code { + font-family:var(--code-font-family); + font-size:1em; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +button { + font-family: var(--body-font-family); + font-size: 1em; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.about-language { + float:right; + padding:0 21px 8px 8px; + font-size:0.915em; + margin-top:-9px; + height:2.9em; +} +.legal-copy { + margin-left:.5em; +} +/* + * Styles for navigation bar. + */ +@media screen { + header { + position:sticky; + top:0; + z-index:1; + background: var(--body-background-color); + } +} +.top-nav { + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + float:left; + width:100%; + clear:right; + min-height:2.8em; + padding:10px 0 0 0; + overflow:hidden; + font-size:0.857em; +} +button#navbar-toggle-button { + display:none; +} +ul.sub-nav-list-small { + display: none; +} +.sub-nav { + background-color:var(--subnav-background-color); + float:left; + width:100%; + overflow:hidden; + font-size:0.857em; +} +.sub-nav div { + clear:left; + float:left; + padding:6px; + text-transform:uppercase; +} +.sub-nav .sub-nav-list { + padding-top:4px; +} +ul.nav-list { + display:block; + margin:0 25px 0 0; + padding:0; +} +ul.sub-nav-list { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.nav-list li { + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list-search { + float:right; + margin:0; + padding:6px; + clear:none; + text-align:right; + position:relative; +} +ul.sub-nav-list li { + list-style:none; + float:left; +} +.top-nav a:link, .top-nav a:active, .top-nav a:visited { + color:var(--navbar-text-color); + text-decoration:none; + text-transform:uppercase; +} +.top-nav a:hover { + color:var(--link-color-active); +} +.nav-bar-cell1-rev { + background-color:var(--selected-background-color); + color:var(--selected-text-color); + margin: auto 5px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav { + display:none; + } +} +/* + * Styles for page header. + */ +.title { + color:var(--title-color); + margin:10px 0; +} +.sub-title { + margin:5px 0 0 0; +} +ul.contents-list { + margin: 0 0 15px 0; + padding: 0; + list-style: none; +} +ul.contents-list li { + font-size:0.93em; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; +} +body.class-declaration-page .summary h3, +body.class-declaration-page .details h3 { + background-color:var(--subnav-background-color); + border:1px solid var(--border-color); + margin:0 0 6px -8px; + padding:7px 5px; + overflow-x:auto; +} +/* + * Styles for page layout containers. + */ +main { + clear:both; + padding:10px 20px; + position:relative; +} +section[id$=-description] :is(dl, ol, ul, p, div, blockquote, pre):last-child, +section[id$=-description] :is(dl, ol, ul):last-child > :is(li, dd):last-child { + margin-bottom:4px; +} +dl.notes > dt { + font-family: var(--body-font-family); + font-size:0.856em; + font-weight:bold; + margin:10px 0 0 0; + color:var(--body-text-color); +} +dl.notes > dd { + margin:5px 10px 10px 0; + font-size:1em; + font-family:var(--block-font-family) +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance { + margin:0; + padding:0; +} +div.inheritance div.inheritance { + margin-left:2em; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:10px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.ref-list { + padding:0; + margin:0; +} +ul.ref-list > li { + list-style:none; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +ul.tag-list, ul.tag-list-long { + padding-left: 0; + list-style: none; +} +ul.tag-list li { + display: inline; +} +ul.tag-list li:not(:last-child):after, +ul.tag-list-long li:not(:last-child):after +{ + content: ", "; + white-space: pre-wrap; +} +ul.preview-feature-list { + list-style: none; + margin:0; + padding:0.1em; + line-height: 1.6em; +} +/* + * Styles for tables. + */ +.summary-table, .details-table { + width:100%; + border-spacing:0; + border:1px solid var(--border-color); + border-top:0; + padding:0; +} +.caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:var(--selected-text-color); + clear:none; + overflow:hidden; + padding: 10px 0 0 1px; + margin:0; +} +.caption a:link, .caption a:visited { + color:var(--selected-link-color); +} +.caption a:hover, +.caption a:active { + color:var(--navbar-text-color); +} +.caption span { + font-weight:bold; + white-space:nowrap; + padding:5px 12px 7px 12px; + display:inline-block; + float:left; + background-color:var(--selected-background-color); + border: none; + height:16px; +} +div.table-tabs { + padding: 10px 0 0 1px; + margin: 0; +} +div.table-tabs > button { + border: none; + cursor: pointer; + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 8px; +} +div.table-tabs > .active-table-tab { + background: var(--selected-background-color); + color: var(--selected-text-color); +} +div.table-tabs > button.table-tab { + background: var(--navbar-background-color); + color: var(--navbar-text-color); +} +.two-column-search-results { + display: grid; + grid-template-columns: minmax(400px, max-content) minmax(400px, auto); +} +div.checkboxes { + line-height: 2em; +} +div.checkboxes > span { + margin-left: 10px; +} +div.checkboxes > label { + margin-left: 8px; + white-space: nowrap; +} +div.checkboxes > label > input { + margin: 0 2px; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(25%, max-content) minmax(25%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(20%, max-content) minmax(20%, auto); +} +.three-column-release-summary { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(10%, max-content) minmax(40%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +@media screen and (max-width: 800px) { + .two-column-search-results { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(40%, auto); + } + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-release-summary { + display: grid; + grid-template-columns: minmax(70%, max-content) minmax(30%, max-content) + } + .three-column-summary .col-last, + .three-column-release-summary .col-last{ + grid-column-end: span 2; + } +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +.summary-table > div, .details-table > div { + text-align:left; + padding: 8px 3px 3px 7px; + overflow: auto hidden; + scrollbar-width: thin; +} +.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { + vertical-align:top; + padding-right:0; + padding-top:8px; + padding-bottom:3px; +} +.table-header { + background:var(--subnav-background-color); + font-weight: bold; +} +/* Sortable table columns */ +.table-header[onclick] { + cursor: pointer; +} +.table-header[onclick]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + '); + background-size:100% 100%; + width:9px; + height:14px; + margin-left:4px; + margin-bottom:-3px; +} +.table-header[onclick].sort-asc::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + +} +.table-header[onclick].sort-desc::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} +.col-first, .col-first { + font-size:0.93em; +} +.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { + font-size:0.93em; +} +.col-first, .col-second, .col-constructor-name { + vertical-align:top; + overflow: auto; +} +.col-last { + white-space:normal; +} +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-constructor-name a:link, .col-constructor-name a:visited, +.col-summary-item-name a:link, .col-summary-item-name a:visited { + font-weight:bold; +} +.even-row-color, .even-row-color .table-header { + background-color:var(--even-row-color); +} +.odd-row-color, .odd-row-color .table-header { + background-color:var(--odd-row-color); +} +/* + * Styles for contents. + */ +div.block { + font-size:var(--body-font-size); + font-family:var(--block-font-family); +} +.col-last div { + padding-top:0; +} +.col-last a { + padding-bottom:3px; +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:var(--code-font-family); + font-size:1em; + margin:8px 0 14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .type-parameters-long, +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre; +} +.member-signature .type-parameters { + white-space: normal; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + /* Color of line numbers in source pages can be set via custom property below */ + color:var(--source-linenumber-color, green); + padding:0 30px 0 0; +} +.block { + display:block; + margin:0 10px 5px 0; + color:var(--block-text-color); +} +.deprecated-label, .description-from-type-label, .implementation-label, .member-name-link, +.module-label-in-package, .module-label-in-type, .package-label-in-type, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label, .restricted-label { + font-weight:bold; +} +.deprecation-comment, .help-footnote, .preview-comment, .restricted-comment { + font-style:italic; +} +.deprecation-block, .preview-block, .restricted-block { + font-size:1em; + font-family:var(--block-font-family); + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecation-comment { + font-style:normal; +} +details.invalid-tag, span.invalid-tag { + font-size:1em; + font-family:var(--block-font-family); + color: var(--invalid-tag-text-color); + background: var(--invalid-tag-background-color); + border: thin solid var(--table-border-color); + border-radius:2px; + padding: 2px 4px; + display:inline-block; +} +details summary { + cursor: pointer; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +nav { + overflow:hidden; +} +/* + * Styles for javadoc search. + */ +.ui-menu .ui-state-active { + /* Overrides the color of selection used in jQuery UI */ + background: var(--selected-background-color); + color: var(--selected-text-color); + /* Workaround for browser bug, see JDK-8275889 */ + margin: -1px 0; + border-top: 1px solid var(--selected-background-color); + border-bottom: 1px solid var(--selected-background-color); +} +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + box-sizing: border-box; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:auto; + overflow-x:auto; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); + overscroll-behavior: contain; +} +ul.ui-autocomplete { + position:fixed; + z-index:1; + background-color: var(--body-background-color); +} +ul.ui-autocomplete li { + float:left; + clear:both; + min-width:100%; + box-sizing: border-box; +} +ul.ui-autocomplete li.ui-static-link { + position:sticky; + bottom:0; + left:0; + background: var(--subnav-background-color); + padding: 5px 0; + font-family: var(--body-font-family); + font-size: 0.93em; + font-weight: bolder; + z-index: 2; +} +li.ui-static-link a, li.ui-static-link a:visited { + text-decoration:none; + color:var(--link-color); + float:right; + margin-right:20px; +} +.ui-autocomplete .result-item { + font-size: inherit; +} +.ui-autocomplete .result-highlight { + font-weight:bold; +} +.ui-menu .ui-menu-item-wrapper { + padding-top: 0.4em; + padding-bottom: 0.4em; +} +#search-input, #page-search-input { + background-image:url('glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + background-color: var(--search-input-background-color); + color: var(--search-input-text-color); + border-color: var(--border-color); + padding-left:20px; + width: 250px; + margin: 0; +} +#search-input { + margin-left: 4px; +} +#reset-button { + background-color: transparent; + background-image:url('x.png'); + background-repeat:no-repeat; + background-size:contain; + border:0; + border-radius:0; + width:12px; + height:12px; + position:absolute; + right:12px; + top:10px; + font-size:0; +} +::placeholder { + color:var(--search-input-placeholder-color); + opacity: 1; +} +.search-tag-desc-result { + font-style:italic; + font-size:11px; +} +.search-tag-holder-result { + font-style:italic; + font-size:12px; +} +.search-tag-result:target { + background-color:var(--search-tag-highlight-color); +} +details.page-search-details { + display: inline-block; +} +div#result-container { + font-size: 1em; +} +div#result-container a.search-result-link { + padding: 0; + margin: 4px 0; + width: 100%; +} +#result-container .result-highlight { + font-weight:bolder; +} +.page-search-info { + background-color: var(--subnav-background-color); + border-radius: 3px; + border: 0 solid var(--border-color); + padding: 0 8px; + overflow: hidden; + height: 0; + transition: all 0.2s ease; +} +div.table-tabs > button.table-tab { + background: var(--navbar-background-color); + color: var(--navbar-text-color); +} +.page-search-header { + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + display: inline-block; +} +button.page-search-header { + border: none; + cursor: pointer; +} +span#page-search-link { + text-decoration: underline; +} +.module-graph span, .sealed-graph span { + display:none; + position:absolute; +} +.module-graph:hover span, .sealed-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.inherited-list { + margin: 10px 0 10px 0; +} +.horizontal-scroll { + overflow: auto hidden; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"], +.class-uses .detail, .serialized-class-details { + padding: 0 20px 5px 10px; + border: 1px solid var(--border-color); + background-color: var(--section-background-color); +} +.inherited-list, section[class$="-details"] .detail { + padding:0 0 5px 8px; + background-color:var(--detail-background-color); + border:none; +} +.vertical-separator { + padding: 0 5px; +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} +/* + * Styles for header/section anchor links + */ +a.anchor-link { + opacity: 0; + transition: opacity 0.1s; +} +:hover > a.anchor-link { + opacity: 80%; +} +a.anchor-link:hover, +a.anchor-link:focus-visible, +a.anchor-link.visible { + opacity: 100%; +} +a.anchor-link > img { + width: 0.9em; + height: 0.9em; +} +/* + * Styles for copy-to-clipboard buttons + */ +button.copy { + opacity: 70%; + border: none; + border-radius: 3px; + position: relative; + background:none; + transition: opacity 0.3s; + cursor: pointer; +} +:hover > button.copy { + opacity: 80%; +} +button.copy:hover, +button.copy:active, +button.copy:focus-visible, +button.copy.visible { + opacity: 100%; +} +button.copy img { + position: relative; + background: none; + filter: brightness(var(--copy-icon-brightness)); +} +button.copy:active { + background-color: var(--copy-button-background-color-active); +} +button.copy span { + color: var(--body-text-color); + position: relative; + top: -0.1em; + transition: all 0.1s; + font-size: 0.76rem; + line-height: 1.2em; + opacity: 0; +} +button.copy:hover span, +button.copy:focus-visible span, +button.copy.visible span { + opacity: 100%; +} +/* search page copy button */ +button#page-search-copy { + margin-left: 0.4em; + padding:0.3em; + top:0.13em; +} +button#page-search-copy img { + width: 1.2em; + height: 1.2em; + padding: 0.01em 0; + top: 0.15em; +} +button#page-search-copy span { + color: var(--body-text-color); + line-height: 1.2em; + padding: 0.2em; + top: -0.18em; +} +div.page-search-info:hover button#page-search-copy span { + opacity: 100%; +} +/* snippet copy button */ +button.snippet-copy { + position: absolute; + top: 6px; + right: 6px; + height: 1.7em; + padding: 2px; +} +button.snippet-copy img { + width: 18px; + height: 18px; + padding: 0.05em 0; +} +button.snippet-copy span { + line-height: 1.2em; + padding: 0.2em; + position: relative; + top: -0.5em; +} +div.snippet-container:hover button.snippet-copy span { + opacity: 100%; +} +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid var(--table-border-color); +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid var(--table-border-color); +} +table.striped { + border-collapse: collapse; + border: 1px solid var(--table-border-color); +} +table.striped > thead { + background-color: var(--subnav-background-color); +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid var(--table-border-color); +} +table.striped > tbody > tr:nth-child(even) { + background-color: var(--odd-row-color) +} +table.striped > tbody > tr:nth-child(odd) { + background-color: var(--even-row-color) +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid var(--table-border-color); + border-right: 1px solid var(--table-border-color); +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Tweak style for small screens. + */ +@media screen and (max-width: 920px) { + header { + max-height: 100vh; + overflow-y: auto; + } + div#navbar-top { + height: 2.8em; + transition: height 0.35s ease; + } + ul.nav-list { + display: block; + width: 40%; + float:left; + clear: left; + margin: 10px 0 0 0; + padding: 0; + } + ul.nav-list li { + float: none; + padding: 6px; + margin-left: 10px; + margin-top: 2px; + } + ul.sub-nav-list-small { + display:block; + height: 100%; + width: 50%; + float: right; + clear: right; + background-color: var(--subnav-background-color); + color: var(--body-text-color); + margin: 6px 0 0 0; + padding: 0; + } + ul.sub-nav-list-small ul { + padding-left: 20px; + } + ul.sub-nav-list-small a:link, ul.sub-nav-list-small a:visited { + color:var(--link-color); + } + ul.sub-nav-list-small a:hover { + color:var(--link-color-active); + } + ul.sub-nav-list-small li { + list-style:none; + float:none; + padding: 6px; + margin-top: 1px; + text-transform:uppercase; + } + ul.sub-nav-list-small > li { + margin-left: 10px; + } + ul.sub-nav-list-small li p { + margin: 5px 0; + } + div#navbar-sub-list { + display: none; + } + .top-nav a:link, .top-nav a:active, .top-nav a:visited { + display: block; + } + button#navbar-toggle-button { + width: 3.4em; + height: 2.8em; + background-color: transparent; + display: block; + float: left; + border: 0; + margin: 0 10px; + cursor: pointer; + font-size: 10px; + } + button#navbar-toggle-button .nav-bar-toggle-icon { + display: block; + width: 24px; + height: 3px; + margin: 1px 0 4px 0; + border-radius: 2px; + transition: all 0.1s; + background-color: var(--navbar-text-color); + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(1) { + transform: rotate(45deg); + transform-origin: 10% 10%; + width: 26px; + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(2) { + opacity: 0; + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(3) { + transform: rotate(-45deg); + transform-origin: 10% 90%; + width: 26px; + } +} +@media screen and (max-width: 800px) { + .about-language { + padding-right: 16px; + } + ul.nav-list li { + margin-left: 5px; + } + ul.sub-nav-list-small > li { + margin-left: 5px; + } + main { + padding: 10px; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0 8px 5px 8px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 400px) { + .about-language { + font-size: 10px; + padding-right: 12px; + } +} +@media screen and (max-width: 400px) { + .nav-list-search { + width: 94%; + } + #search-input, #page-search-input { + width: 70%; + } +} +@media screen and (max-width: 320px) { + .nav-list-search > label { + display: none; + } + .nav-list-search { + width: 90%; + } + #search-input, #page-search-input { + width: 80%; + } +} + +pre.snippet { + background-color: var(--snippet-background-color); + color: var(--snippet-text-color); + padding: 10px; + margin: 12px 0; + overflow: auto; + white-space: pre; +} +div.snippet-container { + position: relative; +} +@media screen and (max-width: 800px) { + pre.snippet { + padding-top: 26px; + } + button.snippet-copy { + top: 4px; + right: 4px; + } +} +pre.snippet .italic { + font-style: italic; +} +pre.snippet .bold { + font-weight: bold; +} +pre.snippet .highlighted { + background-color: var(--snippet-highlight-color); + border-radius: 10%; +} \ No newline at end of file diff --git a/releases/3.45.2/apidocs/resource-files/x.png b/releases/3.45.2/apidocs/resource-files/x.png new file mode 100644 index 0000000000000000000000000000000000000000..30548a756e151be4e927e8d28c508cc5b3514bf3 GIT binary patch literal 394 zcmV;50d@X~P)W6IT{!St5~1{i=i}zAy76p%_|w8rh@@c0Axr!ns=D-X+|*sY6!@wacG9%)Qn*O zl0sa739kT-&_?#oVxXF6tOnqTD)cZ}2vi$`ZU8RLAlo8=_z#*P3xI~i!lEh+Pdu-L zx{d*wgjtXbnGX_Yf@Tc7Q3YhLhPvc8noGJs2DA~1DySiA&6V{5JzFt ojAY1KXm~va;tU{v7C?Xj0BHw!K;2aXV*mgE07*qoM6N<$f;4TDA^-pY literal 0 HcmV?d00001 diff --git a/releases/3.45.2/apidocs/script-files/jquery-3.6.1.min.js b/releases/3.45.2/apidocs/script-files/jquery-3.6.1.min.js new file mode 100644 index 00000000000..9b1731997a6 --- /dev/null +++ b/releases/3.45.2/apidocs/script-files/jquery-3.6.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthC(E(s),E(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,l=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("
    ").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("
    ").text(i))},100))},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("
    ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?this.document[0].body:t},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(x("
    ").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget("ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1").text(e))},100))}});x.ui.autocomplete}); \ No newline at end of file diff --git a/releases/3.45.2/apidocs/script-files/script.js b/releases/3.45.2/apidocs/script-files/script.js new file mode 100644 index 00000000000..dc10e07df6d --- /dev/null +++ b/releases/3.45.2/apidocs/script-files/script.js @@ -0,0 +1,236 @@ +/* + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. + * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; + +var oddRowColor = "odd-row-color"; +var evenRowColor = "even-row-color"; +var sortAsc = "sort-asc"; +var sortDesc = "sort-desc"; +var tableTab = "table-tab"; +var activeTableTab = "active-table-tab"; + +function loadScripts(doc, tag) { + createElem(doc, tag, 'script-files/search.js'); + + createElem(doc, tag, 'module-search-index.js'); + createElem(doc, tag, 'package-search-index.js'); + createElem(doc, tag, 'type-search-index.js'); + createElem(doc, tag, 'member-search-index.js'); + createElem(doc, tag, 'tag-search-index.js'); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +// Helper for making content containing release names comparable lexicographically +function makeComparable(s) { + return s.toLowerCase().replace(/(\d+)/g, + function(n, m) { + return ("000" + m).slice(-4); + }); +} + +// Switches between two styles depending on a condition +function toggleStyle(classList, condition, trueStyle, falseStyle) { + if (condition) { + classList.remove(falseStyle); + classList.add(trueStyle); + } else { + classList.remove(trueStyle); + classList.add(falseStyle); + } +} + +// Sorts the rows in a table lexicographically by the content of a specific column +function sortTable(header, columnIndex, columns) { + var container = header.parentElement; + var descending = header.classList.contains(sortAsc); + container.querySelectorAll("div.table-header").forEach( + function(header) { + header.classList.remove(sortAsc); + header.classList.remove(sortDesc); + } + ) + var cells = container.children; + var rows = []; + for (var i = columns; i < cells.length; i += columns) { + rows.push(Array.prototype.slice.call(cells, i, i + columns)); + } + var comparator = function(a, b) { + var ka = makeComparable(a[columnIndex].textContent); + var kb = makeComparable(b[columnIndex].textContent); + if (ka < kb) + return descending ? 1 : -1; + if (ka > kb) + return descending ? -1 : 1; + return 0; + }; + var sorted = rows.sort(comparator); + var visible = 0; + sorted.forEach(function(row) { + if (row[0].style.display !== 'none') { + var isEvenRow = visible++ % 2 === 0; + } + row.forEach(function(cell) { + toggleStyle(cell.classList, isEvenRow, evenRowColor, oddRowColor); + container.appendChild(cell); + }) + }); + toggleStyle(header.classList, descending, sortDesc, sortAsc); +} + +// Toggles the visibility of a table category in all tables in a page +function toggleGlobal(checkbox, selected, columns) { + var display = checkbox.checked ? '' : 'none'; + document.querySelectorAll("div.table-tabs").forEach(function(t) { + var id = t.parentElement.getAttribute("id"); + var selectedClass = id + "-tab" + selected; + // if selected is empty string it selects all uncategorized entries + var selectUncategorized = !Boolean(selected); + var visible = 0; + document.querySelectorAll('div.' + id) + .forEach(function(elem) { + if (selectUncategorized) { + if (elem.className.indexOf(selectedClass) === -1) { + elem.style.display = display; + } + } else if (elem.classList.contains(selectedClass)) { + elem.style.display = display; + } + if (elem.style.display === '') { + var isEvenRow = visible++ % (columns * 2) < columns; + toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor); + } + }); + var displaySection = visible === 0 ? 'none' : ''; + t.parentElement.style.display = displaySection; + document.querySelector("li#contents-" + id).style.display = displaySection; + }) +} + +// Shows the elements of a table belonging to a specific category +function show(tableId, selected, columns) { + if (tableId !== selected) { + document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') + .forEach(function(elem) { + elem.style.display = 'none'; + }); + } + document.querySelectorAll('div.' + selected) + .forEach(function(elem, index) { + elem.style.display = ''; + var isEvenRow = index % (columns * 2) < columns; + toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor); + }); + updateTabs(tableId, selected); +} + +function updateTabs(tableId, selected) { + document.querySelector('div#' + tableId +' .summary-table') + .setAttribute('aria-labelledby', selected); + document.querySelectorAll('button[id^="' + tableId + '"]') + .forEach(function(tab, index) { + if (selected === tab.id || (tableId === selected && index === 0)) { + tab.className = activeTableTab; + tab.setAttribute('aria-selected', true); + tab.setAttribute('tabindex',0); + } else { + tab.className = tableTab; + tab.setAttribute('aria-selected', false); + tab.setAttribute('tabindex',-1); + } + }); +} + +function switchTab(e) { + var selected = document.querySelector('[aria-selected=true]'); + if (selected) { + if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { + // left or up arrow key pressed: move focus to previous tab + selected.previousSibling.click(); + selected.previousSibling.focus(); + e.preventDefault(); + } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { + // right or down arrow key pressed: move focus to next tab + selected.nextSibling.click(); + selected.nextSibling.focus(); + e.preventDefault(); + } + } +} + +var updateSearchResults = function() {}; + +function indexFilesLoaded() { + return moduleSearchIndex + && packageSearchIndex + && typeSearchIndex + && memberSearchIndex + && tagSearchIndex; +} +// Copy the contents of the local snippet to the clipboard +function copySnippet(button) { + copyToClipboard(button.nextElementSibling.innerText); + switchCopyLabel(button, button.firstElementChild); +} +function copyToClipboard(content) { + var textarea = document.createElement("textarea"); + textarea.style.height = 0; + document.body.appendChild(textarea); + textarea.value = content; + textarea.select(); + document.execCommand("copy"); + document.body.removeChild(textarea); +} +function switchCopyLabel(button, span) { + var copied = span.getAttribute("data-copied"); + button.classList.add("visible"); + var initialLabel = span.innerHTML; + span.innerHTML = copied; + setTimeout(function() { + button.classList.remove("visible"); + setTimeout(function() { + if (initialLabel !== copied) { + span.innerHTML = initialLabel; + } + }, 100); + }, 1900); +} +// Dynamically set scroll margin to accomodate for draft header +document.addEventListener("DOMContentLoaded", function(e) { + document.querySelectorAll(':not(input)[id]').forEach( + function(c) { + c.style["scroll-margin-top"] = Math.ceil(document.querySelector("header").offsetHeight) + "px" + }); +}); \ No newline at end of file diff --git a/releases/3.45.2/apidocs/script-files/search-page.js b/releases/3.45.2/apidocs/script-files/search-page.js new file mode 100644 index 00000000000..f2146352dc4 --- /dev/null +++ b/releases/3.45.2/apidocs/script-files/search-page.js @@ -0,0 +1,284 @@ +/* + * Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. + * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ + +"use strict"; +$(function() { + var copy = $("#page-search-copy"); + var expand = $("#page-search-expand"); + var searchLink = $("span#page-search-link"); + var redirect = $("input#search-redirect"); + function setSearchUrlTemplate() { + var href = document.location.href.split(/[#?]/)[0]; + href += "?q=" + "%s"; + if (redirect.is(":checked")) { + href += "&r=1"; + } + searchLink.html(href); + copy[0].onmouseenter(); + } + function copyLink(e) { + copyToClipboard(this.previousSibling.innerText); + switchCopyLabel(this, this.lastElementChild); + } + copy.click(copyLink); + copy[0].onmouseenter = function() {}; + redirect.click(setSearchUrlTemplate); + setSearchUrlTemplate(); + copy.prop("disabled", false); + redirect.prop("disabled", false); + expand.click(function (e) { + var searchInfo = $("div.page-search-info"); + if(this.parentElement.hasAttribute("open")) { + searchInfo.attr("style", "border-width: 0;"); + } else { + searchInfo.attr("style", "border-width: 1px;").height(searchInfo.prop("scrollHeight")); + } + }); +}); +$(window).on("load", function() { + var input = $("#page-search-input"); + var reset = $("#page-search-reset"); + var notify = $("#page-search-notify"); + var resultSection = $("div#result-section"); + var resultContainer = $("div#result-container"); + var searchTerm = ""; + var activeTab = ""; + var fixedTab = false; + var visibleTabs = []; + var feelingLucky = false; + function renderResults(result) { + if (!result.length) { + notify.html(messages.noResult); + } else if (result.length === 1) { + notify.html(messages.oneResult); + } else { + notify.html(messages.manyResults.replace("{0}", result.length)); + } + resultContainer.empty(); + var r = { + "types": [], + "members": [], + "packages": [], + "modules": [], + "searchTags": [] + }; + for (var i in result) { + var item = result[i]; + var arr = r[item.category]; + arr.push(item); + } + if (!activeTab || r[activeTab].length === 0 || !fixedTab) { + Object.keys(r).reduce(function(prev, curr) { + if (r[curr].length > 0 && r[curr][0].score > prev) { + activeTab = curr; + return r[curr][0].score; + } + return prev; + }, 0); + } + if (feelingLucky && activeTab) { + notify.html(messages.redirecting) + var firstItem = r[activeTab][0]; + window.location = getURL(firstItem.indexItem, firstItem.category); + return; + } + if (result.length > 20) { + if (searchTerm[searchTerm.length - 1] === ".") { + if (activeTab === "types" && r["members"].length > r["types"].length) { + activeTab = "members"; + } else if (activeTab === "packages" && r["types"].length > r["packages"].length) { + activeTab = "types"; + } + } + } + var categoryCount = Object.keys(r).reduce(function(prev, curr) { + return prev + (r[curr].length > 0 ? 1 : 0); + }, 0); + visibleTabs = []; + var tabContainer = $("
    ").appendTo(resultContainer); + for (var key in r) { + var id = "#result-tab-" + key.replace("searchTags", "search_tags"); + if (r[key].length) { + var count = r[key].length >= 1000 ? "999+" : r[key].length; + if (result.length > 20 && categoryCount > 1) { + var button = $("").appendTo(tabContainer); + button.click(key, function(e) { + fixedTab = true; + renderResult(e.data, $(this)); + }); + visibleTabs.push(key); + } else { + $("" + categories[key] + + " (" + count + ")").appendTo(tabContainer); + renderTable(key, r[key]).appendTo(resultContainer); + tabContainer = $("
    ").appendTo(resultContainer); + + } + } + } + if (activeTab && result.length > 20 && categoryCount > 1) { + $("button#result-tab-" + activeTab).addClass("active-table-tab"); + renderTable(activeTab, r[activeTab]).appendTo(resultContainer); + } + resultSection.show(); + function renderResult(category, button) { + activeTab = category; + setSearchUrl(); + resultContainer.find("div.summary-table").remove(); + renderTable(activeTab, r[activeTab]).appendTo(resultContainer); + button.siblings().removeClass("active-table-tab"); + button.addClass("active-table-tab"); + } + } + function selectTab(category) { + $("button#result-tab-" + category).click(); + } + function renderTable(category, items) { + var table = $("
    ") + .addClass(category === "modules" + ? "one-column-search-results" + : "two-column-search-results"); + var col1, col2; + if (category === "modules") { + col1 = "Module"; + } else if (category === "packages") { + col1 = "Module"; + col2 = "Package"; + } else if (category === "types") { + col1 = "Package"; + col2 = "Class" + } else if (category === "members") { + col1 = "Class"; + col2 = "Member"; + } else if (category === "searchTags") { + col1 = "Location"; + col2 = "Name"; + } + $("
    " + col1 + "
    ").appendTo(table); + if (category !== "modules") { + $("
    " + col2 + "
    ").appendTo(table); + } + $.each(items, function(index, item) { + var rowColor = index % 2 ? "odd-row-color" : "even-row-color"; + renderItem(item, table, rowColor); + }); + return table; + } + function renderItem(item, table, rowColor) { + var label = getHighlightedText(item.input, item.boundaries, item.prefix.length, item.input.length); + var link = $("") + .attr("href", getURL(item.indexItem, item.category)) + .attr("tabindex", "0") + .addClass("search-result-link") + .html(label); + var container = getHighlightedText(item.input, item.boundaries, 0, item.prefix.length - 1); + if (item.category === "searchTags") { + container = item.indexItem.h || ""; + } + if (item.category !== "modules") { + $("
    ").html(container).addClass("col-plain").addClass(rowColor).appendTo(table); + } + $("
    ").html(link).addClass("col-last").addClass(rowColor).appendTo(table); + } + var timeout; + function schedulePageSearch() { + if (timeout) { + clearTimeout(timeout); + } + timeout = setTimeout(function () { + doPageSearch() + }, 100); + } + function doPageSearch() { + setSearchUrl(); + var term = searchTerm = input.val().trim(); + if (term === "") { + notify.html(messages.enterTerm); + activeTab = ""; + fixedTab = false; + resultContainer.empty(); + resultSection.hide(); + } else { + notify.html(messages.searching); + doSearch({ term: term, maxResults: 1200 }, renderResults); + } + } + function setSearchUrl() { + var query = input.val().trim(); + var url = document.location.pathname; + if (query) { + url += "?q=" + encodeURI(query); + if (activeTab && fixedTab) { + url += "&c=" + activeTab; + } + } + history.replaceState({query: query}, "", url); + } + input.on("input", function(e) { + feelingLucky = false; + schedulePageSearch(); + }); + $(document).keydown(function(e) { + if ((e.ctrlKey || e.metaKey) && (e.key === "ArrowLeft" || e.key === "ArrowRight")) { + if (activeTab && visibleTabs.length > 1) { + var idx = visibleTabs.indexOf(activeTab); + idx += e.key === "ArrowLeft" ? visibleTabs.length - 1 : 1; + selectTab(visibleTabs[idx % visibleTabs.length]); + return false; + } + } + }); + reset.click(function() { + notify.html(messages.enterTerm); + resultSection.hide(); + activeTab = ""; + fixedTab = false; + resultContainer.empty(); + input.val('').focus(); + setSearchUrl(); + }); + input.prop("disabled", false); + reset.prop("disabled", false); + + var urlParams = new URLSearchParams(window.location.search); + if (urlParams.has("q")) { + input.val(urlParams.get("q")) + } + if (urlParams.has("c")) { + activeTab = urlParams.get("c"); + fixedTab = true; + } + if (urlParams.get("r")) { + feelingLucky = true; + } + if (input.val()) { + doPageSearch(); + } else { + notify.html(messages.enterTerm); + } + input.select().focus(); +}); \ No newline at end of file diff --git a/releases/3.45.2/apidocs/script-files/search.js b/releases/3.45.2/apidocs/script-files/search.js new file mode 100644 index 00000000000..e6f8856c890 --- /dev/null +++ b/releases/3.45.2/apidocs/script-files/search.js @@ -0,0 +1,485 @@ +/* + * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved. + * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +"use strict"; +const messages = { + enterTerm: "Enter a search term", + noResult: "No results found", + oneResult: "Found one result", + manyResults: "Found {0} results", + loading: "Loading search index...", + searching: "Searching...", + redirecting: "Redirecting to first result...", + linkIcon: "Link icon", + linkToSection: "Link to this section" +} +const categories = { + modules: "Modules", + packages: "Packages", + types: "Types", + members: "Members", + searchTags: "Search Tags" +}; +const highlight = "$&"; +const NO_MATCH = {}; +const MAX_RESULTS = 300; +const UNICODE_LETTER = 0; +const UNICODE_DIGIT = 1; +const UNICODE_OTHER = 2; +function checkUnnamed(name, separator) { + return name === "" || !name ? "" : name + separator; +} +function escapeHtml(str) { + return str.replace(//g, ">"); +} +function getHighlightedText(str, boundaries, from, to) { + var start = from; + var text = ""; + for (var i = 0; i < boundaries.length; i += 2) { + var b0 = boundaries[i]; + var b1 = boundaries[i + 1]; + if (b0 >= to || b1 <= from) { + continue; + } + text += escapeHtml(str.slice(start, Math.max(start, b0))); + text += ""; + text += escapeHtml(str.slice(Math.max(start, b0), Math.min(to, b1))); + text += ""; + start = Math.min(to, b1); + } + text += escapeHtml(str.slice(start, to)); + return text; +} +function getURLPrefix(item, category) { + var urlPrefix = ""; + var slash = "/"; + if (category === "modules") { + return item.l + slash; + } else if (category === "packages" && item.m) { + return item.m + slash; + } else if (category === "types" || category === "members") { + if (item.m) { + urlPrefix = item.m + slash; + } else { + $.each(packageSearchIndex, function(index, it) { + if (it.m && item.p === it.l) { + urlPrefix = it.m + slash; + } + }); + } + } + return urlPrefix; +} +function getURL(item, category) { + if (item.url) { + return item.url; + } + var url = getURLPrefix(item, category); + if (category === "modules") { + url += "module-summary.html"; + } else if (category === "packages") { + if (item.u) { + url = item.u; + } else { + url += item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (category === "types") { + if (item.u) { + url = item.u; + } else { + url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.l + ".html"; + } + } else if (category === "members") { + url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.c + ".html" + "#"; + if (item.u) { + url += item.u; + } else { + url += item.l; + } + } else if (category === "searchTags") { + url += item.u; + } + item.url = url; + return url; +} +function createMatcher(term, camelCase) { + if (camelCase && !isUpperCase(term)) { + return null; // no need for camel-case matcher for lower case query + } + var pattern = ""; + var upperCase = []; + term.trim().split(/\s+/).forEach(function(w, index, array) { + var tokens = w.split(/(?=[\p{Lu},.()<>?[\/])/u); + for (var i = 0; i < tokens.length; i++) { + var s = tokens[i]; + // ',' and '?' are the only delimiters commonly followed by space in java signatures + pattern += "(" + escapeUnicodeRegex(s).replace(/[,?]/g, "$&\\s*?") + ")"; + upperCase.push(false); + var isWordToken = /[\p{L}\p{Nd}_]$/u.test(s); + if (isWordToken) { + if (i === tokens.length - 1 && index < array.length - 1) { + // space in query string matches all delimiters + pattern += "(.*?)"; + upperCase.push(isUpperCase(s[0])); + } else { + if (!camelCase && isUpperCase(s) && s.length === 1) { + pattern += "()"; + } else { + pattern += "([\\p{L}\\p{Nd}\\p{Sc}<>?[\\]]*?)"; + } + upperCase.push(isUpperCase(s[0])); + } + } else { + pattern += "()"; + upperCase.push(false); + } + } + }); + var re = new RegExp(pattern, "gui"); + re.upperCase = upperCase; + return re; +} +// Unicode regular expressions do not allow certain characters to be escaped +function escapeUnicodeRegex(pattern) { + return pattern.replace(/[\[\]{}()*+?.\\^$|\s]/g, '\\$&'); +} +function findMatch(matcher, input, startOfName, endOfName) { + var from = startOfName; + matcher.lastIndex = from; + var match = matcher.exec(input); + // Expand search area until we get a valid result or reach the beginning of the string + while (!match || match.index + match[0].length < startOfName || endOfName < match.index) { + if (from === 0) { + return NO_MATCH; + } + from = input.lastIndexOf(".", from - 2) + 1; + matcher.lastIndex = from; + match = matcher.exec(input); + } + var boundaries = []; + var matchEnd = match.index + match[0].length; + var score = 5; + var start = match.index; + var prevEnd = -1; + for (var i = 1; i < match.length; i += 2) { + var charType = getCharType(input[start]); + var isMatcherUpper = matcher.upperCase[i]; + // capturing groups come in pairs, match and non-match + boundaries.push(start, start + match[i].length); + // make sure groups are anchored on a left word boundary + var prevChar = input[start - 1] || ""; + var nextChar = input[start + 1] || ""; + if (start !== 0) { + if (charType === UNICODE_DIGIT && getCharType(prevChar) === UNICODE_DIGIT) { + return NO_MATCH; + } else if (charType === UNICODE_LETTER && getCharType(prevChar) === UNICODE_LETTER) { + var isUpper = isUpperCase(input[start]); + if (isUpper && (isLowerCase(prevChar) || isLowerCase(nextChar))) { + score -= 0.1; + } else if (isMatcherUpper && start === prevEnd) { + score -= isUpper ? 0.1 : 1.0; + } else { + return NO_MATCH; + } + } + } + prevEnd = start + match[i].length; + start += match[i].length + match[i + 1].length; + + // lower score for parts of the name that are missing + if (match[i + 1] && prevEnd < endOfName) { + score -= rateNoise(match[i + 1]); + } + } + // lower score if a type name contains unmatched camel-case parts + if (input[matchEnd - 1] !== "." && endOfName > matchEnd) + score -= rateNoise(input.slice(matchEnd, endOfName)); + score -= rateNoise(input.slice(0, Math.max(startOfName, match.index))); + + if (score <= 0) { + return NO_MATCH; + } + return { + input: input, + score: score, + boundaries: boundaries + }; +} +function isLetter(s) { + return /\p{L}/u.test(s); +} +function isUpperCase(s) { + return /\p{Lu}/u.test(s); +} +function isLowerCase(s) { + return /\p{Ll}/u.test(s); +} +function isDigit(s) { + return /\p{Nd}/u.test(s); +} +function getCharType(s) { + if (isLetter(s)) { + return UNICODE_LETTER; + } else if (isDigit(s)) { + return UNICODE_DIGIT; + } else { + return UNICODE_OTHER; + } +} +function rateNoise(str) { + return (str.match(/([.(])/g) || []).length / 5 + + (str.match(/(\p{Lu}+)/gu) || []).length / 10 + + str.length / 20; +} +function doSearch(request, response) { + var term = request.term.trim(); + var maxResults = request.maxResults || MAX_RESULTS; + if (term.length === 0) { + return this.close(); + } + var matcher = { + plainMatcher: createMatcher(term, false), + camelCaseMatcher: createMatcher(term, true) + } + var indexLoaded = indexFilesLoaded(); + + function getPrefix(item, category) { + switch (category) { + case "packages": + return checkUnnamed(item.m, "/"); + case "types": + return checkUnnamed(item.p, "."); + case "members": + return checkUnnamed(item.p, ".") + item.c + "."; + default: + return ""; + } + } + function useQualifiedName(category) { + switch (category) { + case "packages": + return /[\s/]/.test(term); + case "types": + case "members": + return /[\s.]/.test(term); + default: + return false; + } + } + function searchIndex(indexArray, category) { + var matches = []; + if (!indexArray) { + if (!indexLoaded) { + matches.push({ l: messages.loading, category: category }); + } + return matches; + } + $.each(indexArray, function (i, item) { + var prefix = getPrefix(item, category); + var simpleName = item.l; + var qualifiedName = prefix + simpleName; + var useQualified = useQualifiedName(category); + var input = useQualified ? qualifiedName : simpleName; + var startOfName = useQualified ? prefix.length : 0; + var endOfName = category === "members" && input.indexOf("(", startOfName) > -1 + ? input.indexOf("(", startOfName) : input.length; + var m = findMatch(matcher.plainMatcher, input, startOfName, endOfName); + if (m === NO_MATCH && matcher.camelCaseMatcher) { + m = findMatch(matcher.camelCaseMatcher, input, startOfName, endOfName); + } + if (m !== NO_MATCH) { + m.indexItem = item; + m.prefix = prefix; + m.category = category; + if (!useQualified) { + m.input = qualifiedName; + m.boundaries = m.boundaries.map(function(b) { + return b + prefix.length; + }); + } + matches.push(m); + } + return true; + }); + return matches.sort(function(e1, e2) { + return e2.score - e1.score; + }).slice(0, maxResults); + } + + var result = searchIndex(moduleSearchIndex, "modules") + .concat(searchIndex(packageSearchIndex, "packages")) + .concat(searchIndex(typeSearchIndex, "types")) + .concat(searchIndex(memberSearchIndex, "members")) + .concat(searchIndex(tagSearchIndex, "searchTags")); + + if (!indexLoaded) { + updateSearchResults = function() { + doSearch(request, response); + } + } else { + updateSearchResults = function() {}; + } + response(result); +} +// JQuery search menu implementation +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> .result-item"); + // workaround for search result scrolling + this.menu._scrollIntoView = function _scrollIntoView( item ) { + var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight; + if ( this._hasScroll() ) { + borderTop = parseFloat( $.css( this.activeMenu[ 0 ], "borderTopWidth" ) ) || 0; + paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], "paddingTop" ) ) || 0; + offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop; + scroll = this.activeMenu.scrollTop(); + elementHeight = this.activeMenu.height() - 26; + itemHeight = item.outerHeight(); + + if ( offset < 0 ) { + this.activeMenu.scrollTop( scroll + offset ); + } else if ( offset + itemHeight > elementHeight ) { + this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight ); + } + } + }; + }, + _renderMenu: function(ul, items) { + var currentCategory = ""; + var widget = this; + widget.menu.bindings = $(); + $.each(items, function(index, item) { + if (item.category && item.category !== currentCategory) { + ul.append("
  • " + categories[item.category] + "
  • "); + currentCategory = item.category; + } + var li = widget._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", categories[item.category] + " : " + item.l); + } else { + li.attr("aria-label", item.l); + } + li.attr("class", "result-item"); + }); + ul.append("
    "); + }, + _renderItem: function(ul, item) { + var li = $("
  • ").appendTo(ul); + var div = $("
    ").appendTo(li); + var label = item.l + ? item.l + : getHighlightedText(item.input, item.boundaries, 0, item.input.length); + var idx = item.indexItem; + if (item.category === "searchTags" && idx && idx.h) { + if (idx.d) { + div.html(label + " (" + idx.h + ")
    " + + idx.d + "
    "); + } else { + div.html(label + " (" + idx.h + ")"); + } + } else { + div.html(label); + } + return li; + } +}); +$(function() { + var expanded = false; + var windowWidth; + function collapse() { + if (expanded) { + $("div#navbar-top").removeAttr("style"); + $("button#navbar-toggle-button") + .removeClass("expanded") + .attr("aria-expanded", "false"); + expanded = false; + } + } + $("button#navbar-toggle-button").click(function (e) { + if (expanded) { + collapse(); + } else { + var navbar = $("div#navbar-top"); + navbar.height(navbar.prop("scrollHeight")); + $("button#navbar-toggle-button") + .addClass("expanded") + .attr("aria-expanded", "true"); + expanded = true; + windowWidth = window.innerWidth; + } + }); + $("ul.sub-nav-list-small li a").click(collapse); + $("input#search-input").focus(collapse); + $("main").click(collapse); + $("section[id] > :header, :header[id], :header:has(a[id])").each(function(idx, el) { + // Create anchor links for headers with an associated id attribute + var hdr = $(el); + var id = hdr.attr("id") || hdr.parent("section").attr("id") || hdr.children("a").attr("id"); + if (id) { + hdr.append(" " + messages.linkIcon +""); + } + }); + $(window).on("orientationchange", collapse).on("resize", function(e) { + if (expanded && windowWidth !== window.innerWidth) collapse(); + }); + var search = $("#search-input"); + var reset = $("#reset-button"); + search.catcomplete({ + minLength: 1, + delay: 200, + source: doSearch, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push({ l: messages.noResult }); + } else { + $("#search-input").empty(); + } + }, + autoFocus: true, + focus: function(event, ui) { + return false; + }, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.indexItem) { + var url = getURL(ui.item.indexItem, ui.item.category); + window.location.href = pathtoroot + url; + $("#search-input").focus(); + } + } + }); + search.val(''); + search.prop("disabled", false); + reset.prop("disabled", false); + reset.click(function() { + search.val('').focus(); + }); + search.focus(); +}); \ No newline at end of file diff --git a/releases/3.45.2/apidocs/search.html b/releases/3.45.2/apidocs/search.html new file mode 100644 index 00000000000..f520c2b409a --- /dev/null +++ b/releases/3.45.2/apidocs/search.html @@ -0,0 +1,71 @@ + + + + +Search (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
    + +
    +
    +

    Search

    +
    + + +
    +Additional resources +
    +
    +
    +

    You can use the <ctrl> or <cmd> keys in combination with the left and right arrow keys to switch between result tabs in this page.

    +

    The URL template below may be used to configure this page as a search engine in browsers that support this feature. It has been tested to work in Google Chrome and Mozilla Firefox. Note that other browsers may not support this feature or require a different URL format.

    +link +

    + +

    +
    +

    Loading search index...

    + +
    +
    +
    + +
    + + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/serialized-form.html b/releases/3.45.2/apidocs/serialized-form.html new file mode 100644 index 00000000000..0a6563b5cd1 --- /dev/null +++ b/releases/3.45.2/apidocs/serialized-form.html @@ -0,0 +1,333 @@ + + + + +Serialized Form (Jdbi3 3.45.2 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Serialized Form

    +
    + +
    +
    +
    + +
    + + \ No newline at end of file diff --git a/releases/3.45.2/apidocs/tag-search-index.js b/releases/3.45.2/apidocs/tag-search-index.js new file mode 100644 index 00000000000..a48460502ed --- /dev/null +++ b/releases/3.45.2/apidocs/tag-search-index.js @@ -0,0 +1 @@ +tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"},{"l":"Default Methods","h":"package org.jdbi.v3.sqlobject","d":"Section","u":"org/jdbi/v3/sqlobject/package-summary.html#default-methods-heading"},{"l":"Mixin Interfaces","h":"package org.jdbi.v3.sqlobject","d":"Section","u":"org/jdbi/v3/sqlobject/package-summary.html#mixin-interfaces-heading"},{"l":"Serialized Form","h":"","u":"serialized-form.html"},{"l":"SQL Objects","h":"package org.jdbi.v3.sqlobject","d":"Section","u":"org/jdbi/v3/sqlobject/package-summary.html#sql-objects-heading"},{"l":"Transactions","h":"package org.jdbi.v3.sqlobject","d":"Section","u":"org/jdbi/v3/sqlobject/package-summary.html#transactions-heading"}];updateSearchResults(); \ No newline at end of file diff --git a/releases/3.45.2/apidocs/type-search-index.js b/releases/3.45.2/apidocs/type-search-index.js new file mode 100644 index 00000000000..1c5f090aff5 --- /dev/null +++ b/releases/3.45.2/apidocs/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"p":"org.jdbi.v3.core.argument","l":"AbstractArgumentFactory"},{"p":"org.jdbi.v3.guice","l":"AbstractJdbiConfigurationModule"},{"p":"org.jdbi.v3.guice","l":"AbstractJdbiDefinitionModule"},{"p":"org.jdbi.v3.core.async","l":"AbstractJdbiExecutor"},{"p":"org.jdbi.v3.core.mapper.reflect","l":"AbstractSeparatorCharColumnNameMatcher"},{"p":"org.jdbi.v3.core.mapper.reflect","l":"AccessibleObjectStrategy"},{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"AllowUnusedBindings"},{"p":"org.jdbi.v3.meta","l":"Alpha"},{"p":"org.jdbi.v3.sqlobject.locator","l":"AnnotationSqlLocator"},{"p":"org.jdbi.v3.core.argument","l":"Argument"},{"p":"org.jdbi.v3.core.argument","l":"ArgumentFactory"},{"p":"org.jdbi.v3.core.argument","l":"Arguments"},{"p":"org.jdbi.v3.core.statement","l":"Batch"},{"p":"org.jdbi.v3.sqlobject.statement","l":"BatchChunkSize"},{"p":"org.jdbi.v3.core.result","l":"BatchResultBearing"},{"p":"org.jdbi.v3.core.result","l":"BatchResultIterable"},{"p":"org.jdbi.v3.core.mapper.reflect","l":"BeanMapper"},{"p":"org.jdbi.v3.core.argument","l":"BeanPropertyArguments"},{"p":"org.jdbi.v3.meta","l":"Beta"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"Bind"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"BindBean"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"BindBeanList"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"BindFields"},{"p":"org.jdbi.v3.core.statement","l":"Binding"},{"p":"org.jdbi.v3.jpa","l":"BindJpa"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"BindList"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"BindMap"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"BindMethods"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"BindMethodsList"},{"p":"org.jdbi.v3.sqlobject.statement","l":"BindParameterCustomizerFactory"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"BindPojo"},{"p":"org.jdbi.v3.core.codec","l":"CodecFactory.Builder"},{"p":"org.jdbi.v3.core.extension","l":"ExtensionMetadata.Builder"},{"p":"org.jdbi.v3.core.statement","l":"ParsedSql.Builder"},{"p":"org.jdbi.v3.core.argument","l":"BuiltInArgumentFactory"},{"p":"org.jdbi.v3.core.collector","l":"BuiltInCollectorFactory"},{"p":"org.jdbi.v3.core.mapper","l":"BuiltInMapperFactory"},{"p":"org.jdbi.v3.core.statement","l":"CachingSqlParser"},{"p":"org.jdbi.v3.cache.caffeine","l":"CaffeineCache"},{"p":"org.jdbi.v3.cache.caffeine","l":"CaffeineCacheBuilder"},{"p":"org.jdbi.v3.cache.caffeine","l":"CaffeineCachePlugin"},{"p":"org.jdbi.v3.cache.caffeine","l":"CaffeineLoadingCache"},{"p":"org.jdbi.v3.core.statement","l":"Call"},{"p":"org.jdbi.v3.core.statement","l":"CallableStatementMapper"},{"p":"org.jdbi.v3.core.mapper.reflect","l":"CaseInsensitiveColumnNameMatcher"},{"p":"org.jdbi.v3.core.mapper","l":"CaseStrategy"},{"p":"org.jdbi.v3.core.argument","l":"CharacterStreamArgument"},{"p":"org.jdbi.v3.core.argument","l":"CharSequenceArgumentFactory"},{"p":"org.jdbi.v3.core.locator","l":"ClasspathSqlLocator"},{"p":"org.jdbi.v3.core.statement","l":"Cleanable"},{"p":"org.jdbi.v3.core","l":"CloseException"},{"p":"org.jdbi.v3.core.transaction","l":"CMTTransactionHandler"},{"p":"org.jdbi.v3.core.codec","l":"Codec"},{"p":"org.jdbi.v3.core.codec","l":"CodecFactory"},{"p":"org.jdbi.v3.core.collector","l":"CollectorFactory"},{"p":"org.jdbi.v3.core.statement","l":"ColonPrefixSqlParser"},{"p":"org.jdbi.v3.core.mapper","l":"ColumnMapper"},{"p":"org.jdbi.v3.core.mapper","l":"ColumnMapperFactory"},{"p":"org.jdbi.v3.core.mapper","l":"ColumnMappers"},{"p":"org.jdbi.v3.core.mapper.reflect","l":"ColumnName"},{"p":"org.jdbi.v3.core.mapper.reflect","l":"ColumnNameMatcher"},{"p":"org.jdbi.v3.core.config","l":"ConfigCustomizer"},{"p":"org.jdbi.v3.core.extension","l":"ConfigCustomizerFactory"},{"p":"org.jdbi.v3.core.config","l":"ConfigRegistry"},{"p":"org.jdbi.v3.core.config","l":"Configurable"},{"p":"org.jdbi.v3.core.transaction","l":"SerializableTransactionRunner.Configuration"},{"p":"org.jdbi.v3.sqlobject.config","l":"Configurer"},{"p":"org.jdbi.v3.sqlobject.config","l":"ConfiguringAnnotation"},{"p":"org.jdbi.v3.core.config","l":"ConfiguringPlugin"},{"p":"org.jdbi.v3.core","l":"ConnectionException"},{"p":"org.jdbi.v3.core","l":"ConnectionFactory"},{"p":"org.jdbi.v3.core.mapper.reflect","l":"ConstructorMapper"},{"p":"org.jdbi.v3.sqlobject","l":"CreateSqlObject"},{"p":"org.jdbi.v3.core.enums","l":"DatabaseValue"},{"p":"org.jdbi.v3.jodatime2","l":"DateTimeArgumentFactory"},{"p":"org.jdbi.v3.jodatime2","l":"DateTimeMapper"},{"p":"org.jdbi.v3.sqlobject","l":"DecoratorOrder"},{"p":"org.jdbi.v3.core.statement","l":"DefaultStatementBuilder"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"Define"},{"p":"org.jdbi.v3.core.statement","l":"DefinedAttributeTemplateEngine"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"DefineList"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"DefineNamedBindings"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"Definition"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"Definitions"},{"p":"org.jdbi.v3.core.transaction","l":"DelegatingTransactionHandler"},{"p":"org.jdbi.v3.core.argument","l":"DirectArgumentFactory"},{"p":"org.jdbi.v3.postgres","l":"DurationArgumentFactory"},{"p":"org.jdbi.v3.postgres","l":"DurationColumnMapperFactory"},{"p":"org.jdbi.v3.core.collector","l":"ElementTypeNotFoundException"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"BindList.EmptyHandling"},{"p":"org.jdbi.v3.core.statement","l":"EmptyHandling"},{"p":"org.jdbi.v3.spring5","l":"EnableJdbiRepositories"},{"p":"org.jdbi.v3.json","l":"EncodedJson"},{"p":"org.jdbi.v3.jpa","l":"EntityMemberAccessException"},{"p":"org.jdbi.v3.core.enums","l":"EnumByName"},{"p":"org.jdbi.v3.core.mapper","l":"EnumByNameMapperFactory"},{"p":"org.jdbi.v3.core.enums","l":"EnumByOrdinal"},{"p":"org.jdbi.v3.core.mapper","l":"EnumByOrdinalMapperFactory"},{"p":"org.jdbi.v3.core.mapper","l":"EnumMapper"},{"p":"org.jdbi.v3.core.enums","l":"Enums"},{"p":"org.jdbi.v3.core.enums","l":"EnumStrategy"},{"p":"org.jdbi.v3.core.extension","l":"ExtensionCallback"},{"p":"org.jdbi.v3.core.extension","l":"ExtensionConfigurer"},{"p":"org.jdbi.v3.core.extension","l":"ExtensionConsumer"},{"p":"org.jdbi.v3.core.extension","l":"ExtensionContext"},{"p":"org.jdbi.v3.core.extension","l":"ExtensionFactory"},{"p":"org.jdbi.v3.core.extension","l":"ExtensionHandler"},{"p":"org.jdbi.v3.core.extension.annotation","l":"ExtensionHandlerCustomizationOrder"},{"p":"org.jdbi.v3.core.extension","l":"ExtensionHandlerCustomizer"},{"p":"org.jdbi.v3.core.extension","l":"ExtensionHandlerFactory"},{"p":"org.jdbi.v3.core.extension","l":"ExtensionMetadata.ExtensionHandlerInvoker"},{"p":"org.jdbi.v3.core.extension","l":"ExtensionMetadata"},{"p":"org.jdbi.v3.core.extension","l":"ExtensionMethod"},{"p":"org.jdbi.v3.core.extension","l":"Extensions"},{"p":"org.jdbi.v3.core.extension","l":"ExtensionFactory.FactoryFlag"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"FetchSize"},{"p":"org.jdbi.v3.core.mapper.reflect","l":"FieldMapper"},{"p":"org.jdbi.v3.freemarker","l":"FreemarkerConfig"},{"p":"org.jdbi.v3.freemarker","l":"FreemarkerEngine"},{"p":"org.jdbi.v3.freemarker","l":"FreemarkerSqlLocator"},{"p":"org.jdbi.v3.sqlobject","l":"GenerateSqlObject"},{"p":"org.jdbi.v3.generator","l":"GenerateSqlObjectProcessor"},{"p":"org.jdbi.v3.core.mapper","l":"GenericMapMapperFactory"},{"p":"org.jdbi.v3.core.generic","l":"GenericType"},{"p":"org.jdbi.v3.core.generic","l":"GenericTypes"},{"p":"org.jdbi.v3.sqlobject.statement","l":"GetGeneratedKeys"},{"p":"org.jdbi.v3.core.mapper","l":"GetObjectColumnMapperFactory"},{"p":"org.jdbi.v3.gson2","l":"Gson2Config"},{"p":"org.jdbi.v3.gson2","l":"Gson2Plugin"},{"p":"org.jdbi.v3.guava","l":"GuavaArguments"},{"p":"org.jdbi.v3.guava","l":"GuavaCollectors"},{"p":"org.jdbi.v3.guava","l":"GuavaPlugin"},{"p":"org.jdbi.v3.guice","l":"GuiceJdbiCustomizer"},{"p":"org.jdbi.v3.core.h2","l":"H2DatabasePlugin"},{"p":"org.jdbi.v3.core","l":"Handle"},{"p":"org.jdbi.v3.core","l":"HandleCallback"},{"p":"org.jdbi.v3.core","l":"HandleCallbackDecorator"},{"p":"org.jdbi.v3.core","l":"HandleConsumer"},{"p":"org.jdbi.v3.core","l":"HandleListener"},{"p":"org.jdbi.v3.sqlobject","l":"Handler"},{"p":"org.jdbi.v3.sqlobject","l":"HandlerDecorator"},{"p":"org.jdbi.v3.sqlobject","l":"HandlerDecorators"},{"p":"org.jdbi.v3.sqlobject","l":"HandlerFactory"},{"p":"org.jdbi.v3.sqlobject","l":"Handlers"},{"p":"org.jdbi.v3.core","l":"Handles"},{"p":"org.jdbi.v3.core","l":"HandleScope"},{"p":"org.jdbi.v3.core.extension","l":"HandleSupplier"},{"p":"org.jdbi.v3.core.statement","l":"HashPrefixSqlParser"},{"p":"org.jdbi.v3.postgres","l":"HStore"},{"p":"org.jdbi.v3.postgres","l":"HStoreArgumentFactory"},{"p":"org.jdbi.v3.postgres","l":"HStoreColumnMapper"},{"p":"org.jdbi.v3.postgres","l":"InetArgumentFactory"},{"p":"org.jdbi.v3.core.argument","l":"InputStreamArgument"},{"p":"org.jdbi.v3.core.result","l":"IteratorCallback"},{"p":"org.jdbi.v3.core.result","l":"IteratorConsumer"},{"p":"org.jdbi.v3.jackson2","l":"Jackson2Config"},{"p":"org.jdbi.v3.jackson2","l":"Jackson2Plugin"},{"p":"org.jdbi.v3.postgres","l":"JavaTimeArgumentFactory"},{"p":"org.jdbi.v3.postgres","l":"JavaTimeMapperFactory"},{"p":"org.jdbi.v3.core.argument","l":"JavaTimeZoneIdArgumentFactory"},{"p":"org.jdbi.v3.core","l":"Jdbi"},{"p":"org.jdbi.v3.guice","l":"JdbiBinder"},{"p":"org.jdbi.v3.core.cache","l":"JdbiCache"},{"p":"org.jdbi.v3.core.cache","l":"JdbiCacheBuilder"},{"p":"org.jdbi.v3.core.cache","l":"JdbiCacheLoader"},{"p":"org.jdbi.v3.core.cache","l":"JdbiCacheStats"},{"p":"org.jdbi.v3.core.collector","l":"JdbiCollectors"},{"p":"org.jdbi.v3.core.config","l":"JdbiConfig"},{"p":"org.jdbi.v3.core.mapper.reflect","l":"JdbiConstructor"},{"p":"org.jdbi.v3.core.mapper.reflect","l":"JdbiConstructors"},{"p":"org.jdbi.v3.core","l":"JdbiException"},{"p":"org.jdbi.v3.core.async","l":"JdbiExecutor"},{"p":"org.jdbi.v3.testing.junit5","l":"JdbiExtension"},{"p":"org.jdbi.v3.testing.junit5","l":"JdbiExtensionInitializer"},{"p":"org.jdbi.v3.testing.junit5","l":"JdbiExternalPostgresExtension"},{"p":"org.jdbi.v3.spring5","l":"JdbiFactoryBean"},{"p":"org.jdbi.v3.testing.junit5","l":"JdbiFlywayMigration"},{"p":"org.jdbi.v3.core.mapper.freebuilder","l":"JdbiFreeBuilders"},{"p":"org.jdbi.v3.testing.junit5","l":"JdbiGenericExtension"},{"p":"org.jdbi.v3.testing.junit5","l":"JdbiH2Extension"},{"p":"org.jdbi.v3.core.mapper.immutables","l":"JdbiImmutables"},{"p":"org.jdbi.v3.core.interceptor","l":"JdbiInterceptionChain"},{"p":"org.jdbi.v3.core.interceptor","l":"JdbiInterceptionChainHolder"},{"p":"org.jdbi.v3.core.interceptor","l":"JdbiInterceptor"},{"p":"org.jdbi.v3.testing.junit5","l":"JdbiOtjPostgresExtension"},{"p":"org.jdbi.v3.core.spi","l":"JdbiPlugin"},{"p":"org.jdbi.v3.testing.junit5","l":"JdbiPostgresExtension"},{"p":"org.jdbi.v3.core.annotation","l":"JdbiProperty"},{"p":"org.jdbi.v3.spring5","l":"JdbiRepository"},{"p":"org.jdbi.v3.spring5","l":"JdbiRepositoryFactoryBean"},{"p":"org.jdbi.v3.spring5","l":"JdbiRepositoryRegistrar"},{"p":"org.jdbi.v3.testing","l":"JdbiRule"},{"p":"org.jdbi.v3.testing.junit5","l":"JdbiSqliteExtension"},{"p":"org.jdbi.v3.testing.junit5.tc","l":"JdbiTestcontainersExtension"},{"p":"org.jdbi.v3.spring5","l":"JdbiUtil"},{"p":"org.jdbi.v3.jodatime2","l":"JodaTimePlugin"},{"p":"org.jdbi.v3.core.mapper","l":"JoinRow"},{"p":"org.jdbi.v3.core.mapper","l":"JoinRowMapper"},{"p":"org.jdbi.v3.jpa","l":"JpaMapper"},{"p":"org.jdbi.v3.jpa","l":"JpaMapperFactory"},{"p":"org.jdbi.v3.jpa","l":"JpaPlugin"},{"p":"org.jdbi.v3.json","l":"Json"},{"p":"org.jdbi.v3.json","l":"JsonConfig"},{"p":"org.jdbi.v3.json","l":"JsonMapper"},{"p":"org.jdbi.v3.json","l":"JsonPlugin"},{"p":"org.jdbi.v3.sqlobject.config","l":"KeyColumn"},{"p":"org.jdbi.v3.postgres","l":"LargeObjectException"},{"p":"org.jdbi.v3.core.result","l":"LinkedHashMapRowReducer"},{"p":"org.jdbi.v3.core.transaction","l":"LocalTransactionHandler"},{"p":"org.jdbi.v3.postgres","l":"MacAddr"},{"p":"org.jdbi.v3.core.argument","l":"MapArguments"},{"p":"org.jdbi.v3.core.collector","l":"MapCollectors"},{"p":"org.jdbi.v3.core.mapper","l":"MapEntryConfig"},{"p":"org.jdbi.v3.core.mapper","l":"MapEntryMapper"},{"p":"org.jdbi.v3.core.mapper","l":"MapEntryMappers"},{"p":"org.jdbi.v3.core.mapper","l":"MapMapper"},{"p":"org.jdbi.v3.core.mapper","l":"MapMappers"},{"p":"org.jdbi.v3.core.mapper","l":"Mappers"},{"p":"org.jdbi.v3.core.mapper","l":"MappingException"},{"p":"org.jdbi.v3.sqlobject.statement","l":"MapTo"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"MaxRows"},{"p":"org.jdbi.v3.core.statement","l":"MessageFormatTemplateEngine"},{"p":"org.jdbi.v3.core.statement","l":"StatementExceptions.MessageRendering"},{"p":"org.jdbi.v3.core.statement","l":"MetaData"},{"p":"org.jdbi.v3.core.statement","l":"MetaData.MetaDataResultSetProvider"},{"p":"org.jdbi.v3.core.statement","l":"MetaData.MetaDataValueProvider"},{"p":"org.jdbi.v3.testing","l":"Migration"},{"p":"org.jdbi.v3.moshi","l":"MoshiConfig"},{"p":"org.jdbi.v3.moshi","l":"MoshiPlugin"},{"p":"org.jdbi.v3.core.argument","l":"NamedArgumentFinder"},{"p":"org.jdbi.v3.core.mapper","l":"Nested"},{"p":"org.jdbi.v3.cache.noop","l":"NoopCache"},{"p":"org.jdbi.v3.cache.noop","l":"NoopCacheBuilder"},{"p":"org.jdbi.v3.cache.noop","l":"NoopCachePlugin"},{"p":"org.jdbi.v3.core.result","l":"NoResultsException"},{"p":"org.jdbi.v3.core.collector","l":"NoSuchCollectorException"},{"p":"org.jdbi.v3.core.extension","l":"NoSuchExtensionException"},{"p":"org.jdbi.v3.core.mapper","l":"NoSuchMapperException"},{"p":"org.jdbi.v3.core.statement","l":"NoTemplateEngine"},{"p":"org.jdbi.v3.core.argument","l":"NullArgument"},{"p":"org.jdbi.v3.core.qualifier","l":"NVarchar"},{"p":"org.jdbi.v3.core.argument","l":"ObjectArgument"},{"p":"org.jdbi.v3.core.argument","l":"ObjectArgumentFactory"},{"p":"org.jdbi.v3.core.argument","l":"ObjectFieldArguments"},{"p":"org.jdbi.v3.core.argument","l":"ObjectMethodArguments"},{"p":"org.jdbi.v3.core.collector","l":"OptionalCollectors"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"OutParameter"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"OutParameterList"},{"p":"org.jdbi.v3.core.statement","l":"OutParameters"},{"p":"org.jdbi.v3.sqlobject.statement","l":"ParameterCustomizerFactory"},{"p":"org.jdbi.v3.core.statement","l":"ParsedParameters"},{"p":"org.jdbi.v3.core.statement","l":"ParsedSql"},{"p":"org.jdbi.v3.core.statement","l":"TemplateEngine.Parsing"},{"p":"org.jdbi.v3.postgres","l":"PeriodArgumentFactory"},{"p":"org.jdbi.v3.postgres","l":"PeriodColumnMapperFactory"},{"p":"org.jdbi.v3.postgres","l":"PgLobApi"},{"p":"org.jdbi.v3.postgis","l":"PostgisPlugin"},{"p":"org.jdbi.v3.postgres","l":"PostgresPlugin"},{"p":"org.jdbi.v3.postgres","l":"PostgresTypes"},{"p":"org.jdbi.v3.core.argument","l":"ArgumentFactory.Preparable"},{"p":"org.jdbi.v3.core.argument","l":"QualifiedArgumentFactory.Preparable"},{"p":"org.jdbi.v3.core.statement","l":"PreparedBatch"},{"p":"org.jdbi.v3.core.mapper","l":"PropagateNull"},{"p":"org.jdbi.v3.core.argument","l":"QualifiedArgumentFactory"},{"p":"org.jdbi.v3.core.mapper","l":"QualifiedColumnMapperFactory"},{"p":"org.jdbi.v3.core.qualifier","l":"QualifiedType"},{"p":"org.jdbi.v3.core.qualifier","l":"Qualifier"},{"p":"org.jdbi.v3.core.qualifier","l":"Qualifiers"},{"p":"org.jdbi.v3.core.statement","l":"Query"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"QueryTimeOut"},{"p":"org.jdbi.v3.core.mapper.reflect","l":"ReflectionMappers"},{"p":"org.jdbi.v3.core.mapper.reflect","l":"ReflectionMapperUtil"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterArgumentFactories"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterArgumentFactory"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterBeanMapper"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterBeanMappers"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterCollector"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterCollectorFactory"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterColumnMapper"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterColumnMapperFactories"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterColumnMapperFactory"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterColumnMappers"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterConstructorMapper"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterConstructorMappers"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterFieldMapper"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterFieldMappers"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterJoinRowMapper"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterObjectArgumentFactories"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterObjectArgumentFactory"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterRowMapper"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterRowMapperFactories"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterRowMapperFactory"},{"p":"org.jdbi.v3.sqlobject.config","l":"RegisterRowMappers"},{"p":"org.jdbi.v3.core.result","l":"ResultBearing"},{"p":"org.jdbi.v3.core.result","l":"ResultIterable"},{"p":"org.jdbi.v3.core.result","l":"ResultIterator"},{"p":"org.jdbi.v3.core.result","l":"ResultIterable.ResultIteratorDelegate"},{"p":"org.jdbi.v3.core.result","l":"ResultProducer"},{"p":"org.jdbi.v3.core.result","l":"ResultProducers"},{"p":"org.jdbi.v3.core.result","l":"ResultSetAccumulator"},{"p":"org.jdbi.v3.core.result","l":"ResultProducers.ResultSetCreator"},{"p":"org.jdbi.v3.core.result","l":"ResultSetException"},{"p":"org.jdbi.v3.core.result","l":"ResultSetScanner"},{"p":"org.jdbi.v3.core.transaction","l":"RollbackOnlyTransactionHandler"},{"p":"org.jdbi.v3.core.mapper","l":"RowMapper"},{"p":"org.jdbi.v3.core.mapper","l":"RowMapperFactory"},{"p":"org.jdbi.v3.core.mapper","l":"RowMappers"},{"p":"org.jdbi.v3.core.result","l":"RowReducer"},{"p":"org.jdbi.v3.core.result","l":"RowView"},{"p":"org.jdbi.v3.core.mapper","l":"RowViewMapper"},{"p":"org.jdbi.v3.core.statement","l":"Script"},{"p":"org.jdbi.v3.core.transaction","l":"SerializableTransactionRunner"},{"p":"org.jdbi.v3.core.argument","l":"SetObjectArgumentFactory"},{"p":"org.jdbi.v3.core.extension","l":"SimpleExtensionConfigurer"},{"p":"org.jdbi.v3.core.mapper","l":"SingleColumnMapper"},{"p":"org.jdbi.v3.core.spi","l":"JdbiPlugin.Singleton"},{"p":"org.jdbi.v3.sqlobject","l":"SingleValue"},{"p":"org.jdbi.v3.core.statement","l":"Slf4JSqlLogger"},{"p":"org.jdbi.v3.core.mapper.reflect","l":"SnakeCaseColumnNameMatcher"},{"p":"org.jdbi.v3.spring5","l":"SpringConnectionFactory"},{"p":"org.jdbi.v3.core","l":"Sql"},{"p":"org.jdbi.v3.core.array","l":"SqlArrayArgumentFactory"},{"p":"org.jdbi.v3.core.array","l":"SqlArrayArgumentStrategy"},{"p":"org.jdbi.v3.core.array","l":"SqlArrayMapperFactory"},{"p":"org.jdbi.v3.core.array","l":"SqlArrayType"},{"p":"org.jdbi.v3.core.array","l":"SqlArrayTypeFactory"},{"p":"org.jdbi.v3.core.array","l":"SqlArrayTypes"},{"p":"org.jdbi.v3.sqlobject.statement","l":"SqlBatch"},{"p":"org.jdbi.v3.sqlobject.statement","l":"SqlCall"},{"p":"org.jdbi.v3.sqlite3","l":"SQLitePlugin"},{"p":"org.jdbi.v3.sqlobject.locator","l":"SqlLocator"},{"p":"org.jdbi.v3.core.statement","l":"SqlLogger"},{"p":"org.jdbi.v3.sqlobject","l":"SqlMethodDecoratingAnnotation"},{"p":"org.jdbi.v3.sqlobject","l":"SqlObject"},{"p":"org.jdbi.v3.sqlobject.locator","l":"SqlObjectClasspathSqlLocator"},{"p":"org.jdbi.v3.sqlobject","l":"SqlObjectFactory"},{"p":"org.jdbi.v3.sqlobject","l":"SqlObjectPlugin"},{"p":"org.jdbi.v3.sqlobject","l":"SqlObjects"},{"p":"org.jdbi.v3.sqlobject","l":"SqlOperation"},{"p":"org.jdbi.v3.core.statement","l":"SqlParser"},{"p":"org.jdbi.v3.sqlobject.statement","l":"SqlQuery"},{"p":"org.jdbi.v3.sqlobject.statement","l":"SqlScript"},{"p":"org.jdbi.v3.sqlobject.statement","l":"SqlScripts"},{"p":"org.jdbi.v3.core.statement","l":"SqlStatement"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"SqlStatementCustomizer"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"SqlStatementCustomizerFactory"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"SqlStatementCustomizingAnnotation"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"SqlStatementParameterCustomizer"},{"p":"org.jdbi.v3.core.statement","l":"SqlStatements"},{"p":"org.jdbi.v3.sqlobject.statement","l":"SqlUpdate"},{"p":"org.jdbi.v3.core.statement","l":"StatementBuilder"},{"p":"org.jdbi.v3.core.statement","l":"StatementBuilderFactory"},{"p":"org.jdbi.v3.core.statement","l":"StatementContext"},{"p":"org.jdbi.v3.core.statement","l":"StatementContextListener"},{"p":"org.jdbi.v3.core.statement","l":"StatementCustomizer"},{"p":"org.jdbi.v3.core.statement","l":"StatementCustomizers"},{"p":"org.jdbi.v3.core.statement","l":"StatementException"},{"p":"org.jdbi.v3.core.statement","l":"StatementExceptions"},{"p":"org.jdbi.v3.core.result","l":"StreamCallback"},{"p":"org.jdbi.v3.core.result","l":"StreamConsumer"},{"p":"org.jdbi.v3.commonstext","l":"StringSubstitutorTemplateEngine"},{"p":"org.jdbi.v3.stringtemplate4","l":"StringTemplateEngine"},{"p":"org.jdbi.v3.stringtemplate4","l":"StringTemplates"},{"p":"org.jdbi.v3.stringtemplate4","l":"StringTemplateSqlLocator"},{"p":"org.jdbi.v3.core.statement","l":"TemplateEngine"},{"p":"org.jdbi.v3.testing.junit5.tc","l":"TestcontainersDatabaseInformation"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"Timestamped"},{"p":"org.jdbi.v3.sqlobject.customizer","l":"TimestampedConfig"},{"p":"org.jdbi.v3.core.statement","l":"TimingCollector"},{"p":"org.jdbi.v3.sqlobject.transaction","l":"Transaction"},{"p":"org.jdbi.v3.sqlobject.transaction","l":"Transactional"},{"p":"org.jdbi.v3.sqlobject.transaction","l":"TransactionalCallback"},{"p":"org.jdbi.v3.sqlobject.transaction","l":"TransactionalConsumer"},{"p":"org.jdbi.v3.core.transaction","l":"TransactionException"},{"p":"org.jdbi.v3.core.transaction","l":"TransactionHandler"},{"p":"org.jdbi.v3.core.transaction","l":"TransactionIsolationLevel"},{"p":"org.jdbi.v3.vavr","l":"TupleMappers"},{"p":"org.jdbi.v3.postgres","l":"TypedEnumArgumentFactory"},{"p":"org.jdbi.v3.json","l":"JsonMapper.TypedJsonMapper"},{"p":"org.jdbi.v3.guava.codec","l":"TypeResolvingCodecFactory"},{"p":"org.jdbi.v3.core.extension","l":"UnableToCreateExtensionException"},{"p":"org.jdbi.v3.sqlobject","l":"UnableToCreateSqlObjectException"},{"p":"org.jdbi.v3.core.statement","l":"UnableToCreateStatementException"},{"p":"org.jdbi.v3.core.statement","l":"UnableToExecuteStatementException"},{"p":"org.jdbi.v3.core.transaction","l":"UnableToManipulateTransactionIsolationLevelException"},{"p":"org.jdbi.v3.core.result","l":"UnableToProduceResultException"},{"p":"org.jdbi.v3.core.transaction","l":"UnableToRestoreAutoCommitStateException"},{"p":"org.jdbi.v3.core.statement","l":"UnableToRetrieveMetaDataException"},{"p":"org.jdbi.v3.core.statement","l":"Update"},{"p":"org.jdbi.v3.sqlobject.locator","l":"UseAnnotationSqlLocator"},{"p":"org.jdbi.v3.sqlobject.locator","l":"UseClasspathSqlLocator"},{"p":"org.jdbi.v3.sqlobject.config","l":"UseEnumStrategy"},{"p":"org.jdbi.v3.core.extension.annotation","l":"UseExtensionConfigurer"},{"p":"org.jdbi.v3.core.extension.annotation","l":"UseExtensionHandler"},{"p":"org.jdbi.v3.core.extension.annotation","l":"UseExtensionHandlerCustomizer"},{"p":"org.jdbi.v3.freemarker","l":"UseFreemarkerEngine"},{"p":"org.jdbi.v3.freemarker","l":"UseFreemarkerSqlLocator"},{"p":"org.jdbi.v3.sqlobject.statement","l":"UseRowMapper"},{"p":"org.jdbi.v3.sqlobject.statement","l":"UseRowReducer"},{"p":"org.jdbi.v3.sqlobject.config","l":"UseSqlParser"},{"p":"org.jdbi.v3.commonstext","l":"UseStringSubstitutorTemplateEngine"},{"p":"org.jdbi.v3.stringtemplate4","l":"UseStringTemplateEngine"},{"p":"org.jdbi.v3.stringtemplate4","l":"UseStringTemplateSqlLocator"},{"p":"org.jdbi.v3.sqlobject.config","l":"UseTemplateEngine"},{"p":"org.jdbi.v3.postgres","l":"UUIDArgumentFactory"},{"p":"org.jdbi.v3.sqlobject.config","l":"ValueColumn"},{"p":"org.jdbi.v3.vavr","l":"VavrCollectors"},{"p":"org.jdbi.v3.vavr","l":"VavrPlugin"}];updateSearchResults(); \ No newline at end of file diff --git a/releases/3.45.2/favicon.ico b/releases/3.45.2/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e44857ff6a7d3f3193ea316213559ba1bb857d65 GIT binary patch literal 318 zcma)0u?@g52y;*lKp8qCraaWI`%`L?s2foYwk4YZpm0=`TG0z|0qCTXMn<0Dp2dSP lMs{+{J%PzCK965ST*RCbYtwh`ZY%=J+w``gT#wKFC|~8H67T>3 literal 0 HcmV?d00001 diff --git a/releases/3.45.2/images/diag-ditaa-md5-8d4ed3f9494355bc0fcef8c74be183e3.png b/releases/3.45.2/images/diag-ditaa-md5-8d4ed3f9494355bc0fcef8c74be183e3.png new file mode 100644 index 0000000000000000000000000000000000000000..efb45fea1835ea113164ea72e5a7616644364b07 GIT binary patch literal 43406 zcmeFZbySvH^zVzwMg$Z^LZF?f?Iq{7q8X7vfLeFzp@oeGqVX!rFHB(bl zMP@^63=D0<$BvaY&xuJ$v@|un|6E`(R-Kr5^QINn+tVzogkS;-VK^6VZ7lY+4fD2zf!~RvbP}}#Wp|^D)7uQ zzzMHTQCE96K%#w_&v^&0#%{>0WZ<=4?ng%X?*k*&UDCD*<@51jbJ12`1CIOiAC<84ZkhV8Kougt%^BZ^|T7_G3&;|;~a3do4IY@@3X zdo07VDm=Tri1H+J6njW!|NR&&#Dx;wGBGKs%I#67#XXg#d-OW_k3JtA?k`t1X*x`Y zm<<*=%tRP1`HX3Nd>T<%vp(Bi!eSDV+kfTWla6E|FqtKxV~HalX|)qyo#Ckf`{{q3 zd229DQ>&Ni%v0^1CeDr|e?Ho2%uXXeeA%8es1Y+d8k*+z_LbqXLWTC)wZTXnQrWt- zPv6_b<< zYQDq5qA<$pM1KtHrUK`5q>61olOi)c6CK@9wTsjDLSBP!yNh`>>Rt__RZex-Hr#gT zvwKQeq};Y*ZMK>1)VRYg`&+xmm78gu_4NdZ88bCX%(Ikp3M9KpuY|fCZuZ%Vd>Xp4 zP%yhcka6RrZNBT_p7@E=1Y}FJo8$@jY1to7DVu&H8d@$HGdJ>3D*Pz!OlZw1a*f3ehUp4hq}fW?F(*wPJX#+Pu=*Z?bMYQM0qb}vUD$C!YUUC~ zt#Xb{CVG|gUp-{5c}(AZx#W{CWl_{=klmbLKR>On~Cvbx-Vsj!%gu*iqG;d z?qVU|Me=)3-ba5uFM5sHWzSkVK+AP+KFy+fw?QkrT-0qUKs0$Ume;BL!inYeLWTRd zPv3CUhb7P|xO20o-&yI-)v6d~^>ED7myHaFjO21VI!KWWGaoMfaMa3%b&e%OA=klx z*sE2rZVm4$o2K1}4Omb>eH{V6^Y>5gk&NtVU|Z}a-C~`vaAudX!?YcZ*Js*9eJ%$? zN7GM_Ij>7g+o4dXt6bJkU|k=Nd3bo>lX5K$6pD6QSy>sJ>d01O5x3~iAOAwEQ)xcJ zHS%C0RJ+QN^+(0tLe{3+Vw>Q7)>{qHV?j2prOziHm+6OP;b!Oa%pseCSwk@qYgx;K zbE#Hy+ePU-9%CQ1uhZ%YXV$l7d4heF?P>T@7R^HrUS8hT@s}SNo)o(aoyx@}W_*fH zYtycAb$R$O@Zwfax>=Hl@0B}`1cGi!Cy%x0bzh@Wq{xxHXsGFt$KO3LVmIcZRbksx z$bl}MG;E7BD0u1D7N6$apatL7bT73gwF zw&`x`^_eIO^P!J9*()wJHNt{XX|qTD`u?Y??z+RH9C##!@E`oB149h43cI_;7m4vG z80FJB#7D(6846J|)~&Vk?YHvt-V3W{h$0~&;o@&H&0=@m>`@6Ub=o%HKDcAhaxq7= zqD4WLcN(2CbDL08ZT*!~-Ut20g;XCkQ_2?SX-2h?y%9>iFb9D%!!Fw+wy`>GeteIc z&T%GAVs5<*E}Kt{l5()p9vB#K-#%aU-M#i6#oQCtgrhOckzK~tSMHVWHo28xsaL)A zrFJW$@hinD$s`svhaWwrB}3^0?6ykATnifsv990!m%)J5wahro#(>jpZ_ZIf-;W$k z5+x9a2-USxHcM9JnWJ4bsPf?v?^1rD44!hNw5irX5*LIzBe|UX@I=HO??v?9Fj}E9YCpC?Ed(e6?#E zDUba#-BZ&1;Mnp?C*GySxvFDw3m$l1dhp;uB$4&g)4bEKKDHeCNk!gkUS<01wmVH6 zhjC+0ZhKfp*8Toe$|OcRi;px%ztOM2VdI-9%G5ZaNFg$fY9#FTll5Ai2mxhPGS}K~ zEd~s(-SVP`;{uY#G33KJcgI@rxd>AVdrDnPUgHvTxq4q> zC|Ex*vE5KBG(6mGcMH8J9+s8-`J;`t;0nbpnUB|sNZgZ@?1Il}v9-C0dpM>Yrxw9M zy{hihehxY8^%mMR&Gi;W!iZOIrX4+lrk%94V`!*mv^7$_+2v+Zv!FYaL2Vaq9( zI}+;lHW#HG*uBiG$B1>DnV;-AtyED*St^K2Nm(BdyihB%OfiJmX$m=sty%^*QP$KQ zUoU1ek?U&Z(s6tvjHF{P-%O)RSi24Snj|VWdo}nl+vWb8Gnc8aCo^j?KEYl;<;=j@ zJ?{K@a0XW^=fSqk{%RvRtE7;qT0iGezT8nrO87ulxmgh1^$&@{UkGQKQ+Fo>(nZRd zU}tqD-emIsSjv`7+g=``{#+YB7?Du5Wlux^Fuy9|dcNgofUt zq7o0)>?ER7p1V<>sg%{(**WzEm#H$IDo6X`g5**{uGDoqWG7dZ6kU;Apu8qMeXbUl z37(bHYL+k*JM**DT)m(w8nQL6w!tc=5?223s%$2SOjU|Ex#qEAsx*jzsUZ%QiD>o z22v)2^>=i+cZ$o}P3JpP)Yq*s?6U@j9s6P(`IWS7@4rPxMbYUG_$ZI`k%oFYrb!)6 zHu~rBWa?58=$oh_sKs+2-ccM(W9(C)nsj0{7 z#^Jj~!?SK&CCZ%;^X;ZIM?OZZriAG&bZ3;4WCoyF&af~_HOp<9qMNDXcuHToYL18ch>yutgem5G^w;p&S2X;HhpcvRJ9R!sc^<~?cH8V))Vn%Lr97<%@;7*oJ8w& zkip*5+V1?Z8KR>7{D4Bf_D&ls#kb&W^FwpOIg^N$8qDZd@1?o%I!mw7&C_L<+%Sa zw`xm$oqTJ?K^?7R8QxGI&Q|xZFwfi(9k1(L|)KQc>xGo8?o%Je-rtB02AhA)O5vo4w`lTR?!Q)JwA4HG7YL<%*M8ptOL9Kgs> zUjp8bUM$2vPfJf=V{p8zZtcefKc;v~oFh_9iP@`}J$$eHO7)EeH50ZAT+h#iVjr26 zb$*@SnZ=%`y)|;CN6OB!oglB~$k9Qd{>iCay#^l=^sXRz>&&Pmg*b_qgM&l4H;I>W z^BQg6%175j$2J#8x^lADn*7N4=)?3JHP>mXMn%Cx^_aXlE7i!aZqxPqOwC~aI{P1X zqULbf;%*dXn#qlshLp>?V|PSpfxp#_GA%7FYQ5E9>q2~skFeGhqVI$5-P8)OIsHmvg zdDeZ*-<&Z%Ylj`w25B2=(KNSA#OgljSK@LZ10_>tlsR`D#(E+-IXTqzp-8CCt*iz! zT%v30zSb*5hMKBWF2^>pdAS{QDCLhon2%UHJukPnHDuwE(D?VpG@3wBji%D|+1J1^ zFZj`O*AK&Dg=4VEk6-_afbYpWHP8G=V%6*2A?&{njEa2OQeqUi{|}Rx&}{Co{NcBc zZ&^>U(uZ*jN0Lj0&ij_rypqg&wLz{RqIO>YQGfOZibjZ>c4idST0-u!5%83ZVB0%>JhQF{pT2MvLD(`O~7AX+|K%4Wby4Uv1o1Du8eA-bsbOe?ad{% zZ5zvS%_m1$RIAm#xpDsu$59&dJhgF{j%(RdHk0mjsQC*ng}H6IH@izd^d6qs%%Ju1 z@+t@mUg}EoAO0>~o^3T@mesF5A0)=}#_`VIFWu|9%$# zO6b0jrmdP#guf1DmUz&ua-qN;)s9Rdn>#LI;Y*Ak23kVs?vpa+*Zx2p;ssfr4>jJ^ z&mB)aPSCHGF^<(yo&2cwSr-D^Huyn&^%@*nYlXHb_V!i&>>Wt#c*Z?0Y;>DfZ7SpB z-1n8%`9!0VrPOe^J(lN*yLpn2N?+95Wxb8P04W<6Quq0lv+tj*rWntYipM6i7dUe; zFYC6p>&C^1q_L7kyB+rl=E>tv&k%-Y{beLXjbCeN>e?}bU$rs_zo^nh*} z32J430Ve4B{BSbKlK^G#2FH;+g3TE&f@>U)jQVIGo!clKU8kXSy~ocyd&#Kz(4+E8ul!!sAZLZ zYWFiX`8_wP^Y(k2EcAIH5gn^gy>ju>tL6*be;z?z6dplt2?d?P&6{0Usih++Y4%KC z_8vT1Am_A9?oAqL6^`vaxC5EDbjj9WnN=DqVcVE{U-ppz6f}2J7OlFkVPt8efkADL z*y%W&6s?(!b$YzsLYLRw_Gv95B4UQ`uGNfGm47&9KOgc?*lnG@lG-&WO1dqiefF03 zK5Y-u;R8VxR+|ns)gE|Ya$jCPVAzi8%27b#9|aOj9ITHr#WS%g>AJo4lTMt6r>qjl1l_C04igElG5-FRJdZ%B8if z2x|9;G^6I5%@^}M<{v%G+1yTd_r#@=DlWbm_>n}(;&J+Od6u=)5eX&01GCx^8jxkr zQrgoRkgK^tUiN8*G`Jqi?Ql_timihQPyD2L0Y2CG&cVtKSVFCEEC3I3=O6BT>P$Zz z$udoz-?HYxLs8stj|Sp(abBJub5NLEaiK0~PM#KLJ=yv`*8)@~>+9>wKKYs2Ze$d8XB@rQ`uZ+~h0J`|@rqY%k_VTgQ0@g-~vJe)T@=$*T#Y850wF z89JEtFAP7b{CGWqXC`J_wy@?c-F$l$P^V{Wi$(*^84d@dK@v=B>%t1~vNsig^j2SQP?0mRB?WbM>0g_a7k9sei(JRt9_v(!W z{|FW%_3eNvr|rSlCJTUt_@ESxVl}nx6sP`4rfjt+f>ecsjw5Ci5@CY_V1Cp4q)b9} z&{+X+JX!KdB7~vsar`>9mWM|*KUo}eAtU^CyzBgM**Z9Z#|Tk%*K~tSLc9X76TW|4uAPXOm`S_R z9=Hx99c71GLus&yMqi_W^7dq@7#SH6U%c3V;wKb7(dV0ADH+CSONfQVY6Gues@_Qi zFaU6fng2LJJlKO#^z#PTBG~+iBb%ZaZo8KB57-DHu%V|9+xLh$i6tNnpEx@`Z3dtZ zRu`(z!2U^qEis%{h9)KpLjs4lk^~xl6Z*$KO=1D7HxX>D7U)Qi-@Wu$xT*C0w;TGxBJX^NNm#c80GA`(6uCU) zvu9@|D+5A8LIMIlnDk^$qrzZ6ta0ROns2}VaGgS^;k6Gw3B}!qJLzyH+<(3b{+Nh} zXnClFiJID|(T|kS^|7I$`Nj}dw+h$E$MnB?1@{}?`dlPo+Bydx=7YR!Ogvfs;lqcj zs;Y8w@8ja)!osKpn=Jm*^PLMiArSok`38?1b&h7)T`H;+a1QwAA~(*>Q+H}C;h)69 znm7%H*Ubxb(6lGBr~iXK3kyrz65h!`vYUs(jwqz4l9Q8zHG-8=RyMSw!NU4ZYBhNa zlCkm|)YNH^%)!gm5ieF8C_un^IY{#Idr+sJJ z6v^4Ia@nB|x@7qy;P21iGz}G-mOS}()8T{7VsB+758oYZtm`u2`>e=w;^RC%5UjtXVM>g zB)c4Z<><3IyzMcFp5u1VUXdscqL%G#`yq;SQK+`PsAKb462;Z|bZbv?vu3~g$Z}we zPtJGnW~^fQtGFn>uzunQRfBVVLi1;1nvOR^U zUlB_t&5tFBEVn8;Zb&eG2R58?Ay@T-9$1RgHoAEK67)uerrQQ93%u(uP@C6U284&( zgZpa0gkiD%)8EL<$jLwWCQ2Sc`cHEruX3#gTqDnVD~qj2_tUXz-WxZ@Q^K?hSZWIf z%bpJ0<@~(6J{xs>TvoyA>c2W5$Ne8xm`qQE1qV;f&f1}e2axDx)^=4UxNa?;w4L$d zqusS>g;c44jE1l2RD-LrP*!j!MILX@1{A)K(vw3$@kg}KVR5OezcSvCh(NG z{TR#L&+1g`+8u>{Y{q8b!y#!6gT4l|7ai|zKx5o3gxwTDgtE~)xTr5k%fft^L#<(8 zdg2vPD1-t$Qm!JUEakxP_wPFr?t4OVAhrj%y06%@?=;>Ou|3Fd*-d-t74GlkJJ-Fz zgT9(p6q_04DpY&q9M9qhzUjT5CS2NF=*e;)>rv4eDKLvO z++g6@>{i&^tU20b%2@vg@ME9793RC#=4=I=h3fK;!|E9LYF#M0#*q4r4Qrh*#(Z1- z`UOtVT$sAav(`kR?%#}e76pO1e|W{0ee`|X=3*Z;@Izglw@Dsc+-9Tc@<}hrc)N=W z7+uZH(eZ+>pj&(E%T!GH&V+Ygj>aq_Nv5j~FVY^E!D~#)KLD1~<+lwzh89B+kvFzH z4rVr$z>*{gAtEoM?ZHmJITq<7UmoqJ>vwZJv1fJI2^!qW>;|-jT(M_Q+5sK&R{8Oa72@zsrBfnvj=l>k zC+?{v$q1-2diN#yaV-$I?Yx@d+vvED9*!S7|UqfV&CxRSJ=c#9o8`?8hx)C%?OZuk0jzSlYrtA_B68&pId5SzB{7}dfNu&RtGw1 z?O(q#Zey6<6sghny%KqaXj23A{(8)+!2X0RKm4fL=DkMpZ> zNJKzlYAmsnuNf9w@V*U&>I#+{*4+gzQA`E>@5rYuYbv$sa1i;y1Pvb0EzSTL?^xw$ zM#X5n%IA4vT63@_X(k1>`xH)T->RFO#ThZxn>60UOucQ8dR*j9Lp|o%!KPxx-!z!^Gv*@c&xyGg1yX~|7a)45VA_i(0xBl&50=; z93rWhUisQ+t(_$7DrG|^UYf3?QKuE&fnX(9Xdq6yF^18=xgyss)4}_-6GI^Jxd;7% ztjUO~Yzu4Paf{V^7Zy_|Lx9AS-WO6M85v~WxL~i#H40WryKqEcr+V}+5HAFA0Ri!M z6%XBwj9j?10Q6YJr$*`flJk#hW%B^c?97B_Xp>m?+Mc&TV7ksRduR<@!%z$yX*gZv zILaSB5V-=$1lIG!HA6F~X(zlc2&(2D6Hx4VN+A)Bp{uJvZ4!2*VXf#+D<=nqcQT<+k^BXX9AeTgO6ian`S4CJQ!BEL`!N z7S!N|NG`oJlcu9owc2o1I_BZS&>i&3)kUK>g!*Fdzwhv?1iOJX+0Dk-wcz5ME>b0` zTRTr7GMB3D0b#z}3j9QyXXs3qWgMn?Yj6p+vVy{B@wV<)#)EIKwCM`NVuLk}8Zk79 z!lsc!RZez|I)PwMbn+D!vTdvN!1&jlIpDs_R~b0 zlEj^XgUs44n@S_sSWSY_>7*8rgGZwAQ92IOM2%ysl=Lh0oIk>PJGr{0L{jwTuuisjE3f zkQtE8J2#LRiM15>X`6;@oXX-qs#{Y}4*T}7(4o#tT$OC6uTR3MVsgd)uB&u8QBou` z8g2iJa=$Qn-S(4m`=teBIx+d~rc6#xPtP-^PO4F%PAm{O+9JJStN1t5Gpc(^RweP6 z3-Vu-X}sPa8qFgeWrW3>hW%&1VW3LZoD`+^i8Ry=@b%!#Y@FMumLcHiz}w7$(GQ?V zhEQp+4l$%>7`lcn&K#-!B)C)fC^)|Q4D_bLaW%S*a&+`zTGs0m-b}U!W5#x~CRdfS zRadj)s!t*6naA_wLjDlT{3q~HAr-|lS!obx3*PM>Y;qInbh15m&#mA%YHy{=@3yJ5 z|M3}Hnt4%ub7f42Ew5}QQtnhHS*YZ-*x=yqPT3YQ`$q-YNgkXPKSbHH?Ru-i=H)>O z71DONzfJDCGhV>yyz?w8nMw66@#wQkToe_430G|MT~b+ggX7;=LIllP(tqd{ zCX9VKw|9?qTYE;91&A@l0ME1UFKjE}u&DlCOsMCdA6Uh=V^nClNEy_N(uZxb5dvK$ z>F^W4O8E6aFKZ+VDhsp)mGFOY$U3TI;{>E%UVxV4vH*E)aCmrsiG_|=*xtr`A%LgD zA!9W!u%Q_0=w~lu2f@HHYn~86XX4HdqzR!-W=-#J_+bQ}^op)FoFL%2e(Go=jeqx` zrasjzik1OM@Hbh^z+s1VOec7fb=FAWwf3+zsjFFS_LV^*Hnmf8M9W;6(d#jtpzegU zTT+9=^u@(!Fp<<*{?|Akc8-jZsjT&yP7`jo05^`!h(cpR@^eE@Hb6(f&1*^}SCd5b z`V&>x2`}m`yKhIS7FpT(h**Rd4WLJel&X8+HNRuJ>GUXS<2FvuPh9>qAAJAbyvxp> z%O(fC|Fh9&dW4}Gq${4}uJ0jE0$s7F+6;|FK}@q@a(NM9%frbnjx)F_b(m0VxNJ`t z6y=vju28YPro_|Kv0(r6oxtYy$X|n5AJtYm4F;PS3=YGx|Js6I44j3a#G4F(VlPS+ z9SYfiimldrrGe*t0`Mx2ad0AHlhRi0ddnFN@+VU}VgAU$WMEkC%ZuZ?scLCaHhrnB zCvLvCF&Sm@&@`V-mV5c0udBiK-?Vu{0Km}0R-P23tn3*R;DY=Rd~9Ea0<{A#$U543 zl9~#3fJ9p!_&;_7^KI*!95KtU1?U_WXW2sIhY3)GUSKt!d~*@4qAAtgV0&$HJgTYq z8J2~@uUw1J@9pR_FAon@=umDh*R-?7*p}GjKsSQ{pnAB(LdwL>uEIvuz(Q)#nJgZd$RBHD!=r#{3ZN(^TfPh>Y?pM_WE-SZ zT{%^@=wV}vie%d?L%XMGZYq-i+k7>NX~*5x zIVtS*pM8zA>gb=kR{STljbcjKKd70cGQCT8E%4dbc5?%blIqwDT_Rad0!N45MsZULzTYBXp7EM$^>|;N^3L#S5~k+8R(-P3Q9v z5{4~Y=sr9D;19+9Oc$amt4APV=91 z>nD-FzMfx?`T2%7tZIIOnFNrPC>^}K_h{)qpwu;Zc0?I_j=J?Q5)RtJ8wjD8jV@Wk z&eNF_5E`TAI*O&8hlPsD0Ghc#l2D-xsMgljwzgk{;bob@h0qfMBkzNPz(B9!dI<2SLHl0LS2==;eDSzIcOit^;b`b&bO! zDv}f%d;b&9d2f)+b9TBV6AzFgBng3`3&|4`69)&*UU?unx_kF7G&75xch^8Z$au_E z*75ZQ-u#VD+2j(jxPaI?Q6#A%Kp0w3OH0eUckkdNg#`r_>Nn!!l-y-uVc#>uqJ0wf zzWN5Q@SfMkrFoW4t7J^S7Kr`rJ&+Hh^~#ozkT`>j3+o0pxW2YVIk$(m!#hvZ$)4;f z#vd?x)8$P#;--cESLy11sDeo?QP!t~(5a**Cl^_ajUF?R*z@1GIWK9uEp$zPDT(&- zNWgWlO?#iRDw%M03vJLiHu#Z7MMN0)o)xeW#{_6oy3GG)={WbbiPQSzO7(Mo9%Vkr z5wW;a(pUo&|D)MZYD!8(&+&6O^OBGpL2sn;T?7aD)n2jt7T?xIlUW zvcaA13@^=vu0omg2NWVcrQ_S?70YZDa;-7Yskf~Dg)W<;M~vcJW@N~@tkWs+uW@w5s8;y# zZmDv-zV1{(fg2>l)tqt1 zxRY|(QkG}cL+c*?oh?&=cJyYS4m%AY?V_;+wH=X9Fl%Q!=j^p*u^Ogn-*8{_eUa%D zmR|`;PbVITb(y1vY|cmjf}_0&Ox@s-q%Q6Klz8jimXNg45@vhS5ikB4h7AT@9|wY? z8JYk=JD@M{pPKh61;Bj35Gd)E2m=N{kCeVLzYLxc zqK;u5ba)#cvW|Vz?PeV3dNS(X;Ik97_D8Y{JQMA za(Q$?Xe=`($X>fZbzLdlI-Tgm#bDH7Fkt_`L@6@O}Fd| zc}%-cZUl&u1?U06w5EP@Gp2>t=CXTFraJi%zJ5)rJ|#Q5$Wy7{QfL&l-+S zr&nY*EoHJrwr?b@bw>PxXD0KfvED|&aVV#~>&G$i7C35iU=yQ?G`Rfxp7>@xnIYW~ z|3alewgH9i_Jieudl^1g+rkik7Ygw%$3Dl4x#upYLig6XYV z@`A>XZUtGq%Xi{IsX~Y&Dg4;)Cf$QY%d+h&+_u@~E&JSHfe=x}KR}$+22ImqU!Gmq zS*4m?9=Riz#hj9sLrHoED^mUoq1a~59bH9S&Cm~M`#@Pf2hEHVHSl5Tw04@_n{wRB z+qa8l@K=F3qH0~hrL5T=ApEgCi^{Rhcks$SAr`i_EeqKzzb*icO+B^;r1x`orP)WO zvcl;g14!atm;ul_e3&^A{yA&&f!PkX&tatB;T>IvaQREsGe0Os&Y5g6Ik_9tuwY-L~4H!XVzo^iqY!em_r<&%i}heUNs|Q z)m*w{1h^G&*(}`CZ#XNy1l<B_+Sd`BRW8{4vavglOM{^?Ni^3NKa|MXEp5&-@D3gPVWT|S2^hxoDQKqnc- z2Vy%U?@gT>3x4P0b9P{9s3flv4vpuC6Et{bl_dkKp+hA7p}L+dl~Aj$nTv^uDKD{l za2)X~e`LDZFQ}&HlKey64CbG16;wAx#>VFEFXYih;Xc%s$1pcuqoCV?om4}$q`ID= zZk-|W9yGbmfVAnN3U10uNd>n-d$2PYPQpwz<_MT&65GJG8)n;Wx-AA~wG_^W zdKx>YuPmOyc~lgHxNbI;9QBltIf_(Bi#8I~bo2;@KU8vwdYx{pdB$Foc(Lkrg?5}k zfX^XhFDAb*tb}Sxm{#4|oyiS!#Y$)&VMs(KC=@&MpjuE=RZTyXII(l5N5uH|L5R<; zVIa6>pliZ6CuUcIi6<6COLux(H$Hi$$NFD=HYFwH+`?zN0Q$B@fAYML$3{jPYP}CN zq{8nA;@YiutyGQKPx=NH{}SFtJ1%5E{?K)I%w;+lVn-tpkuf_BG1%^ z$Yw{Xid?2cRIXvtlnPS2hXLAiADyZ~;BMO?v;#IMs=Y2ye>Cozf$CfZ5}XZ( zq{-AK5HtjmjwU9V=H?(NkW_bje#NA5ZQ&Z#mFT}Np&gYdE;jdvg_=?!6YxX(l&2=OYDA_L;_dV7* zv`$ya)Ar}vOFsfdUp|i_RV3ZwN66ky+#xyZ>kW!SR_z3)TCoa*u#PvOFJbFe|CphT zY8bEb`krxM@m^8r*PoaVmC~+#Msu)bKPoINtpc(KOQ_W%8+lKhj+wyLlBu_DNi`=)_|=6hurzW>5B;%9yP0pMXgHt9 zqL{OdfG0I^`9|_9Y3wvtf9=a08wtiup{5&uPm@$j|7=9tb=M$Ako+cKCTF7^ z7;Fn{gTcqS^>PtVwujIYq>p(_BRwLC$a}_tad9j7sJeTjTy4zy4ID=@6YH2C#kPS^ zqKSvnI~NmrwX__X^=fKmdk%b1hjU1+jB8iLCz9iH2i;0U^Gz)8>GY>;ZqX*s3i<{8)Wo;vyNsZf zRQ;m3xEzo%DTc{Vd>lXks^-M$vrv`9PGZ(4L0_@%aY3fz(x~HN&R(6^9*&o=H31M6 zL_Vr?a~@b~Cp0hUz1Mz9TFFK556;#YBK8C+Y5fr+!d@P0+4Ly+xoz(DYFNylVs57j zR7x$ozIIDOq61fNfuQ^okz?6oEptW{TicJtVR;ic8idq5(EQwct_FqC#)Zlsn^F0i z+Q_Ksn)=t=O1-i?T?dD`292}~!AFm%zma!z@-v6X*rUs47Ybvd-+gfmC(W|CXlAx- zsaO20?}B_W>lW01FSTv)P#`-trqnHCvM!dt^4r1`VZb8zbq42w7{PGKyZ^IgJVk*U z3G*f@mjrBWrJL_cUJBmpCu^*E(`9sPQQy*Fev&adD2U}r$90!?{u~SGNss51)zt^{ zbogBua}{k6QKdNq*QEj&zfzMiK14X0l2>vZG?L5Zf@&cIeg-Nz$7f9$JxAZx7UVH< ziC#4xwR+XORM1qkclNMazF6 znFHiw^W#%^T%cvBfd~PUC3~zYVf%zaO+%|73lCG_c_-extxm5vnbSp2M~6Eoo?IBR zPkgv%Dl1CnFa_)*i6KBhrl58Oj%_z&Gq`rV-s2x=Vf5OJj(}R1J+8XE#geCV}O59rr-4!TQ znHXMzYb$-L-*gYB#PYj=T3$zeoly=Ky^k^SH|98eH9Jg_m=8$y<*)3sk{OJPI>uko zj8;Ei_|2s$z0!InM2j-E{^{S@Hx#2vXQOnz>QXrIk1=bMvTT|9eDII-8u*v{());{ zgJ-Rr4kQsCb_q{l3Us&^2nkh78#({m!dQ86Y+RVP1gdo?Jeq4=jt+JUo{g10r@-Cj zsP7lWyHjrZNs||l$qV-Ip-COkg}Cj_Qx_^?-P{H_2Mip2c;;{A1mZNi7;>t(2Af@u_nYvPKmW@YB}e>0JH|0XxL85zH#P)NUbu-KFsX66@j zpoMA&*%{JRIMH*%Ma0o>gM9u$XIQeRcun9al}jty_U#ED7e&&fiUx!mkm7rW zFsvefUaqXHtf&aIsv5Qj&RtU=9Se(9(%9*ElcGAY_JAXbDzUx5job4oofS*?o~57r zMV0RS^YNrNv$Ei1*4Ea7w({WM0EBI7_J^kxJ^v zSlvd5VfZtboWSBKX=#@^rS}rSIm|P*STAPDHVPHo!+*0fQmpSe01f?I4;b$8{C;k3 ztWO$H1Vv0zGcEC4-}}9$VAP8rhs?VmYV z_~*0l0dVnc4tY9A_2TxQZ}&X`hFuz<0iLRL{Ow)jR5gYV9mCQFmdpvNfnnXUrxJ-; z_-}9h^Q#C5`rNlv0-uDPNc8&iBr1-e=KC@wM7V4zaPOb*QxAqrc;Uiw{P1&1`GTcR zfo?>~`RlvZgW`AjZRN|y11aw5$mJe@3tDBr{B7a^}_zs;a}Q+-r^iVDfwr*KTke!Y@5RV_21uAfakmG$-F<` z;w|>D|99kKl3x$L`eOflC4x%-H-D(joNLje&o80=%2O+B_$n|W{Lg20C+vUYoQ2EfZNf}^VMJKiY|B9& z7%LKELPN_h!0-dL*<}#Gamz0cmnqmXN1^i%KyC?Yt~`46gyiHYL^7w~QVk{u(L%%X zP02sY{Ynfi`g@37$A0`ZTWniA&ZfrA?W-DaBy&_W9=uPbk3$)saUB-;Q5md z0ep}}HG=3dNSzI-v)v@6w@%m9?uhQ#*X|7`KwDc9uZYapb% zao!Rj?$oBPC+RJDYmj>&J%lI~ZHJW5V1Ywu146?y4Qcg@TYO7=0HYDf?J?XX!0H1# zp<@N3JdYsb2(%wC2s0KK{YRXI&aVXMMCe5BcCe~$_;dIfkx;e#mQX!;2K?1TdsnPJwSud7ZL`{(GLBe+>cZX7)fv~>(_>wsY67k6?LR6K})vJbNOUPk!7 zK^y)sUXLXKcU1^f>3g zHq~&O0;h(`vbPWFt)Tv)7`iC9N9B1Ms1?ELKQBFe0CSeW#g(VQydQGP>iM((U{aprfvG5PNsh71~iHw^39|I5qrz+EBNQ6ZldMD-NH)4#5xQYrKg|9<1Yz6L4?=v^8@ zkI}q6mKUS}M^izvq4a76;M8D<2r1i@_<>HQtzb=>R?CJuJ784T#lFUcjmFmzEBs6@(H48(^ z?~Utu*!aI1g>YEJj%WD}w08frFp)yTwk;SEOcQY*7Ur^D0wsVD_X%u@u&>z{63yU# z4ff$@b{xJ+P>q$k;Edv7r>>Y~?!&3gu#rDsGI;O>}^)3OnF zAF$W8(~h6|Sl0WXv+}aHGh0@6%g;U)TtLF~7<}aq9M8x(O$3h73CW8ueF)FsB)8cYrkeSoCg(vb@^DfJ*FMMn|p|cZJ-G zCw5O=h<}erY%H1A9NGrmJQlk(1f7l^r8^IcFNb3P*JnU9SNNQeo+H=H#9TR5UM~-G zVj9IJAzC-@BG))=Rux0$f*z|GdkVK5G)bUBFggYM0D!ZpOSfPK;tG%bk4JWiOxDN= zLZI?z{YQ1r^h$SNq8il`6cnOhMNOt?vmLm|RMDS71fl|}M5{EhY0H=qn&R8}mfL4o zofYsh1j|!m7NAOJw8Kk{Dtjj!bB!799ZLjPgj|!v>^R1#v(T^m<_%mPS9H2!ZFj6IQ;NoYvX3GE=u;u?l~8hP z8Qg3&r03u$@6c1b_Jg>w)x+J4O^B7E@{{+aA_sG&rzU4P&bJ$eDE;aTLI&{Zh7nZm z1(pR0NdjRU4Zmh7N}Dj*yi80Mz>GnS5y%Dnfy;U>->98Tyar^naETbO>bH>8!ld&7 z(7s?{uh)COh8$>yq5K8IFr`8!aDj%yJk0g^MpC`%*#_s-a>Cef~&B6#>S#ni_?ZNP~(7nYjQ9 zD%9h0wgINMB~|Uvlm7g<784p4Ra9PUegs$UrNi-mShi#dV$nRE8tu;Mj<&<8s?atl zgFytYrrcsWpw*cNSGrjZbE8Y|KMZBkF@LC--h!f2PKPIY){%O2xZ)Oe22xR(kzu$* zr6MR?snl8~s{*_2@@vXiMw;`9+0O+3sSzuLqdU|D~wC^$MiGl0_+Ml%i8gj&8ACYSZZ9l&} zWh-LVMddf0=*>7-VBoD)#Kl;#bhokQ_DWY;`}-UBK?z8&6}jj*kza=&lnwb$TR8K5 zLbw;=hF3v;Da?vm^L{`Q`TuZ@kx(hH?Si%U8z9uMo$q|`5M~^XKAj+VI#@&_^`{9L zn{A&=RX}M|!a^u>mUv8AHCILCIF0 zD=np^qJb2Wot2QNkd;DaA!S!&M@Ca=ke!|EJtMnIWbc(7In5%YY@YX5UH9)^zt=PV zc>Z}Ff8F%$2TyzuBsHIV1VKOzxn5xIf>rKcqWcTJqhd^WAA@mBEH z!va@(oB1OZx!h*Y49dqKqx$)H@3%064az=`4vtm75m<45Rtnz|QDIARcUY{{>6iP|`NEC_q@0xJE4t9SG2f^m4`+8dm(mnuW*IIf z0sZkHAAaj?PT{kEhv zbRtc4N0Vc8xZX&N!$fMo<|n)yTyI{Gp5?53q-#;t$9=?0OF3#*Nj{iyOdwhFoh*C( z#&jQV?;+;RDBIJ0?+wp*89gSQ4%}&wlT;z;HP8i?(=EQO`PP4_*Cv>h041Z&x8A+Q zA(_VS_d|-kyrw2IEkQE<^)cNC)MEqDJ&r!jE_#WmgCFj#p)$wZr%*|Zra6A^l(s9o zCS2!_hfy`{SQm84B_52V;@cCq9+NN~zDufFF&nQ5507d14?pMLvd4NOii~m2LJZ~L>{gKRvN!zv z?C}!)q!Ym3*m%+;M#gQK!q=12w5mUlU!C>5;LIIqb>kZJTy(r-?0d3za&{ zN?W`ox|{aie!I82DR%V*K1`&fkwweZ_W2$yEQ>RDb5g0TNIOz}X7J#(x;LjU_}U{k zKwm4rsS$c73fZ5n55o{};bW8}Uj(Oq?D~M?w=}h9Y%H#wn6r68qWZCJY#-k~$UYNI zhXFf8@ik&A z4m0{({z=C3jP57<*5ztzDXEgW&s#qs!9US3V`1xQ+ih3cl-v_(8*im+Ct+o#&NlQ} zaCktq3YU95<(6*U?3uEwDkQD+B_5Zk3=56wT!lS6qEXrY=`Xvevb?zk|+~Fptc<$Tcwu*nbS@hTW`Oa)h{RvdS`9p4dd5UO`aj5^5Zk=-1ol;e$ zTi^gm+;EKtgH`D|bc4U6ebeH#phuxBj@`zUyQ8 z43dlvnc0@?Q7aooy2Rn35T4pRo}MZ1mjd@q{cmIsmok~RdtEpcD|XT9igNykeId!y zzIUlMP#!#Wh5K7m;$=1Nx+NrrSTFK@fhJTZ-lFF=;n!@Huq-_K+!jxpNmOeKXU`dH zDqCBh@1A1;{{9+D_R7NF4J?ejGh?m^DPGX~7_lI$GM#GHkhq-(B;>!{2(`K|I8^lN zw%)`5c+k&zc`B4Sq*Uu_={9?#*Yjs3eR9Z|j|hrfEVSs;uB7=iaUjl#y_j>(PJK)? z%C3n+OVU}M3tE+hU-mcnStQi8sea)_IN+pCZ}ongWi)AUu+n36wlMllYcrz>&J#s< zgXlP32tHkl2?ijDD|koQH$6Cccmq?@FZfl_>)FK2e5ucV+`XheZpZFLZVL^-c69eT zKoaImKuhBFWev-R9KT3LNxi}-V^6}vE zRi~ec2m1(pT|9K{;@7S&N%V7K3ePgA-Y?Vo>I(!&E!RZtr*AK2?XIb*Y1vJ2h<4>< zL(UVg%P|#lvIiI~&GYR%n=i3*v>IAz1WSx&<-~WhY5a;9HlU(4Vct{iYJd2^k*?3L z=@vXq9iI{+4V47lFo+J_#H{KiN3YJ%?@NfwyOH$fFLdZ-SH}*I9d}-K82`$Za{Y-g zf5Jm8+b>WATi3VW2TIXwbt942y@!Yh1W#a{TD#7P5CafeI9F|!V>SF% zEYN#6yxeo{rRz;1Jj0zS|8cf&cE;gdI&GmqO>A6u^zT9<#$8j>q~M(a-83HpJU5WE zvK=b!pKp$rx97fgR(9-jD&y@Au#^!_>CTj_tcOB<)Xm?9mbtKUl@>UNdpb=IDYECw zxBN9G%KIq!@P;RQUr>?`uU@p1WjhY}sM}uKUa>GMdP~>M_}g4{fZ#X+hG3$?jPk))?!txbLBfo*Jg*(x_wt7ts+Bz$Hp*o)@8IhX4ZESlo_rbr7?DqoUxLM`=9qi(Q&hYQr0)r%wDLDn5u% zkYOTG`BuK?2u}}wR>rB3)=yqYq*~ZL&4NX;^4!;@O-AL-7cL?f^>dqf(az0G3>0$? zNit{GvvP4Q$4>7P;;~#=nn6xei$i33-wPZA-9s~lEBV1YgE8F0W!emP1pG0efoQ&c zTL)6r+tZVZBtbo~C(vV!^lcJvfPcFuGlx!wks@w?c=EYi3OK!|UH zdk;5WTv{jj;EL3jP3x(=Bpf}QvUdEifm|6!MWuud@O54fG;<5a@_IXUUQmk52)#6j z%H$K{5Hs&9#^^T9u3g_me)i)ef+|MoPBW&NG_$$xjT~>^x97;O@x3~|k4QM_EWmkZ z7$1H_q74&2>~+5nf$f6I>ly4}a>2Wy?Y&E*n1+%3qLMZY-&Q8leUl4F;59r$`iox;nD=H})G z1_mIJeCXeQH$9zI@*S@YG|4t5L&xP_JAV7jqw^HL?(2Z|$BIQb2Jy|WWSMqNr)G)U z0Yj>S+MIPs_DC9VQg7Fr4z&^|w*JpIKhEKI)fmvmz}TGpe5J=8-yVxf&UYrw`w=Ae zqP{s!1*(A=rU~f15fNNJxGxByKl_=t9XO7#Z1xg89}M-gi|%8uS_fq4k+tGo0uH7j z+~Pc~sJ#_l4uoNiHpNasrEF{`S7+PA!j6azq2+U@yAl5mfF!eZdJ0+1w>s=+#uB%O zzM3bp)P_%Ib7^6fbAsT z$4Rtx#3<2XrPC(4QwUWsux*5IPawbXVJ&4U5vw5vS2bW6P^`uA^n#!qs0oe_y9$jJ zh)IfkPD~HgOeDAmTH7;zAWZ)xTWc}E4C!7u?);{Sb1Cy>7xC5e<^}?pCC?C10iz>; z>o&~??;6jm@GMow=` zXyU+N*YU0H<2j>TGwI@@nfOlc{WJ3?E7(srl6MfvNXrt+gy5FQ;bc7qv;D0R6{mThZ*Y^8((GVbsMzdC z&MxRmj4_f+0zV1SiazBi9qA?Q3TX%&vau{~Fs-wdqe-w*_bvQagI0V9gAls<;U08U zp@W$lyQs79Sg5r6gtrHe)em4$9A*=-`Buj)H8MeeGl4Pe0rs zsv*lg=zCq=l!|e4rGS#pj@HFrXWiIkhMVJCW36TFvd+tgp2`P{pOXro5hokl+ zI{FOSGl>ZC;rq8jAh0M1&JGV0;g~Uc!R@4*?T!cM64Ea$EG+QKq~i;~=UTb=)y#RJ z1Fhsy@-O@hR1JpzO-4g}R6SL<@V0&Qz6>=56vQ85hGv99h#Hh(rayG@j85(?L%7Ui8J>r!ee5Na&wQPNZ~p6_AdpV zQ-B5uc}`VR3sjrjZT9}Q(-C4C<|SEswJ(kGuV(k|dzDdP%P%tZ(W2z5AKMv!-R$=W zQ(^)(H-abMZ%C2ot<@TsPkB#cxCQFU9LS% z2L7|HL^~`3KvNL?t9E)qrc9j^>Zh#yDT0bkR*Co3CT)B79W}fi@Usc!5?p|5| zC2#HLarMGAO-s({ys4VIc&V6{(3eu}3qeGT=LvYDWIRq0vhIqvkNn`pOi~PY$yJdc3 ze0`?S@`)?s$Hwai&^nCN=F~vFHu1G|wEH!*7XvOPFSvP%EDoMKdT}4j4WTFPCXrjl zdrc2G99rIsh_xdjtglkYeCYeBR0V2z-fPNNYa}1~)mouws z7P5(r4rv31wJs4b#6sZMH9wtW@p^3!kC>Q_Tl{VM>tE_K;T(ukeObw~Gval^;9G==$Oe4rAy`dB@6!CU(J0 zxay{q=JqUL5@l-|-s7_#w?i4X1BGc}(Qj*GW8?Qr5(kD z?t}yL9+TG#U7-p&8=GHFg^-Ju*PPYAy*O*WwC-^*v8jmR2mx&1=jj2oe8f-RpN&QL z-V>7wei%&u|3C8o>Fd&G0Qe2$5kfA)$b zUtdq}_0GLd|Ip{B5KEVrm$$0FcEMR;-OXCQ zUu)}M6?9ne9fx{(c*&Sw7)Z-Ttq|_;Z&sr%x8N={__F@3AUY)ox^J#$ zw8ULguRf!tp_1ZbVs2ak@6KQY;BFq=aNvEKry=sX2LwzqK&#rN8rFsc1<`Wxs0gF^ zrNGDX93~9&J47&c;N>NLhi!kE2O2j5#fMd<3tcHJrnmcwDRKu7rT+6rTaiaoi3{+( z=}{{Dwc8h|xvm%us=UC^P}y;-^L>5I2mhG7Q)8Hn$fapeTiv%MtMz4P{cXxDuPy@#lj7(!AA@!larI*Levy0Ce-g8U_2WM z#)fvERMoAiT@IIIehlm@*z0B>{@~bBXv(5t|I7V?rgPG%fx|R!JZUpjcbXb3 z5O*>`3Fcmz%O1-a?dJ@!8`vij&ini?r}&79(XRzSk|RTqr>3k;aNHt^F?s2B(Th?W zVk=(c?D>wKHwUW>AV@P8VH`GA^E>^a=0`5FDVPxWx@;r0)@ws;kdSf?F;ybD&kpl! z?x2sC#YyTf)Ri8(xS+Nxoya`7iu^%Q0dRa3HBVoec0u5DU5Sahx!U_{k;*Ym`=~%1 z09^L&Y~5=+u8h4k)_zfPlb@WbIJU-Y6&c(0G3CmoSS5YHFBG%yunb|aHq;q4QR5qQ zy66mv1xEOWtjQ-h52J1Kd>L@)f0nrt^=j6u)J7iK#6J!xRy~>^2I5 z6gg0Tz9^OKmpgl}r_%1rSb<4Q;N2yxx4~K`ww&vuv2!rerSKh&xIBZTZvWjBKQelV z#K)uu^=zdnCsV3PTmb_m>Qz#F45x!e76~D|$BERfmCY(@TJMl^pDS_2SiQh%SP2V= zs(ksa+@&!Su2UTI=Kadg$~`C~A|U>{v=Ko3Ixsm{`+czPm&Av za9&!HiZQs0wp6{2+sMu=L9(wKDFW%Qy}Z6wEV_T#On%_o@_W%t!6r9PgR+5HCwkv_ z5Qri^VjOCUZmX9En<3`ZBU#GKdlfj8BW}nf`>K3vQfg3%c$lpmVId^l#Y!Uhd&=hA zSeGWq!qi0R#wtB zuDzjZ-@-+~%`ww0WWYpuGks^=zV5ZQnso!&kK4ckToVXbL(z9>P;eE#b3LcdRRiTK zI*rPhTYk@Xv2zdtHcW#8xGXb$&2>mFocrd&C8U|sAERrzDwY190ggYu)#spA~sUA={*Tf z0bh~&-!Fx#Iyu$R)X0t)x4i^p(3NUD^-8`X2-X{lJN-%z9yEE`@5wqwogPI54boOD3IxRqrnE2nhB^0hKjcdMt zTP~syc>Mg4G{V;?uSfVbh*xrjmOS#U5OwE+ZOZh9&o0K#F0S}xoT8bFV9G~ds?*!4{eAjUtvWZlk-EBvOBbByy%sKA>z164en;MQ z15Kp@ji{T>_&j-5&E`tcPyFKn$T(PAYZX>xF&=#V>VU@7wJg4`r=6;0c@hJ1IpLwpBN&Z#2amx;_eZ=*X-g z6H;tF62LW!EGN?eMLfHuQfL_V#-tU9L*Z=!S+CwGs(J*pCTN5U z;9{Om(^GfGdLwK8o)q1O2HB6v=<-_>rWZ|W2?-?cVy>C*u-Y6GpG%E`BSyLtEn@#YLA*i5HF&Et^y*M^ZjMmC z%cmEK!y=~ky%eveXYSYRqw|e#Jg_fluR;NmWibWj69Unv4Lu6DNZ3m#-e6eux_7qp z33O>DGIR&0ugS%{Tl;wA^VpT)$c9+RMkev>$X=^cU|y0)tJ;wYu$}I3!P2kGGJZ~^ zS@#4&x;)F`ZLb$>a*ox#BA?JLa6q^4V^jNk^YDls81>v%_7Z@L-Xo9W(&~i&KHHtc zQY7ZtK(Wc;_=O4!`_c!OzbO1VrFQ}pcvp_8_KldEzhfpcn={Un+J zr*!XC+jZx4`KctKA%Ct*>SOtq2_6@Bod-rjIo_L76?~)`_58KMAYzu|1tgmOv*6u8 zfaC>5BHCU{c%X=)lKcIawf;&7*RAwFOa1fkM>ulzez87B%*Lw{AO_{5Vu%r%)HG?l z6$JM)N5v18kNIBAiPx@mHLSeLA zk=>S{@919_PUU`{+FrqPD(PpW>5S7B!>O~)W~l+3W^99(Wa=v?fqMG366%oTjCTBW zmF1IoLwN7rUbI!5v@=bRWcToj&#(iIn&W#jAt+GammztyIeu^|;n)wkK>Ci+)NuS) z(HewGO|N`WO01FZ6o;+C4ZYi-X}8TY|DsxH&D4)#*06u9aq0%&sj@yqcOjwpOTH>Y zV=8ihA`iTF`(Bej^!9lKyU8>88EZi&bX;jiyUvO7ev8ZIy+_ z(B=Nw@$C`WF1EkfTI^q|x1aWJ7}&)7vk+G3=y#T_wgX+!~c#weQmyY^+GVqB&FO|2~x|@2eo9EiW6sFD%xkx+y;uV~55^)3y6` zA|iur6|q&SD)=is#d#u4H`|3uSmsw^X`}X8-p6!T&fglSH!N7^b(jM2PDm2 z@Qh_z+Acba7@l zk)gn$dOp(1UJNXVzw*U)L) zc{Z6x+pds*Uq=Gm`@CaV?LR63;#FuOtC}Z0>q>*0Q_s@vXO8??DWo7bvac6;fen&N zEbo+a$Z?+VcR5~iAqZt1%gA??a{0JC^KScn@4f(yKbp1eakl*TiH=ELTeqJF%+645WGf?Ko#v{j#{}|gg!zs}b+bu6F^pnEPmawJeL{h$?3cGF! zM^seQ{7J!f3OlyxyKshmPSchXwy-s(KzYF(N;E9)8|E!2jU8iTm@Ea>O*LVCSR&1-< z3%#eebp||#1ENMf_T0(OiAX@{AK6xUe#YkDX&{ttu{wov~S0u&bvDD$$$2k zjJ-Q7>;%d`%<1wf>6{=YziXhth#rP>k<$Dm;>DDb8R``d3O0zcH2C}?BbMh&vB|#- zI?*Y4d8P)++HWZ;CDAd_t<=W!kApiEAgr1>si04NN?@8%i&w2?UCPOgwZ#1FwzBOo zLGD;hX|W0^`p=Ww?e=O@L0;;}tkAOa&A^0Hj`PwLIH+Tv)BAX5msc$EeRjOgr^Q}X z-D-cPIXS^#VKM7RKH?MJIr;YtX;nBzHdj0nr!hlHeCdj#X6WE2%?wXoK(55Nkcxx5 zVsYklO}M7gysM?u6H@())j?q_#R2lmNzGH6j2}wuoZkl@W#?`i_w7_pM%N%A@OMjm z9(6s}vWxHJlxQ!SXnE=jK_|k3O)w-fFN;uIKKn>RQM2zi9pmQ_T<0x~zB*Uq?yd|dR{VD;Mk(88Z5P^w(6B2jS(-?Y%Rj0+;ys~d^YrUV zX{I)JKA>m4zoF;P@&xqUn&-DO?zQRj7kOx)Lo!W}qm%P&`GT;3fHfq?csizt;;K(& zgMVF7WeiP6PP6?|alY#7z=Ii1a#zz!2*vN^!2-@#s_czzh&)lk)};4GoWqXe74*io z^fPLEKVNkx1_7$w!xz5AU5X`^`sHsR1!e2nd9T*fe^Q3rSQ>YgFQG?h3sI}HNXrZ3 zg1=QFj3w)G^pi-`8P@}2wZBl-s@bb?#w!o67p6O`w_y=~?uN?P0rd17UPA*~c6Ct! z!|$vsvo4-{)xzDSt)!O=m8Kh1?w$>S4Z|MHT9Fx&dn#R^lOHCI87&pm{psX0R*+nu;9e=VGFMAg zOXv_bc1cDpUsQ}76Bn}cr;E`MGEXLL`MTP7xorM@!@)+-Ps_td#Z7T{@O|r6F|1s= z@+7+vV)be(h2;2i|E1NsrOtJI48*bCi_G+|)tf7SO1 zE7>m*%n`n!z0ya3w>K>z_*sJ3X$*8R9abo($(9&@p$hFiC5@x;da7EJB0CKM>v6*^n!2V1+;526 z{f8Hv-dV2a)y5w+Ie?1Y(YSPIL|&uyt}Dt)m%%7wSpVoQ5!b#lQwTR1K& z@+)8|PEbHZ4WUpGciF^g;PMop%6X3+MR>o*xZ5<(sAwy-@AZE^TJ4n(rKy{JYJZ*Z z184|YGz-6mZXQka)V~nGDEB}#G2*RIYCze@C*R7{FVt4ACr>G_(<&J}7@JTld64DM z*Jcpl!?R`v$Kh1YH-96TwL8e9Uv^<&A~LTOt+4d8%^_D8{S($Kdj7?L_Bfl=RN@HBsh`({1@= zQ6-pl$1^ZA1`J=3dGw!UVy_Dc|FR|8j)h@sW$BB3=}12k;WmM=gm;ln)V`_a2h$o| zDXCBHkz#Dyn5(XtDt(?$?K8e~I5p`KRn3yc1+yt~jp`QeVU3lI^+P1MK|BVQu$kd> zbY^sFYWEqHz3)TwAGa%}aoX3avpYgW24{c0$mpdJoG?-wqWf5Si0}Y2r>Q{fj2Nmt zqCanxrss71a0d|+fh`QWN%~xgWyNa353Tm(N^EMlg>|DL*sEdqC`xSUT~x$rJGG>x z7Lzz_{f4_c4=7nc!F0a^k%kOE1DCE#%M357UMq2JlgOlXe=Hv6!n!?7)uUGH*V!+x z84o@yRU0EO{rKkR6K4Yo9ZD$|i=7y8>Gsq2Grp2d5J}xga$F3_JXV?^-eA%8`Qmn0 zN~`@MEcVe^jeQMGZ>}BxCv=C&K-Uf-YF{)?nj5Ke343>^Y;`5lQVA)qj7(deUAhPY zKgWvsd`=~vXP*3vlt_EdWv_ezwyB2ED4Db*%zb&d-Q^(tIaY(7JKn|_^crYnQm5V? zL-~MmA25YnC>y_7_sLv|wU#(>I7_duG35c|EPKe{U&_AvV-f|Ih{)Z-gAXr79y6$V z4fuE&35r<_R?alqNd-B%8})CA&9+w!SyJAJnR5V!Ku&d5sVlbc|G85H4>Q(x_V@?d#hi0%dfCtyU%Ci_Kaaj^vpJB z|1DUd-_<4yJ;YI6{t${%7wIzhn@8IBetaqj<9K z?tLR9S{#Cb3^Xq^6azTIi7i6tcRrlkd-yM)@8AU#26iCR;NEM1397-u)>7{D`H0`< zTT8x^_2^OTu#vwp; z;#4vp=K8TkM{M@XLlo!seH4s5mrvl>Fm8t5>CJQ3HfaXhKflGJhJ_$k;!k21xsB96 zlPip>6`h}+YMy}i3xNfYx%3=ItZ2`7&`Uej{xZ@+4r4kqEjFJ1Ar_}l*q_r zB4`J_SQLUzI4!;p)}*F5kMQ0uR{c+2O3TozXCQz9Hyb?`IBpR}VItJ<*GYWMBPCr$ zyjj9kDJQwPFHno_KREIdizT7b#?}yy?e9kKJz7opy~ji~>@ewj*)&!qz6Gp&7op!D z!v(+=W4wtW_9Lv-BUreq2c>a!!on(QPWVrgfw>?FA{0Bjx1PY2!blNCKps4{C$ph9 zAz~?^{KKJ_cIU^J)3KSTUP@muT?!r=!dnPY7@lWGnPdQ!c&?YHe7WYwfTd?~ZKFS_ zP952nLu{rZ@*sLj@?Sy>6tDR%PLm(1G? ziT1DBf=vgAT{}ty7lP(%WV|=H4lsq*Mka>eZ;OZYpcl3nBQ0ONuNf>6#ZLVR^q@cI z3auQm-k_Y={Htf)mZm>B@9w-9o~NB-75nKG)Nh`WuAi9g{Ys#W$nNPwEQR?M^8q~J z;Ww~tP=y*HL0rjCw$ZUA3+VZz97mzpvXPCAElw>tWVe?+fnut-qWZ%4Dy~gz;m~Yo z|8x-%i#g5rGj3mOF{{MmXagWwW*($T=jaBhP@8zILez}228UN!tX+5e~G)XkeM7+hnz%~6P$P#<2 zk9D>&?;tW9Dpwl#>pC_GVI6BEwGl+Cb$6rB2Mae(ID0Gv+(_~mn#PFeThd{gd%gmE z2q{V(PKB7nOrze5g`7RPwq^)y=(k217KA9qOOLYwVK|0E_ifBPKy6A7ze5uF-}O~G zVygUUkwrapQKc()jpx`EQ;%?I=c$Jm!_ipL2lg#qC4Ru$sjI6==#L2k4TbDHa*E?` z5Ib<9oGS6)M(Iy?-}D7oZ;VB`22Qg-bhkb%Ik@~|qjFVy41kQXJ^&f};>5qG=Gr|W zAqC%q1_gziiwhfxykGhdcy=~%RdpOD9;@;Kj|z468_B_AecOia)rtQpwo?0j1G#Uu z#;M4KekDzbmCKKd!%~qCR(~{d66V|yznt^IsHg8o;^Jvnn$7Z)oH}l0m0v?gNIcIx zd5g`LW3iC14_0rV*A5uI=e2>23*5ThxcRX}T-s;2v9+w8OteVJ9A$rwWGkxjE3F@44R#=6U0cTH>+uVN+>`gVWaB68Xjjb-CN5#sBBv z`RUdJ{N!d`2@ta~!qBT0q~2z^A^TPYOl@c0A`UglhZw7NDr=`RTX7-$v0P`UDJJ`ZMa3M{D}09 z`18U1#!6T3e@L`xEJAW4KP#4qHvFnocx6B+nA!Y->wuR)EpQtv{uxx<~nX z|ERof5M-D@tEONRo*5!EhK$Tp+F{TO#UH$7;J#{jDFufg z6yn5o6n|d*XHJT=|2XsUXB+GT)EHbtLI1Yn-r@z7>s^^yS=NEd1C#Q13y-60Y|xcG zUVh&`(c{}WzsAOa`O@`!C;om@@i&NYh&jxr6!-2wDOZlFUVzzQavs}XGM`KJVRyOt z;*4=^S=nrB;W7~}gNdstS!V^KW7c!kJoL!r1GQKZ9#NdiBYx&jFCvsbrw5S>82|37 zlQHO1hZqYupj4TE%|D)!2la*LT~zWsgcAlRUAdBnk_a7r&U2XqowgUV)@Am_Mu&Ks zh**#GD^Plm8b(VIJoi}Ewwzo| z4JCuCgm5Sk=>xXt7Xbv>c3Jx+T*d<1DXS!6y^0c~%8GzVS9RKAuN-i^2Xv%fKUeC! z#sS$+^Nb@Gb>|RFFJOx^&nBdY2<*(JN+x=bo)|E%MBGMg`c_o^-j&7L73pUYVo1E% zfAhwiVThg7jTRS~HzIHh;Ze|d3Dc542XXG?#9WXK&LD%$3$)& z*Yo{L(5BW*+$B7XseeS(Pg5MAJk~s66qF4K$!f4MhwN+3NZCCawAkl`Pu@qQrc1hd zoxe3EJ&WF>G2mz56#NZJ?z?o=o$4iNZndRJDtE56Rr})ix$C8?0pI-!BD4tICR4*) zKbB!bI6(yYp-nRGoJCV`Hl1IU7S;i-k>t{7dH=)7*lHa07`pY|nyveN!PXp~(y_^HmEmpj zZ_kC+f|E(l2SL2J3yt%mM(iAd=CLBGK~Onwh{Ohha1lWx^#UXVa-PK2 zOOe{aKzM$?x~rif75IlaGt}^a102gr@;$9rBF#GAr{;QixRAPYD@8cm|M|8ncgnS~mWlUShH@JoToMQMC$-0S|hq!9Yk@ z-h$gGcKSZYTsS%&Ny2;6ErJMVifd5ES;6xs{j>v8)N(Xr-NZ<~-vZhfVvT*stsg#n zd};RVA#@-Ij&RDKKi@3-$bNEBu^h7z;#TZHYLE)XT}JzL_)Zu46zW4h_%kfXv&q? zk%w|UgDhIU1{8rJ1WWQ575IYE1j{SKpaO%cqH9`hBRnKAu{a>e!>TcztuK1{Ca z?qb( zx-Ss)%V4b!-S2~{%(#k$Ipictd_gxh+|Om-@n@2+E-O2>{nD0Fv^H?~6k3pE^NYUu zhK3fx`-|~NbGZK1=4#HCs#_x!2G`A#`C+t^R?kft#WMYWU5~{S3|brz-mKr;v?Zf z*;YY!4jGGNJGTG%hr_$lIf*RBdv{g~(1(3vcru8r9g!n`l2bdl$)0lm{#bKkQ2E

    GlH1IRJU;~xU2eKG11 z(~)p3%DO_xNg2IuOh+s~6T6wnn35=V9YIgkDF6B1ZL9C?*2PbEqA?*PKc=RpL?~-2 z855ah)t^5MH2!?(sV?FV%LB5+uH4U9Z-{q>nYXsGlAVn$ZGrmU9llZy;);v+nfw6& zkK7bL!Ng$J6jKk81gQisD2yQQuWn;v_{ZOj)kK}0SNL?vi_HI5ZLHavr-GJMM-XTo{D6B!%w^liI@T7^{^y!%ngtwyT=h zC{yX90IBCN%9@P5DulFHqZ41GR<7j!v_EokvCT%pz#h{xv3*ZlJESX%tT<4}!0Vq( zfrC|39X-pc2d&yxwe_cnjS4IxgJ}Cw`M%g9=%#Yn4qBG)lzs$ae{dHSslAQjg*mzS z;a7@fRV@|u*qS!JoQ;IW4_vz~QMdiR)8VWP-g&4i2STUP2>IzeK#;7@5*~v7UE_S@bsbRbue1KQ)$AUW0@cU$#ExLydy{ zeqRJbtzdAp(SC$ekhvFl_0+c)6;+!nD?2~&ZVA!_Uyp|g(I3c&(sV7d__USG^<(Vo zlq(l*qia0R*$j~tGM`Y`Zg7}Z(kN6Z54NR9>M5CYbSz8g=>{~RS^f9M_~{b~4b1?mS_vbw@@i#08- zS&|lrCQ?Nd0Mc0TF%2JfikEA5on=k8i+lh61lq#IKo3n_JO7R$MFw_uIZgd&siT(` z&fZGioO8Den(7_XxwpdFIdp&F(RVlm4Z}-gKpM(2tKW~JB(^N2lkUCC$Dn}(DZ)7%7MW<#TD2msclSRKR}Jgh0c@ZoW`_~_|d0K?8eSORIoqiHWdYP0ka7 zj&^jVM^`0==STr3K;i*{hWeo;R(TMOdBf!W2Q51??EXpdc|1+0&?#W7OByQxtPXTN zpf0PaLEM(Jre;6{9*GKW!9nqj|hIWHrV4Ox>L ztx(_8O-mR?@dU=t{~W46dy1iSkM9$c7s;NFNG}eMQN7yLk+MhxGLl$WwrL=U>IQn? zh?Klc1xx3Zg&yV!IDy7Ide+6*@1G|GP^ZEIZ9R_G3&&=+LS!DqRbf{ld=Q;si59VI z_p;$*k~>x~L9=CTiHX4zro#ZwZUIAm{q-Rm&psw~i<~o{v3GNV`&S^}p*)b#Y!*$T z3sA6`h4fkvd)g;#M(zpx*6QBY%)@+yc0zHZ&T}pPVa)jUHbSEb=}ZR5&nyQW!IX+) z+Vc*!CSuDHy*8 z+vaHWSB&dw*C!q_nqtaVj#ikQhc1#>nu_h>43=9GnS!KD{@jN5tG>;s-48czZ{ajS za!8$W_&?nN4ByQYnuTq=_{^nB|tWAGP>XX)QTOxe5Pd5@(PkJ zB-DqcJa6sgJphqBnb!>BpeN-qM!RBAQEfmf6yJ=o!nh^%iAl7i^-X5Mb-?!H&2$w^ zxbvqyLz+4hd3A5qO?d>#RwU?HIxmgt6l%x@49*&>J3;T;jrDg>h!hec{Zyo5BieAx z`fM}p^vS(!gkXArb_qgBletL}rX-5-KQDsouJVjoB=Xg*T-l)Sr(h4GGyJyo$cW`9 zVScR_&4%wx<6C!rZXP|BZ*hN~$;$s)^`YW?-+G!W3_Q1-oC>tFi0GX2YqCD^-)7>}%}LSj|~5g&$?q|F}boo~%B-zRDiD*&TQj1V#zR+LG+EZIe{T1K%ZZr*dngNwhYz z#0Pp5B5Ot{Om5m~vR_6tY;?~ZTsw%|SQ8g|I&}faJH`7ruj>8`cZePY3u+mq7emN; zQ=Be``1!H)rbYk?YR@;V3m~l9K10?0*o9|JL#WR?g)H2B`J$54chWkmn}&EGu#oAE z^2UT!T^(;&me-l75baWViCb>rw~H)h9LrebU%xqU2Lid3IiQFW>m?!z()w1f9L^eR zMdvgDY#z1U$C$FgeV|<9N;)`6R=yV?VYQgwN^LL=FJWV77G7RStK5A~8I_1M%W^on zg_YFh`R4n~=k5=|*X{5sSa+ez&u$cL=PO<$Mx3$jzxkL1xHy11U2560VV=Yv!Ti%=3000!2QqOl0{GtLo7 z2uAqISFwXKCu6e*9Q0)WU7+?ybO#HNX;X|xRI++%5pn&12qis+Gh~>U|NOEo+2(6* zZ_^ce^+SO!1%8JJ-mjH0z0dhMS}h~?@*CB8MNYRHUo9JiQe{6+!QRgxe*;aFQl9fljCrw?s)fZr9xIL&Y-+=(h1N@>X z)kMHf7N4z^5kkJ6}#(6_Jq<<$Q*uk0Ek!{Y+W1nrC8J ztVU_0-(j3474m{TJ`7Yp-cx>8}lA zw9kz@0BP(dzC3|~8k8Gr%Mn@He{9zJn<^cNbHH=gRLYgLt>{CWCoC6RgUUi$)Ol|%-Vg(oA)XPV+ohC))|30 zP)a&7tSYZ(LY*-cgEM;Ka9DS$5VpV*ApQiy@+8jHoX=14XRpYk3$HX@` z0m@CLI``)~F;z8oKFXEajWU$kS3-hf-LXwH)-6MlO1O=33i_z$+ulXjMK88#^I5_ zlX|8R9iemZ(tzR=hRBB@8-X4`Hu7)RYBz5YLa!ypclI62-}Z&hca&3#l+mkz6wbBM zmXZ^2@Om|dL=XsYji7yxH{f}h3S80Tyh+(o=i1kBp|!>+p4A2`6;1DR*%iCd%@+sH zpyU{B4GSP*B}E-&w*Ub)3fQU0NS;+sr7o_p0tBW7J-0VbkaCfB!q&?~v~Xs1!Ph-9 z%bDam24)9E?Hlj9ALk~tLWX~9g~S;A-Hc3QKFzYJ{C?A$jBxDlr7Z8zHeL;O#~{5c zBLYcb_`erv#Vc@}&0r%s!#!<5UzV7gMtpa_~SjRxX&kk1~V94iIOpbQK#-su38vw)nRYP9!5s3RccL7DeG;<_Lw<|-)2HIQ0`E6aC@ z(J>WSGbl1pD^S$Xrmqg@t{~P-=e=(-IDo*(hCV)WP+GkJ018DVd)IfZdwN&hGzci+ zUh&Vr^E^J^@7WnKOgOc598qfQ~@0y85MPEy6!Bx#HIfUN5+dyB9YqYFgW>t{XOA_ z;efmbkuI9ML^!y}AF2MUlq5QwkdoMYV0JGi!k)>*Nr-dC0%Z8>Lx{)*teLx(Sh)1v zi~y8TJEPZ#vE-kbcbVQX%+hfAZ#_xbm^xYCOX6<4u>dVmQCW#w@r4-nD>PHDl^}vW zAF>-eC!MvC|9zpbcpj0zO?GKN8bi + + + + + + + + + + \ No newline at end of file diff --git a/releases/3.45.2/images/logo_square.svg b/releases/3.45.2/images/logo_square.svg new file mode 100644 index 00000000000..3141454a6a1 --- /dev/null +++ b/releases/3.45.2/images/logo_square.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + diff --git a/releases/3.45.2/images/spotify_logo.svg b/releases/3.45.2/images/spotify_logo.svg new file mode 100644 index 00000000000..fc3a68bd462 --- /dev/null +++ b/releases/3.45.2/images/spotify_logo.svg @@ -0,0 +1,4 @@ + + + + diff --git a/releases/3.45.2/images/tidelift_logo.png b/releases/3.45.2/images/tidelift_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ce33ba0fa393e00e8f27cb081bfe6da919152fe6 GIT binary patch literal 1377 zcmchXYgCd40EX$T3+YU%Xzot4yo~L7 z&8v`zRfc_RR(_}@;E1i_c(A;K*_vm@+G_tg)*SIVui7Ri38p++iI|8#jv1wqV@dJqDtj|XvlXwYpUV@|$Gs1{)TJVfPmH%pIB zfiB)ZLz$$8gE{s+(@#!ZomvZV%c|0KTM<6H|H-oO0R@~}`C$6Ab^Q^|Jz<b}51>VY|=dio3J-xG$AD=C%m0|wfw5EFT?^WcEJ zbl`oTOYP=8m7#yQM0>)Xj8wL|K8(}Mf zqH5JDd-G2MGsU5ia#3y?BStQybK$~IU{xqtUV8eKAhSCad4=g@wv9=<=-khEhFiU< zs$ZPORLMWj6CpIu@Z2H(PM}-Br_#9zU}A1-a;usjEuXjA&ScaW8RL)pTupWGY;F#qbLF1kWIfSH$AFh9$zR)G+WHm*^pQHpWaB*C$MhbRyHU=hDBK2=KO@^V(LC{^?yl*X zt%@Q9r!*ngN}|jo$PyfKH0Sm_}_sUEjdKo&?;_B;)uBY-0lf?^BSS* z@?AX@SMNTTl6BwG5*6~Np{F+ND_Nay!fsJsHkCX(IH$#yOJrgwD6)xb?q;v}L*Yzp z^xHV1X7ExV+8*lVjkK`qlzd&HXNy+1XrX+*6@`a)RCN>ZirqME-f~#S=rtMA1mqkx8fi0ledlV*mgE literal 0 HcmV?d00001 diff --git a/releases/3.45.2/index.html b/releases/3.45.2/index.html new file mode 100644 index 00000000000..25c8aa1d5d0 --- /dev/null +++ b/releases/3.45.2/index.html @@ -0,0 +1,16144 @@ + + + + + + + +Jdbi 3 Developer Guide + + + + + + + + +Fork me on GitHub +

    +
    +
    +
    +
    +
    +Jdbi logo +
    +
    +
    +
    +
    +

    1. Introduction to Jdbi 3

    +
    +
    +

    Jdbi provides convenient, idiomatic, access to relational data in Java. Jdbi 3 is the third major release, which introduces enhanced support for modern Java, countless refinements to the design and implementation, and enhanced support for modular development through plugins and extensions.

    +
    +
    +

    Jdbi is built on top of JDBC. If your data source has a JDBC driver, you can use it with Jdbi. It improves JDBC’s low-level interface, providing a more natural API that is easy to bind to your domain data types.

    +
    +
    +

    Jdbi is not an ORM. It is a convenience library to make Java database operations simpler and more pleasant to program than raw JDBC. While there is some ORM-like functionality, Jdbi goes to great length to ensure that there is no hidden magic that makes it hard to understand what is going on.

    +
    +
    +

    Jdbi does not hide SQL away. One of the design principles of Jdbi is that SQL is the native language of the database, and it is unnecessary to wrap it into code, deconstruct it, or hide it away. Being able to express a query in raw SQL makes it possible for programmers and data engineers to speak the same language and not fight translation layers.

    +
    +
    +

    Jdbi does not aim to provide a complete database management framework. It provides the building blocks that allow constructing the mapping between data and objects as appropriate for your application and the necessary primitives to execute SQL code against your database.

    +
    + +
    +

    1.2. JDBI v2 (legacy version)

    +
    + + + + + +
    + + +JDBI v2 is no longer under active development! +
    +
    + +
    + + + + + +
    + + +Already using Jdbi v2? See Upgrading from v2 to v3 +
    +
    +
    +
    +

    1.3. Getting involved

    +
    +

    Jdbi uses GitHub as the central development hub. Issues, Pull Requests and Discussions all happen here.

    +
    +
    +

    Please see our Contribution guide for more information on how to contribute to Jdbi.

    +
    +
    + +
    +
    +
    +

    2. Using Jdbi in your projects

    +
    +
    +

    2.1. License, Dependencies and availability

    +
    +

    Jdbi is licensed under the commercial friendly Apache 2.0 license.

    +
    +
    +

    The core Jdbi module which offers programmatic access uses only slf4j and geantyref as hard dependencies.

    +
    +
    +

    All Jdbi modules are available through Maven Central. Jdbi also offers a BOM (Bill of materials) module for easy dependency management.

    +
    +
    +
    +

    2.2. JVM version compatibility

    +
    +

    Jdbi runs on all Java versions 11 or later. All releases are built with the latest LTS version of Java using Java 11 bytecode compatibility.

    +
    +
    + + + + + +
    + + +Jdbi ended support for Java 8 with version 3.39. There are occasional backports of security relevant things or major bugs but as of version 3.40.0, JDK 11+ is required. +
    +
    +
    +
    +

    2.3. Getting started

    +
    +

    Jdbi has a flexible plugin architecture, which makes it easy to fold in support for your favorite libraries (Guava, JodaTime, Spring, Vavr) or database vendors (Oracle, Postgres, H2).

    +
    +
    +

    Jdbi is not an ORM. There is no session cache, change tracking, "open session in view", or cajoling the library to understand your schema.

    +
    +
    +

    Jdbi provides straightforward mapping between SQL and data accessible through a JDBC driver. You bring your own SQL, and Jdbi executes it.

    +
    +
    +

    Jdbi provides several other modules, which enhance the core API with additional +features.

    +
    +
    +

    2.3.1. Jdbi modules overview

    +
    +

    Jdbi consists of a large number of modules. Not all are required when writing database code. This is a quick overview of the existing modules and their function:

    +
    +
    +
    Common modules
    +
    +
    +
    jdbi3-core
    +
    +

    The core Jdbi library. Required by all other components.

    +
    +
    jdbi3-sqlobject
    +
    +

    SQL Object extension for declarative database access.

    +
    +
    +
    +
    +
    +
    Testing support
    +
    +
    +
    jdbi3-testing
    +
    +

    Testing framework support. Currently, only supports JUnit4 and JUnit5.

    +
    +
    jdbi3-testcontainers
    +
    +

    Support for arbitrary databases running in Testcontainers. Currently, only supports JUnit 5.

    +
    +
    +
    +
    +
    +
    External data types and libraries
    +
    +

    The core module contains support for the Immutables and Freebuilder libraries.

    +
    +
    +
    +
    jdbi3-guava
    +
    +

    Support for Google Guava collection and Optional types.

    +
    +
    jdbi3-jodatime2
    +
    +

    Support for JodaTime v2 data types.

    +
    +
    jdbi3-vavr
    +
    +

    Support for Vavr Tuples, Collections and Value arguments.

    +
    +
    +
    +
    +
    +
    JSON Mapping
    +
    +

    Support for various JSON libraries to map data from the database onto JSON types and vice versa.

    +
    +
    +
    +
    jdbi3-jackson2
    +
    +

    Support for Jackson v2.

    +
    +
    jdbi3-gson
    +
    +

    Support for Google Gson.

    +
    +
    jdbi3-moshi
    +
    +

    Support for Square Moshi.

    +
    +
    +
    +
    +
    +
    Frameworks
    +
    +
    +
    jdbi3-guice
    +
    +

    Support dependency injection and modules with Google Guice.

    +
    +
    jdbi3-spring5
    +
    +

    Provides a Spring Framework factory bean to set up Jdbi singleton.

    +
    +
    jdbi3-jpa
    +
    +

    Some support for JPA annotations.

    +
    +
    +
    +
    +
    +
    Database specific types and functions
    +
    +

    While Jdbi supports any data source that has a JDBC driver "out of the box", its support is limited to the standard JDBC types and mappings. Some databases have additional data types and mappings, and support is added using the following modules:

    +
    +
    +
    +
    jdbi3-postgres
    +
    +

    Support for Postgres data types.

    +
    +
    jdbi3-sqlite
    +
    +

    Support for sqlite data types.

    +
    +
    jdbi3-oracle12
    +
    +

    Support Oracle returning DML statements.

    +
    +
    jdbi3-postgis
    +
    +

    Support for PostGIS types.

    +
    +
    +
    +
    +
    +
    SQL rendering
    +
    +

    SQL statements can be rendered before they are sent to the database driver. Unless explicitly configured, Jdbi uses a simple render engine that replaces <…​> placeholders. It is possible to replace this engine with other template engines.

    +
    +
    +
    +
    jdbi3-stringtemplate4
    +
    +

    Use the StringTemplate 4 template engine to render SQL statements.

    +
    +
    jdbi3-commons-text
    +
    +

    Use Apache Commons Text to render SQL statements.

    +
    +
    jdbi3-freemarker
    +
    +

    Use Apache Freemarker to render SQL statements.

    +
    +
    +
    +
    +
    +
    Cache support
    +
    +
    +
    jdbi3-caffeine-cache
    +
    +

    Use the Caffeine caching library for SQL template and parse caching.

    +
    +
    jdbi3-noop-cache
    +
    +

    Turn off SQL template and parse caching for testing and debugging.

    +
    +
    jdbi3-guava-cache
    +
    +

    Use the Guava Cache caching library for SQL template and parse caching.

    +
    +
    +
    +
    + + + + + +
    + + +The guava caching module is considered experimental. +
    +
    +
    +
    +
    Additional Language support
    +
    +

    Jdbi can be used from any language and technology running on the JVM that can use Java code (Kotlin, Scala, Clojure, JRuby etc).

    +
    +
    +

    While Java is a first class citizen (and will be for the foreseeable future), we provide modules for some languages that allow more idiomatic access to Jdbi functionality.

    +
    +
    +
    +
    jdbi3-kotlin
    +
    +

    Automatically map Kotlin data classes.

    +
    +
    jdbi3-kotlin-sqlobject
    +
    +

    Kotlin support for the SQL Object extension.

    +
    +
    +
    +
    +
    +
    +

    2.3.2. External modules

    +
    +

    The following modules are maintained outside the main Jdbi tree:

    +
    + +++++++ + + + + + + + + + + + + + + + + + + +
    ModuleSourceJavadocSiteDescription

    jdbi3-guava-cache

    Github

    Javadoc

    Site

    Experimental support for the Guava cache library.

    +
    + + + + + +
    + + +The additional modules are usually released in sync with the main release. If any of the links above for a release version do not resolve, it may be possible that a release was omitted by accident. In that case, please file an issue on the Bug Tracker. +
    +
    +
    +
    +

    2.3.3. Build tools

    +
    +

    All Jdbi modules are available through Maven Central, so any project that uses a dependency management tool (Apache Maven, Gradle, sbt, leiningen, Apache Ivy etc.) can access these.

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependencies>
    +    <dependency>
    +        <groupId>org.jdbi</groupId>
    +        <artifactId>jdbi3-core</artifactId>
    +        <version>3.45.2</version>
    +    </dependency>
    +</dependencies>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-core:3.45.2")
    +}
    +
    +
    +
    +

    When using multiple Jdbi modules, it is important that all modules use the same version. There is no guarantee that mixing versions will work.

    +
    +
    +

    Jdbi offers a BOM (Bill of Materials) that can be used to provide a consistent version for all Jdbi components.

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependencyManagement>
    +    <dependencies>
    +        <dependency>
    +            <groupId>org.jdbi</groupId>
    +            <artifactId>jdbi3-bom</artifactId>
    +            <type>pom</type>
    +            <version>3.45.2</version>
    +            <scope>import</scope>
    +        </dependency>
    +    </dependencies>
    +</dependencyManagement>
    +
    +
    +
    +

    adds the Jdbi BOM module into the dependencyManagement section.

    +
    +
    +

    Jdbi components in use are declared in the <dependencies> section without a version:

    +
    +
    +
    +
    <dependencies>
    +    <dependency>
    +        <groupId>org.jdbi</groupId>
    +        <artifactId>jdbi3-core</artifactId>
    +    </dependency>
    +</dependencies>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    // Load bill of materials (BOM) for Jdbi.
    +    implementation(platform("org.jdbi:jdbi3-bom:3.45.2"))
    +}
    +
    +
    +
    +

    adds the BOM as dependency constraints to Gradle.

    +
    +
    +

    Jdbi components are declared without versions:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-core")
    +}
    +
    +
    +
    +
    +

    2.3.4. @Alpha and @Beta Annotations

    +
    +

    The @Alpha and @Beta annotations mark APIs as unstable. Each of these annotations signifies that a public API (public class, method or field) is subject to incompatible changes, or even removal, in a future release. Any API bearing these annotations is exempt from any compatibility guarantees.

    +
    +
    +
      +
    • +

      Alpha — Alpha APIs are intended as early preview of features that might eventually get promoted.

      +
    • +
    • +

      Beta — It is generally safe for applications to depend on beta APIs, at the cost of some extra work during upgrades. However, libraries (which get included on an application classpath) should not depend on Beta APIs as the classpath is outside the control of the library.

      +
    • +
    +
    +
    +

    Note that the presence of this annotation implies nothing about the quality or performance of the API in question, only the fact that it is not "API-frozen."

    +
    +
    + + + + + +
    + + +Add Alpha and Beta to your IDE’s "unstable API usage" blacklist. +
    +
    +
    +
    +

    2.3.5. Internal packages

    +
    +

    Any class in a package that is marked as internal (contains the word "internal") is not a part of the public API and may change in a backwards incompatible way. These classes and interfaces may be used across the Jdbi code base and can change (or be removed) without deprecation or announcement.

    +
    +
    +
    +

    2.3.6. Mixing Jdbi component versions

    +
    +

    There is no guarantee that Jdbi components of different versions (e.g. jdbi3-core version 1.2.3 and jdbi-sqlobject version 1.3.1) work together. Jdbi versioning is the public API exposed to consumers. All Jdbi components used in a project or service should use the same version. See the section on Build tools on how to use the BOM module to provide consistent versions for all components.

    +
    +
    +
    +
    +
    +
    +

    3. API Overview

    +
    +
    +

    Jdbi’s API comes in two flavors:

    +
    +
    +

    3.1. Fluent API

    +
    +

    The Core API provides a fluent, imperative interface. Use Builder style objects to wire up your SQL to rich Java data types.

    +
    +
    +
    +
    Jdbi jdbi = Jdbi.create("jdbc:h2:mem:test"); // (H2 in-memory database)
    +
    +List<User> users = jdbi.withHandle(handle -> {
    +    handle.execute("CREATE TABLE \"user\" (id INTEGER PRIMARY KEY, \"name\" VARCHAR)");
    +
    +    // Inline positional parameters
    +    handle.execute("INSERT INTO \"user\" (id, \"name\") VALUES (?, ?)", 0, "Alice");
    +
    +    // Positional parameters
    +    handle.createUpdate("INSERT INTO \"user\" (id, \"name\") VALUES (?, ?)")
    +            .bind(0, 1) // 0-based parameter indexes
    +            .bind(1, "Bob")
    +            .execute();
    +
    +    // Named parameters
    +    handle.createUpdate("INSERT INTO \"user\" (id, \"name\") VALUES (:id, :name)")
    +            .bind("id", 2)
    +            .bind("name", "Clarice")
    +            .execute();
    +
    +    // Named parameters from bean properties
    +    handle.createUpdate("INSERT INTO \"user\" (id, \"name\") VALUES (:id, :name)")
    +            .bindBean(new User(3, "David"))
    +            .execute();
    +
    +    // Easy mapping to any type
    +    return handle.createQuery("SELECT * FROM \"user\" ORDER BY \"name\"")
    +            .mapToBean(User.class)
    +            .list();
    +});
    +
    +assertThat(users).containsExactly(
    +        new User(0, "Alice"),
    +        new User(1, "Bob"),
    +        new User(2, "Clarice"),
    +        new User(3, "David"));
    +
    +
    +
    +

    See the chapter introducing the core API for details about Jdbi’s fluent API.

    +
    +
    +
    +

    3.2. Declarative API

    +
    +

    The SQL Object extension is an additional module, which provides a declarative API.

    +
    +
    +

    Define the SQL to execute and the shape of the results by creating an annotated Java interface.

    +
    +
    +
    +
    // Declare the API using annotations on a Java interface
    +public interface UserDao {
    +    @SqlUpdate("CREATE TABLE \"user\" (id INTEGER PRIMARY KEY, \"name\" VARCHAR)")
    +    void createTable();
    +
    +    @SqlUpdate("INSERT INTO \"user\" (id, \"name\") VALUES (?, ?)")
    +    void insertPositional(int id, String name);
    +
    +    @SqlUpdate("INSERT INTO \"user\" (id, \"name\") VALUES (:id, :name)")
    +    void insertNamed(@Bind("id") int id, @Bind("name") String name);
    +
    +    @SqlUpdate("INSERT INTO \"user\" (id, \"name\") VALUES (:id, :name)")
    +    void insertBean(@BindBean User user);
    +
    +    @SqlQuery("SELECT * FROM \"user\" ORDER BY \"name\"")
    +    @RegisterBeanMapper(User.class)
    +    List<User> listUsers();
    +}
    +
    +
    +
    +

    Then attach the interface to a Jdbi instance and execute the methods on the resuling class to execute the SQL queries.

    +
    +
    +
    +
    Jdbi jdbi = Jdbi.create("jdbc:h2:mem:test");
    +jdbi.installPlugin(new SqlObjectPlugin());
    +
    +// Jdbi implements your interface based on annotations
    +List<User> userNames = jdbi.withExtension(UserDao.class, dao -> {
    +    dao.createTable();
    +
    +    dao.insertPositional(0, "Alice");
    +    dao.insertPositional(1, "Bob");
    +    dao.insertNamed(2, "Clarice");
    +    dao.insertBean(new User(3, "David"));
    +
    +    return dao.listUsers();
    +});
    +
    +assertThat(userNames).containsExactly(
    +        new User(0, "Alice"),
    +        new User(1, "Bob"),
    +        new User(2, "Clarice"),
    +        new User(3, "David"));
    +
    +
    +
    +

    See the chapter on SQL objects for more details about the declarative API. The declarative API uses the fluent API "under the hood" and the two styles can be mixed.

    +
    +
    +
    +
    +
    +

    4. Core API concepts

    +
    +
    +

    4.1. The Jdbi class

    +
    +

    The Jdbi class is the main entry point into the library.

    +
    +
    +

    Each Jdbi instance maintains a set of configuration settings and wraps a JDBC DataSource.

    +
    +
    +

    Jdbi instances are thread-safe and do not own any database resources.

    +
    +
    +

    There are a few ways to create a Jdbi instance:

    +
    +
    +
      +
    • +

      use a JDBC URL:

      +
    • +
    +
    +
    +
    +
    // H2 in-memory database
    +Jdbi jdbi = Jdbi.create("jdbc:h2:mem:test");
    +
    +
    +
    +
      +
    • +

      directly use a DataSource object which was created outside Jdbi.

      +
    • +
    +
    +
    +
    +
    DataSource ds = ...
    +Jdbi jdbi = Jdbi.create(ds);
    +
    +
    +
    + +
    +
    +

    This allows for custom implementations of connection providers such as HA failover, proxy solutions etc.

    +
    +
    + +
    +
    +

    Please note that there is no magic. Any Handle or operation will use this one connection provided. If the connection is thread-safe, then multiple threads accessing the database will work properly, if the connection object is not thread-safe, then Jdbi will not be able to do anything about it.

    +
    +
    + + + + + +
    + + +Production code rarely provides a connection object directly to a Jdbi instance. It is useful for testing and debugging. +
    +
    +
    +

    Applications create a single, shared Jdbi instance per data source, and set up any common configuration there. See Configuration for more details.

    +
    +
    +

    Jdbi does not provide connection pooling or other High Availability features, but it can be combined with other software that does.

    +
    +
    +
    +

    4.2. Handle

    +
    +

    A Handle wraps an active database connection.

    +
    +
    +

    Handle instances are created by a Jdbi instance to provide a database connection e.g. for a single HTTP request or event callback). Handles are intended to be short-lived and must be closed to release the database connection and possible other resources.

    +
    +
    +

    A Handle is used to prepare and run SQL statements against the database, and manage database transactions. It provides access to fluent statement APIs that can bind arguments, execute the statement, +and then map any results into Java objects.

    +
    +
    +

    A Handle inherits configuration from the Jdbi at the time it is created. See Configuration for more details.

    +
    +
    +

    Handles and all attached query objects such as Batch, Call, Query, Script and Update should be used by a single thread and are not thread-safe.

    +
    +
    +

    They may be used by multiple threads as long as there is coordination that only one thread at a time is accessing them. Managing Handles and query objects across threads is error-prone and should be avoided.

    +
    +
    +

    4.2.1. Obtaining a managed handle

    +
    +

    The most convenient way to get access to a handle is by using the withHandle or useHandle methods on the Jdbi class. These methods use callbacks and provide a fully managed handle that is correctly closed and all related resources are released. withHandle allows the callback to return a result while useHandle is just executing operations that do not need to return any value.

    +
    +
    +

    Providing a return value from a query using the Jdbi#withHandle() method:

    +
    +
    +
    +
    List<String> names = jdbi.withHandle(handle ->
    +    handle.createQuery("select name from contacts")
    +          .mapTo(String.class)
    +          .list());
    +assertThat(names).contains("Alice", "Bob");
    +
    +
    +
    +

    Executing an operation using the Jdbi#useHandle() method:

    +
    +
    +
    +
    jdbi.useHandle(handle -> {
    +    handle.execute("create table contacts (id int primary key, name varchar(100))");
    +    handle.execute("insert into contacts (id, name) values (?, ?)", 1, "Alice");
    +    handle.execute("insert into contacts (id, name) values (?, ?)", 2, "Bob");
    +});
    +
    +
    +
    +

    You may notice the "consumer" vs "callback" naming pattern in a few places in Jdbi. with- methods return a value and use objects named -Callback. use- methods do not return a value, and use objects named -Consumer. When referring to both type of objects, the term "callback" is used throughout the documentation.

    +
    +
    + + + + + +
    + + +The Nesting Callbacks with managed Handles and Transactions chapter has more information about nesting callbacks with managed handle objects. +
    +
    +
    +
    +

    4.2.2. Managing the Handle lifecycle manually

    +
    +

    The Jdbi#open() method returns an unmanaged handle.

    +
    +
    +

    The Java try-with-resources construct can be used to manage the lifecycle of the handle:

    +
    +
    +
    +
    try (Handle handle = jdbi.open()) {
    +    result = handle.execute("insert into contacts (id, name) values (?, ?)", 3, "Chuck");
    +}
    +
    +
    +
    +

    An unmanaged handle must be used when a stateful object should be passed to the calling code. Stateful objects are iterators and streams that do not collect data ahead of time in memory but provide a data stream from the database through the JDBC Connection to the calling code. Using a callback does not work here because the connection would be closed before the calling code can consume the data.

    +
    +
    +
    +
    try (Handle handle = jdbi.open()) {
    +    Iterator<String> names = handle.createQuery("select name from contacts where id = 1")
    +            .mapTo(String.class)
    +            .iterator();
    +    assertThat(names).hasNext();
    +    String name = names.next();
    +    assertThat(name).isEqualTo("Alice");
    +    assertThat(names).isExhausted();
    +}
    +
    +
    +
    + + + + + +
    + + +When using Jdbi#open(), you should consider using try-with-resource or a try-finally block to ensure the handle is closed and the database connection is released. Failing to release the handle will leak connections. It is recommended to use a managed handle whenever possible. +
    +
    +
    +
    +
    +

    4.3. Statement types

    +
    +

    Any database operation within Jdbi uses a statement. Multiple types of statements exist:

    +
    +
    +
      +
    • +

      Query - SQL statements that return results, e.g. a SELECT or any statement with a RETURNING clause. See createQuery

      +
    • +
    • +

      Update - SQL statements that return no value such as INSERT, UPDATE, DELETE or a DDL operation. See createUpdate

      +
    • +
    • +

      Batch - a set of operations that are executed as a batch. See createBatch

      +
    • +
    • +

      Call - execute a stored procedure. See createCall

      +
    • +
    • +

      Script - a SQL script containing multiple statements separated by ; that is executed as a batch. See also createScript

      +
    • +
    • +

      Metadata - SQL Metadata access.

      +
    • +
    +
    +
    +

    4.3.1. Queries

    +
    +

    A Query is a +result-bearing SQL statement +that returns a result set from the database.

    +
    +
    +
    +
    List<Map<String, Object>> users =
    +    handle.createQuery("SELECT id, \"name\" FROM \"user\" ORDER BY id ASC")
    +        .mapToMap()
    +        .list();
    +
    +assertThat(users).containsExactly(
    +        map("id", 1, "name", "Alice"),
    +        map("id", 2, "name", "Bob"));
    +
    +
    +
    +

    There are many different methods to collect results from a query.

    +
    +
    +

    Use the ResultIterable#one() method returns when you expect the result to contain exactly one row. This method returns +null only if the returned row maps to null and throws an exception if the result has zero or multiple rows.

    +
    +
    +
    +
    String name = handle.select("SELECT name FROM users WHERE id = ?", 3)
    +    .mapTo(String.class)
    +    .one();
    +
    +
    +
    +

    Use the ResultIterable#findOne() method when you expect the result to contain zero or one row. Returns +Optional.empty() if there are no rows, or one row that maps to null and throws an exception if the result has multiple rows.

    +
    +
    +
    +
    Optional<String> name = handle.select(...)
    +    .mapTo(String.class)
    +    .findOne();
    +
    +
    +
    +

    Use the ResultIterable#first() method when you expect the result to contain at least one row. Returns +null if the first row maps to null. and throws an exception if the result has zero rows.

    +
    +
    +
    +
    String name = handle.select("SELECT name FROM users WHERE id = ?", 3)
    +    .mapTo(String.class)
    +    .first();
    +
    +
    +
    +

    Use the ResultIterable#findFirst() method when the result may contain any number of rows. Returns +Optional.empty() if there are no rows, or the first row maps to null.

    +
    +
    +
    +
    Optional<String> name = handle.select(...)
    +    .mapTo(String.class)
    +    .findFirst();
    +
    +
    +
    +

    Multiple result rows can be returned in a list or a set:

    +
    +
    +
    +
    List<String> names = this.handle
    +        .createQuery("SELECT title FROM films WHERE genre = :genre ORDER BY title")
    +        .bind("genre", "Action")
    +        .mapTo(String.class)
    +        .list();
    +
    +Set<String> names = handle
    +        .createQuery("SELECT title FROM films WHERE genre = :genre ORDER BY title")
    +        .bind("genre", "Action")
    +        .mapTo(String.class)
    +        .set();
    +
    +
    +
    +

    Use the ResultIterable#list() and ResultIterable#set() methods to use the default implementations from the collections framework.

    +
    +
    +

    For more control over the set and list types, use the ResultIterable#collectIntoList() and ResultIterable#collectIntoSet() methods which use the JdbiCollectors configuration object to retrieve the collection types for List and Set:

    +
    +
    +
    +
    List<String> names = handle
    +        .registerCollector(List.class, Collectors.toCollection(LinkedList::new))
    +        .createQuery("SELECT title FROM films WHERE genre = :genre ORDER BY title")
    +        .bind("genre", "Action")
    +        .mapTo(String.class)
    +        .collectIntoList();
    +
    +Set<String> names = handle
    +        .registerCollector(Set.class, Collectors.toCollection(LinkedHashSet::new))
    +        .createQuery("SELECT title FROM films WHERE genre = :genre ORDER BY title")
    +        .bind("genre", "Action")
    +        .mapTo(String.class)
    +        .collectIntoSet();
    +
    +
    +
    +

    The ResultIterable#collectInto() methods allows specifying a container type directly:

    +
    +
    +
    +
    List<String> names = handle
    +        .createQuery("SELECT title FROM films WHERE genre = :genre ORDER BY title")
    +        .bind("genre", "Action")
    +        .mapTo(String.class)
    +        .collectInto(List.class); (1)
    +
    +List<String> names = handle
    +        .createQuery("SELECT title FROM films WHERE genre = :genre ORDER BY title")
    +        .bind("genre", "Action")
    +        .mapTo(String.class)
    +        .collectInto(GenericTypes.parameterizeClass(List.class, String.class)); (2)
    +
    +
    +
    + + + + + + + + + +
    1collect into a raw collection type
    2collect into a parameterized generic type
    +
    +
    +

    For other collections, use ResultIterable#collect() with a +collector or ResultIterable#toCollection() with a collection supplier:

    +
    +
    +
    +
    Set<String> names = handle
    +        .createQuery("SELECT title FROM films WHERE genre = :genre ORDER BY title")
    +        .bind("genre", "Action")
    +        .mapTo(String.class)
    +        .collect(Collectors.toSet());
    +
    +Set<String> names = handle
    +        .createQuery("SELECT title FROM films WHERE genre = :genre ORDER BY title")
    +        .bind("genre", "Action")
    +        .mapTo(String.class)
    +        .toCollection(() -> new LinkedHashSet<>());
    +
    +
    +
    +

    The ResultIterable#collectToMap() method allows collecting results directly into a Map:

    +
    +
    +
    +
    Map<Integer, String> names = handle
    +        .registerRowMapper(Movie.class, ConstructorMapper.of(Movie.class))
    +        .createQuery("SELECT * FROM films WHERE genre = :genre ORDER BY title")
    +        .bind("genre", "Action")
    +        .mapTo(Movie.class)
    +        .collectToMap(Movie::id, Movie::title);
    +
    +
    +
    +

    You can also stream results:

    +
    +
    +
    +
    List<String> names = new ArrayList<>();
    +handle.createQuery(
    +                "SELECT title FROM films WHERE genre = :genre ORDER BY title")
    +        .bind("genre", "Action")
    +        .mapTo(String.class)
    +        .useStream(stream -> stream.forEach(names::add)); (1)
    +
    +List<String> names = new ArrayList<>();
    +try (Stream<String> stream = handle.createQuery(
    +                "SELECT title FROM films WHERE genre = :genre ORDER BY title")
    +        .bind("genre", "Action")
    +        .mapTo(String.class)
    +        .stream()) { (2)
    +
    +    stream.forEach(names::add);
    +}
    +
    +
    +
    + + + + + + + + + +
    1ResultIterable#useStream() and ResultIterable#withStream() provide a callback with a managed stream object.
    2ResultIterable#stream() provides a stream that must be managed by user code
    +
    +
    +

    Equivalent methods for iterators exist as well.

    +
    +
    +

    Thus far, all examples have shown a String result type. Of course, you can +map to many other data types such as an integer:

    +
    +
    +
    +
    int releaseDate = handle
    +        .createQuery("SELECT release_year FROM films WHERE title = :title")
    +        .bind("title", "The Dark Knight")
    +        .mapTo(Integer.class)
    +        .one();
    +
    +
    +
    +

    Or a complex, custom type:

    +
    +
    +
    +
    Movie movie = handle
    +        .registerRowMapper(Movie.class, ConstructorMapper.of(Movie.class))
    +        .createQuery("SELECT * FROM films WHERE id = :id")
    +        .bind("id", 1)
    +        .mapTo(Movie.class)
    +        .one();
    +
    +
    +
    +
    +

    4.3.2. Updates

    +
    +

    Updates are operations that return an integer number of rows modified, such +as a database INSERT, UPDATE, or DELETE.

    +
    +
    +

    You can execute a simple update with Handle's int execute(String sql, Object…​ args) +method which binds simple positional parameters.

    +
    +
    +
    +
    count = handle.execute("INSERT INTO \"user\" (id, \"name\") VALUES(?, ?)", 4, "Alice");
    +assertThat(count).isOne();
    +
    +
    +
    +

    To further customize, use createUpdate:

    +
    +
    +
    +
    int count = handle.createUpdate("INSERT INTO \"user\" (id, \"name\") VALUES(:id, :name)")
    +    .bind("id", 3)
    +    .bind("name", "Charlie")
    +    .execute();
    +assertThat(count).isOne();
    +
    +
    +
    +

    Updates may return Generated Keys instead of a result count.

    +
    +
    +
    +

    4.3.3. Batches

    +
    +

    A Batch sends many commands to the server in bulk.

    +
    +
    +

    After opening the batch, repeated add statements, and invoke add.

    +
    +
    +
    +
    Batch batch = handle.createBatch();
    +
    +batch.add("INSERT INTO fruit VALUES(0, 'apple')");
    +batch.add("INSERT INTO fruit VALUES(1, 'banana')");
    +
    +int[] rowsModified = batch.execute();
    +
    +
    +
    +

    The statements are sent to the database in bulk, but each statement is executed separately. +There are no parameters. Each statement returns a modification count, as with an Update, and +those counts are then returned in an int[] array. In common cases all elements will be 1.

    +
    +
    +

    Some database drivers might return special values in conditions where modification counts are not available. +See the +executeBatch documentation for details.

    +
    +
    +
    +

    4.3.4. Prepared Batches

    +
    +

    A PreparedBatch sends one statement to the server with many argument sets. +The statement is executed repeatedly, once for each batch of arguments that is add-ed to it.

    +
    +
    +

    The result is again a int[] of modified row count.

    +
    +
    +
    +
    PreparedBatch batch = handle.prepareBatch("INSERT INTO \"user\" (id, \"name\") VALUES(:id, :name)");
    +for (int i = 100; i < 5000; i++) {
    +    batch.bind("id", i).bind("name", "User:" + i).add();
    +}
    +int[] counts = batch.execute();
    +
    +
    +
    +

    SqlObject also supports batch inserts:

    +
    +
    +
    +
    public void testSqlObjectBatch() {
    +    BasketOfFruit basket = handle.attach(BasketOfFruit.class);
    +
    +    int[] rowsModified = basket.fillBasket(Arrays.asList(
    +            new Fruit(0, "apple"),
    +            new Fruit(1, "banana")));
    +
    +    assertThat(rowsModified).containsExactly(1, 1);
    +    assertThat(basket.countFruit()).isEqualTo(2);
    +}
    +
    +public interface BasketOfFruit {
    +    @SqlBatch("INSERT INTO fruit VALUES(:id, :name)")
    +    int[] fillBasket(@BindBean Collection<Fruit> fruits);
    +
    +    @SqlQuery("SELECT count(1) FROM fruit")
    +    int countFruit();
    +}
    +
    +
    +
    + + + + + +
    + + +Batching dramatically increases efficiency over repeated single statement execution, but +many databases don’t handle extremely large batches well either. Test with your database +configuration, but often extremely large data sets should be divided +and committed in pieces - or risk bringing your database to its knees. +
    +
    +
    +
    Exception Rewriting
    +
    +

    The JDBC SQLException class is very old and predates more modern exception +facilities like Throwable’s suppressed exceptions. When a batch fails, there +may be multiple failures to report, which could not be represented by the base +Exception types of the day.

    +
    +
    +

    So SQLException has a bespoke +getNextException +chain to represent the causes of a batch failure. Unfortunately, by default +most logging libraries do not print these exceptions out, pushing their +handling into your code. It is very common to forget to handle this situation +and end up with logs that say nothing other than

    +
    +
    +
    +
    java.sql.BatchUpdateException: Batch entry 1 INSERT INTO something (id, name) VALUES (0, '') was aborted. Call getNextException to see the cause.
    +
    +
    +
    +

    Jdbi will rewrite such exceptions into "suppressed exceptions" so that your logs are more helpful:

    +
    +
    +
    +
    java.sql.BatchUpdateException: Batch entry 1 INSERT INTO something (id, name) VALUES (0, 'Keith') was aborted. Call getNextException to see the cause.
    +Suppressed: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "something_pkey"
    +  Detail: Key (id)=(0) already exists.
    +
    +
    +
    +
    +
    +

    4.3.5. Stored Procedure Calls

    +
    +

    A Call invokes a database stored procedure. Stored procedures execute on the database and take input and output parameters.

    +
    +
    +

    Most databases solely support input and output parameters. Input parameters can be mapped using the standard Jdbi +mechanisms for parameters, while output values are returned using OutParameters objects.

    +
    +
    +

    Some databases do not support all SQL types as out parameters but use a mechanism similar to a query and +return a ResultSet object.

    +
    +
    +
    Using OutParameters to access database return values
    +
    +

    OutParameters hold the output parameters of a stored procedure Call. +Since they can hold result sets and cursors, OutParameters must be consumed before +closing the Call that it came from.

    +
    +
    +

    This is an example for a PostgreSQL stored procedure. PostgreSQL (and most other databases) stored procedures use IN parameters to pass values into the procedure and OUT parameters to return values.

    +
    +
    +
    +
    CREATE FUNCTION add(a IN INT, b IN INT, sum OUT INT) AS $$
    +BEGIN
    +  sum := a + b;
    +END;
    +$$ LANGUAGE plpgsql
    +
    +
    +
    +

    Here’s how to call a stored procedure:

    +
    +
    +
    +
    try (Call call = handle.createCall("{:sum = call add(:a, :b)}")) { (1)
    +    OutParameters result = call.bind("a", 13) (2)
    +        .bind("b", 9) (2)
    +        .registerOutParameter("sum", Types.INTEGER)  (3) (4)
    +        .invoke(); (5)
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    1Call Handle.createCall() with the SQL statement. Note that JDBC has a +peculiar SQL format when calling stored procedures, which we must follow.
    2Bind input parameters to the procedure call.
    3Register out parameters, the values that will be returned from the stored +procedure call. This tells JDBC what data type to expect for each out +parameter.
    4Out parameters may be registered by name (as shown in the example) or by +zero-based index, if the SQL is using positional parameters. Multiple output +parameters may be registered, depending on the output of the stored +procedure itself.
    5Finally, call invoke() to execute the procedure.
    +
    +
    +

    Invoking the stored procedure returns an +OutParameters object, which +contains the value(s) returned from the stored procedure call and the results can +be extracted from it:

    +
    +
    +
    +
    int sum = result.getInt("sum");
    +
    +
    +
    +

    It is possible to access open cursors as a result set objects by declaring them +as Types.REF_CURSOR and then using OutParameters#getRowSet() to access them as ResultBearing objects. This requires support from the JDBC driver for the database and is not supported by all databases. Please consult the documentation for the database driver first before filing a bug.

    +
    +
    +

    Results must be consumed before closing the statement because closing it will also close all resources and result sets associated with it.

    +
    +
    +

    The OutParameters object can either be returned from the Call using Call#invoke() or it can be processed as +a consumer argument with Call#invoke(Consumer) or a function argument with +Call#invoke(Function).

    +
    +
    + + + + + +
    + + +Due to design constraints within JDBC, the parameter data types available +through OutParameters are limited to those types supported directly by JDBC. This cannot be expanded through e.g. mapper registration. +
    +
    +
    +
    +
    Using a ResultSet for procedure output values
    +
    +

    Some database drivers might return a ResultSet containing the results of a stored procedure. This result set is available as a ResultBearing object by calling OutParameters#getResultSet().

    +
    +
    + + + + + +
    + + +While returning a result set from a procedure call is supported in the JDBC standard, it is pretty uncommon and only very few databases support it. The most prominent one is the JDBC driver for MS SQLServer. Most databases will either return null or an empty result set; in this case the OutParameters#getResultSet() will return an empty ResultBearing object. +
    +
    +
    +

    This is the equivalent procedure from above for MS SQLServer using a result set:

    +
    +
    +
    +
    CREATE PROCEDURE mssql_add
    +    @a INT,
    +    @b INT
    +AS
    +BEGIN
    +  SELECT @a + @b;
    +END
    +
    +
    +
    +

    To access data from this procedure, it retrieves the result set using OutParameters#getResultSet():

    +
    +
    +
    +
    try (Call call = h.createCall("{call mssql_add(:a, :b)}")) {
    +    call.bind("a", 13)
    +        .bind("b", 9);
    +    OutParameters output = call.invoke();
    +
    +    int sum = output.getResultSet() (1)
    +        .mapTo(Integer.class) (2)
    +        .one();
    +
    +    assertThat(sum).isEqualTo(22);
    +}
    +
    +
    +
    + + + + + + + + + +
    1Retrieve the output from the procedure using a result set.
    2Map the first column in the result set to an integer value.
    +
    +
    +

    It may not be necessary to use a result set if the JDBC driver also supports OUT parameters. However, e.g. MS SQL Server does not allow Types.REF_CURSOR as OUT parameters and requires the use of a result set.

    +
    +
    +

    It is possible to mix OUT parameters and a result set. In this case, the result set should be consumed before accessing any out parameters as the database driver might invalidate the result set when accessing out parameters.

    +
    +
    +
    +
    +

    4.3.6. Scripts

    +
    +

    A Script parses a String into semicolon terminated statements. The statements +can be executed in a single Batch or individually.

    +
    +
    +
    +
    try (Script script = handle.createScript("INSERT INTO \"user\" VALUES(3, 'Charlie');"
    +        + "UPDATE \"user\" SET \"name\"='Bobby Tables' WHERE id=2;")) {
    +    int[] results = script.execute();
    +
    +    assertThat(results).containsExactly(1, 1);
    +}
    +
    +
    +
    + + + + + +
    + + +Script parsing uses a generic SQL parser and creates separate statements. Depending on the database and its driver, there are small differences in how the script needs to be parsed. The most notorious issue is whether the parsed statements need to retain a trailing semicolon or not. Some databases (e.g. Oracle) require the trailing semicolon while others (e.g. MySQL) actually report a syntax error if it is present. As we can not please everyone equally, there is the setScriptStatementsNeedSemicolon() switch, which controls this behavior. By default, Jdbi retains the semicolon if present. +
    +
    +
    +

    Turning off the trailing semicolons for databases that have problems with it:

    +
    +
    +
    +
    jdbi.withHandle(h -> {
    +    // turn off trailing semicolons for script statements
    +    h.getConfig(SqlStatements.class).setScriptStatementsNeedSemicolon(false);
    +    return h.createScript(ClasspathSqlLocator.removingComments()
    +            .getResource("scripts/mysql-script.sql"))
    +        .execute();
    +    });
    +
    +
    +
    +
    +

    4.3.7. Metadata

    +
    +

    Jdbi allows access to the Database Metadata through queryMetadata methods on the Handle.

    +
    +
    +

    Simple values can be queried directly using a method reference:

    +
    +
    +
    +
    String url = h.queryMetadata(DatabaseMetaData::getURL);
    +boolean supportsTransactions = h.queryMetadata(DatabaseMetaData::supportsTransactions);
    +
    +
    +
    +

    Many methods on the DatabaseMetaData return a ResultSet. These can be used with the queryMetadata method that returns a ResultBearing.

    +
    +
    +

    All Jdbi Row Mappers and Column Mappers are available to map these results:

    +
    +
    +
    +
    List<String> catalogNames = h.queryMetadata(DatabaseMetaData::getCatalogs)
    +            .mapTo(String.class)
    +            .list();
    +
    +
    +
    +
    +
    +

    4.4. Usage in asynchronous applications

    +
    +

    Calling Jdbc and by extension Jdbi is inherently a blocking operation. +In asynchronous applications +(where results are returned as a CompletionStage +or a CompletableFuture) +it is very important never to block on threads that the caller doesn’t control. For this, there is the +JdbiExcecutor class that wraps around a Jdbi instance +and makes sure calls are made on a specific thread pool.

    +
    +
    +

    To create a JdbiExcecutor instance, we first need to create +a Jdbi instance (see The Jdbi class). Then pass that instance into +JdbiExecutor.create():

    +
    +
    +
    +
    Executor executor = Executors.newFixedThreadPool(8);
    +JdbiExecutor jdbiExecutor = JdbiExecutor.create(h2Extension.getJdbi(), executor);
    +
    +
    +
    +

    It is important to size the executor to the specific implementation. +See here for some hints.

    +
    +
    +

    To use the jdbiExecutor, we make similar calls to JdbiExcecutor +as we do to Jdbi

    +
    +
    +
    +
    CompletionStage<Void> futureResult = jdbiExecutor.useHandle(handle -> {
    +    handle.execute("insert into contacts (id, name) values (?, ?)", 3, "Erin");
    +});
    +
    +// wait for stage to complete (don't do this in production code!)
    +futureResult.toCompletableFuture().join();
    +assertThat(h2Extension.getSharedHandle().createQuery("select name from contacts where id = 3")
    +    .mapTo(String.class)
    +    .list()).contains("Erin");
    +
    +
    +
    +

    Or

    +
    +
    +
    +
    CompletionStage<List<String>> futureResult = jdbiExecutor.withHandle(handle -> {
    +    return handle.createQuery("select name from contacts where id = 1")
    +        .mapTo(String.class)
    +        .list();
    +});
    +
    +assertThat(futureResult)
    +    .succeedsWithin(Duration.ofSeconds(10))
    +    .asList()
    +    .contains("Alice");
    +
    +
    +
    +

    Or

    +
    +
    +
    +
    CompletionStage<String> futureResult =
    +    jdbiExecutor.withExtension(SomethingDao.class, dao -> dao.getName(1));
    +
    +assertThat(futureResult)
    +    .succeedsWithin(Duration.ofSeconds(10))
    +    .isEqualTo("Alice");
    +
    +
    +
    +

    Note, since the handle closes as soon as the callback returns, you cannot return +an iterator, since iteration will call upon the (now closed) handle

    +
    +
    +
    +
    CompletionStage<Iterator<String>> futureResult = jdbiExecutor.withHandle(handle -> {
    +    return handle.createQuery("select name from contacts where id = 1")
    +        .mapTo(String.class)
    +        .iterator();
    +});
    +
    +// wait for stage to complete (don't do this in production code!)
    +Iterator<String> result = futureResult.toCompletableFuture().join();
    +// result.hasNext() fails because the handle is already closed at this point
    +assertThatException().isThrownBy(() -> result.hasNext());
    +
    +
    +
    +
    +
    +
    +

    5. Resource Management

    +
    +
    +

    JDBC operations involve stateful objects: Connection, PreparedStatement and ResultSet are the most common ones. Jdbi understands the lifecycle of these objects and can often fully manage them.

    +
    +
    +

    Within Jdbi, two types of stateful objects exist that need to be managed: Handle objects and all Statement objects.

    +
    +
    +

    Manual resource management for Jdbi objects uses the standard Java try-with-resources construct:

    +
    +
    +
    +
    try (Handle handle = jdbi.open();
    +    Query query = handle.createQuery("SELECT * from users")) {
    +    List<User> users = query.mapTo(User.class).list();
    +}
    +
    +
    +
    +

    5.1. Automatic resource management

    +
    +

    Jdbi can manage and release resources automatically, so that try-with-resources blocks are often not needed.

    +
    +
    +

    Automatic resource management is only available with the SQL Object API and the Extension API. In these situations, Jdbi can manage all resources:

    +
    +
    +
      +
    • +

      with methods on a SQL object that was created with Jdbi#onDemand():

      +
    • +
    +
    +
    +
    +
    UserDao userDao = jdbi.onDemand(UserDao.class);
    +User user = userDao.getUser(id);
    +
    +public interface UserDao {
    +    @SqlQuery("SELECT * FROM users WHERE id = :id")
    +    @UseRowMapper(UserMapper.class)
    +    User getUser(@Bind("id") int id);
    +}
    +
    +
    +
    + +
    +
    +
    +
    User user = jdbi.withExtension(UserDao.class, dao -> dao.getUser(id));
    +
    +public interface UserDao {
    +    @SqlQuery("SELECT * FROM users WHERE id = :id")
    +    @UseRowMapper(UserMapper.class)
    +    User getUser(@Bind("id") int id);
    +}
    +
    +
    +
    +
    +

    5.2. Handle resource management

    +
    +

    Any time a handle is explicitly opened, it must be managed by the calling code. A try-with-resources block is the best way to do this:

    +
    +
    +
    +
    try (Handle handle = jdbi.open()) {
    +    // handle operations here
    +}
    +
    +
    +
    +

    Closing the handle releases the connection that is managed by the handle. Handle resource management is only necessary when using the various Jdbi#open() methods on the Jdbi object. Any handle that is passed in through a callback (Jdbi#withHandle(), Jdbi#useHandle(), Jdbi#inTransaction(), Jdbi#useTransaction()) is managed through Jdbi:

    +
    +
    +

    Jdbi is still able to manage statement resources even if the handle is managed manually:

    +
    +
    +
    +
    try (Handle handle = jdbi.open()) { (1)
    +    UserDao dao = handle.attach(UserDao.class);
    +    User user = userDao.getUser(id);
    +}
    +
    +User user = jdbi.withHandle(handle -> { (2)
    +    UserDao dao = handle.attach(UserDao.class);
    +    return userDao.getUser(id);
    +});
    +
    +public interface UserDao {
    +    @SqlQuery("SELECT * FROM users WHERE id = :id")
    +    @UseRowMapper(UserMapper.class)
    +    User getUser(@Bind("id") int id);
    +}
    +
    +
    +
    + + + + + + + + + +
    1Jdbi.open() creates a new Handle that must be managed through a try-with-resources block.
    2jdbi.withHandle() passes a managed Handle to the callback and does not require management.
    +
    +
    +
    +

    5.3. Statement resource management

    +
    +

    All statement types may use resources that need to be released. There are multiple ways to do; each has its advantages and drawbacks:

    +
    +
    + +
    +
    +

    5.3.1. Explicit statement resource management

    +
    +

    All SQL statement types implement the AutoCloseable interface and can be used in a try-with-resources block. This is the recommended way to manually manage statements, and it ensures that all resources are properly released when they are no longer needed. The try-with-resources pattern ensures that the close() method on the SQL statement is called which releases the resources.

    +
    +
    +

    Create, execute and release 100,000 update statements:

    +
    +
    +
    +
    try (Handle handle = jdbi.open()) {
    +    for (int i = 0; i < 100_000; i++) {
    +        try (Update update = handle.createUpdate("INSERT INTO users (id, name) VALUES (:id, :name)")) {
    +            update.bind("id", i)
    +                  .bind("name", "user_" + i)
    +                  .execute();
    +        }
    +    }
    +}
    +
    +
    +
    +

    It is not necessary to use a try-with-resources block, the close() method can be called manually as well:

    +
    +
    +
    +
    try (Handle handle = jdbi.open()) {
    +    for (int i = 0; i < 100_000; i++) {
    +        Update update = handle.createUpdate("INSERT INTO users (id, name) VALUES (:id, :name)");
    +        try {
    +            update.bind("id", i)
    +                  .bind("name", "user_" + i)
    +                  .execute();
    +        } finally {
    +            update.close();
    +        }
    +    }
    +}
    +
    +
    +
    +

    Explicit statement resource management, while a bit more involved ensures that all resources are always correctly released, especially when there are exceptions thrown during statement execution. While many examples and demo code omit managing the statement types, it is strongly recommended to do so.

    +
    +
    +
    +

    5.3.2. Implicit statement resource cleanup

    +
    +

    If possible, Jdbi will help with resource management through implicit resource cleanup.

    +
    +
    +

    If a SQL statement operation succeeds and all data returned by the database was consumed, then Jdbi will release the allocated resources even if the statement is used without a try-with-resources block.

    +
    +
    +

    All terminal operations on the ResultIterable interface, except for the stream() and iterator() methods, consume all data from the database, even if they return only a subset (e.g. findOne()). The same applies for operations such as Update or Batch.

    +
    +
    +

    For all other operations, the resources will be released if the operation succeeds and does not throw an exception.

    +
    +
    +
    +
    try (Handle handle = jdbi.open()) {
    +    List<User> users = handle
    +        .createQuery("SELECT * from users") (1)
    +        .mapTo(User.class) (2)
    +        .list(); (3)
    +}
    +
    +
    +
    + + + + + + + + + + + + + +
    1creates a Query object
    2returns an object implementing ResultIterable
    3is a terminal operation that consumes all the data from the database
    +
    +
    +

    As long as no exception is thrown, this example above will release all resources allocated by the Query object, even though it is not managed.

    +
    +
    + + + + + +
    + + +This code that works well as long as nothing goes awry! If an unmanaged SQL statement operation fails halfway through (e.g. with a connection timeout or a database problem), then resources will not be cleanup up by Jdbi. This may lead to resource leaks that are difficult to find or reproduce. Some JDBC drivers will also clean up resources that they hand out (such as JDBC statements or ResultSet objects) when a connection is closed. In these situations, resources may be released eventually when the handle is closed (which also closes the JDBC connection). This is highly driver dependent and should not be relied upon. +
    +
    +
    +
    +

    5.3.3. Resources with Streams and Iterators

    +
    +

    Most methods on objects that implement ResultIterable are terminal. They consume all data returned by the database and will release statement resources at the end. All of these methods may buffer results in memory, something that is not acceptable for very large data sets or when data needs to be streamed.

    +
    +
    + + + + + +
    + + +Just using an iterator or stream may not be enough to actually stream data without buffering it in memory. Often the JDBC driver might still buffer data. See the documentation for your database on how to ensure that the driver does not buffer all the results in memory. +
    +
    +
    +

    For these use cases, Jdbi offers the stream() and iterator() methods, which return lazy-loading objects that return data from the database row by row. These objects are stateful and must be managed.

    +
    +
    +

    The stream and iterator objects provided by Jdbi will release all their resources when the data stream from the database is exhausted or when an instance is explicitly closed. Standard Java Streams support the try-with-resources pattern directly; the iterator() method returns a ResultIterator object which extends AutoCloseable.

    +
    +
    +

    When using a stream or iterator, either the statement or the result object must be managed. Calling close() on either the statement or the stream/iterator will terminate the operation and release all resources.

    +
    +
    +
    +
    // managing resources through the query SQL statement
    +try (Handle handle = jdbi.open()) {
    +    try (Query query = handle.createQuery("SELECT * from users")) { (1)
    +        Stream<User> users = query.mapTo(User.class).stream();
    +        // consume the stream
    +    }
    +}
    +
    +// managing resources through the stream
    +try (Handle handle = jdbi.open()) {
    +    try (Stream<User> users = handle.createQuery("SELECT * from users")
    +        .mapTo(User.class)
    +        .stream()) { (2)
    +            // consume the stream
    +        }
    +}
    +
    +
    +
    + + + + + + + + + +
    1use a try-with-resources block with the Query object releases the resources and closes the stream when the block is left
    2use a try-with-resources block with the stream releases the resources and closes the stream when the block is left
    +
    +
    +

    The same pattern applies to a result iterator.

    +
    +
    +

    Streams and iterators are cursor-type "live" objects. They require an active statement and result set. Any operation that closes and releases these resources will cause future operations on the stream or iterator to fail.

    +
    +
    +

    The following code does not work:

    +
    +
    +
    +
    Stream<User> userStream = jdbi.withHandle(handle ->
    +    handle.createQuery("SELECT * from users")
    +        .mapTo(User.class)
    +        .stream();  (1)
    +    });  (2)
    +
    +Optional<User> user = stream.findFirst(); (3)
    +
    +
    +
    + + + + + + + + + + + + + +
    1Creates a stream object backed by the open result set of the query
    2leaving the callback closes the handle and releases all resources including the result set
    3throws an exception because the result set has already been closed
    +
    +
    +

    This can be avoided by using one of the callback methods that ResultIterable offers: withIterator(), useIterator(), withStream(), useStream(). Each of these methods manages the iterator / stream through Jdbi and allow consumption of its contents within a callback:

    +
    +
    +
    +
    try (Handle handle = jdbi.open()) {
    +    try (Query query = handle.createQuery("SELECT * from users")) {
    +        query.mapTo(User.class).useIterator(it -> {
    +            // consume the iterator contents
    +        });
    +    }
    +}
    +
    +
    +
    +

    While it is not strictly necessary to execute the query in a try-with-resources block because the useIterator() method will close the iterator and release all resources from the query, it is good practice and guards against possible errors that may happen between the creation of the query and the callback execution.

    +
    +
    +

    Using a jdbi callback allows fully automated resource management:

    +
    +
    +
    +
    jdbi.useHandle(handle -> {
    +    handle.createQuery("SELECT * from users")
    +        .mapTo(User.class)
    +        .useIterator(it -> {
    +            // consume the iterator contents
    +        });
    +    });
    +
    +
    +
    +
    +

    5.3.4. OutParameters return values for stored procedures

    +
    +

    Interacting with stored procedures generally involves passing values back and forth from database. Jdbi uses OutParameters objects which are returned from the various invoke methods of the Call object.

    +
    +
    +

    When using OutParameters with stored procedures, the Call statement must be managed. Calling close() on the statement terminates the operation and release all resources.

    +
    +
    +

    Closing the stream or iterator associated with an object returned by OutParameters#getResultSet() or OutParameters#getRowSet() is not sufficient as the OutParameters object may hold multiple result sets.

    +
    +
    +
    +
    try (Call call = h.createCall("{call some_procedure()}")) {
    +    OutParameters output = call.invoke();
    +
    +    output.getRowSet("result") (1)
    +        .mapTo(SomeType.class) (2)
    +        .useStream(stream -> { ... consume stream ... }); (3)
    +}
    +
    +
    +
    + + + + + + + + + + + + + +
    1Retrieve the cursor for the result parameter
    2Map the results onto a data type using a row mapper
    3Consume the stream of objects with a consumer argument.
    +
    +
    +

    When the stream terminates, the Call statement is not closed as it may have returned multiple cursor parameters. It must be managed using try-with-resources as shown above.

    +
    +
    +

    OutParameters objects are cursor-type "live" objects. They require an active statment and any operation that closes and releases the statement will cause future operations on a related OutParameters object to fail.

    +
    +
    +

    The following code does not work:

    +
    +
    +
    +
    // DOES NOT WORK!
    +OutParameters out  = jdbi.withHandle(handle -> {
    +    Call call = handle.createCall("{call some_procedure()}");
    +    return call.invoke(); (1)
    +}); (2)
    +String result = out.getString("result"); (3)
    +
    +
    +
    + + + + + + + + + + + + + +
    1Creates an OutParameter object and returns it from withHandle.
    2Leaving the callback closes the handle and releases all resources including the statement.
    3throws an exception because closing the handle and the statement invalidates the OutParameters object.
    +
    +
    +

    This can be avoided by either processing the OutParameters object within the handle callback or by using either the Call#invoke(Consumer) or +Call#invoke(Function) callback methods:

    +
    +
    +
    +
    // process the OutParameters within the handle callback
    +String result  = jdbi.withHandle(handle -> {
    +    Call call = handle.createCall("{call some_procedure()}");
    +    OutParameters out = call.invoke();
    +    return out.getString("result");
    +});
    +
    +
    +
    +
    +
    // use a callback method from the Call statement
    +String result  = jdbi.withHandle(handle -> {
    +    Call call = handle.createCall("{call some_procedure()}");
    +    return call.invoke(out -> out.getString("result"));
    +});
    +
    +
    +
    +
    +

    5.3.5. Attaching statements to the handle lifecycle

    +
    +

    An elegant way to manage resources is attaching the statement to the handle lifecycle. Calling the attachToHandleForCleanup() method, which is available on SQL statements, associates the statement with the handle. When the handle is closed, all attached statements that have not been cleaned up yet, will also be released.

    +
    +
    +
    +
    Optional<User> user = handle.createQuery("SELECT * FROM users WHERE id = :id")
    +        .attachToHandleForCleanup() (1)
    +        .bind("id", id)
    +        .mapTo(User.class)
    +        .stream()
    +        .findAny();
    +
    +
    +
    + + + + + +
    1By attaching the statement to the handle, all resources are now managed by Jdbi and released even if the operation throws an exception.
    +
    +
    +

    This works best for short-lived handles with a few statement operations. As the resources may not be released until the handle is closed, executing a large number of SQL statements that all may need cleaning up could lead to resource exhaustion. When in doubt, prefer the try-with-resources construct over attaching a SQL statements to the handle.

    +
    +
    +

    It is possible to attach all created statements by default to a handle by calling setAttachAllStatementsForCleanup(true) on the SqlStatements config object:

    +
    +
    +
    +
    jdbi.getConfig(SqlStatements.class)
    +    .setAttachAllStatementsForCleanup(true);
    +
    +try (Handle handle = jdbi.open()) {
    +    Optional<User> user = handle.createQuery("SELECT * FROM users WHERE id = :id")
    +        .bind("id", id)
    +        .mapTo(User.class)
    +        .stream()
    +        .findAny();
    +}
    +
    +
    +
    +

    This setting can be controlled either per Jdbi object or per Handle.

    +
    +
    +
    +
    try (Handle handle = jdbi.open()) {
    +    handle.getConfig(SqlStatements.class)
    +        .setAttachAllStatementsForCleanup(true);
    +
    +    Optional<User> user = handle.createQuery("SELECT * FROM users WHERE id = :id")
    +        .bind("id", id)
    +        .mapTo(User.class)
    +        .stream()
    +        .findAny();
    +}
    +
    +
    +
    +

    As a special case, any method on the Jdbi object that takes a callback (withHandle, useHandle, inTransaction, useTransaction) attaches statements created in the callback by default to the handle passed into the callback. These handles are fully managed and will be closed when the callback exits.

    +
    +
    +
    +
    User user = jdbi.withHandle(handle ->
    +    handle.createQuery("SELECT * FROM users WHERE id = :id")
    +        .bind("id", id)
    +        .mapTo(User.class)
    +        .one());
    +
    +
    +
    +

    This behavior can be controlled through the setAttachCallbackStatementsForCleanup() method. +If a callback executes a huge number of statements, it may be preferable to manage resources manually:

    +
    +
    +
    +
    jdbi.useHandle(handle -> {
    +    handle.getConfig(SqlStatements.class).setAttachCallbackStatementsForCleanup(false); (1)
    +
    +    for (int i = 0; i < 100_000; i++) {
    +        try (Update update = handle.createUpdate("INSERT INTO users (id, name) VALUES (:id, :name)")) {
    +            update.bind("id", i)
    +                  .bind("name", "user_" + i)
    +                  .execute();
    +        }
    +    }
    +});
    +
    +
    +
    + + + + + +
    1Turn off automatic attachment of statements to the handle because the callback creates a large number of statements. Modifying this value only changes the setting for the current handle; it does not affect the global setting associated with the Jdbi object that created the handle.
    +
    +
    + + + + + +
    + + +While the attachAllStatementsForCleanup setting affects all statements created outside a Jdbi callback (withHandle, useHandle, inTransaction, useTransaction), inside these callbacks, the behavior is controlled by the attachCallbackStatementsForCleanup setting. +The default value for the attachAllStatementsForCleanup is false while the default value for attachCallbackStatementsForCleanup is true. +
    +
    +
    +
    +
    +
    +
    +

    6. Arguments

    +
    +
    +

    Arguments are Jdbi’s representation of JDBC statement parameters (the ? in SELECT * FROM Foo WHERE bar = ?).

    +
    +
    +

    To set a parameter ? on a JDBC PreparedStatement, you would ps.setString(1, "Baz"). +With Jdbi, when you bind the string "Baz", it will search through all registered ArgumentFactory instances +until it finds one that is willing to convert the String into an Argument. +The argument is responsible for setting the String for the placeholder exactly as setString does.

    +
    +
    +

    Arguments can perform more advanced bindings than simple JDBC supports: +a BigDecimal could be bound as a SQL decimal, a java.time.Year as a SQL int, +or a complex object could be serialized to a byte array and bound as a SQL blob.

    +
    +
    + + + + + +
    + + +The use of Jdbi arguments is limited to JDBC prepared statement parameters. +Notably, arguments usually cannot be used to change the structure of a query +(for example the table or column name, SELECT or INSERT, etc.) +nor may they be interpolated into string literals. +See Query Templating and TemplateEngine for more information. +
    +
    +
    +

    6.1. Positional Arguments

    +
    +

    When a SQL statement uses ? tokens, Jdbi can bind a values to parameters +at the corresponding index (0-based):

    +
    +
    +
    +
    handle.createUpdate("insert into contacts (id, name) values (?, ?)")
    +      .bind(0, 3)
    +      .bind(1, "Chuck")
    +      .execute();
    +
    +String name = handle.createQuery("select name from contacts where id = ?")
    +                    .bind(0, 3)
    +                    .mapTo(String.class)
    +                    .one();
    +
    +
    +
    +
    +

    6.2. Named Arguments

    +
    +

    When a SQL statement uses colon-prefixed tokens like :name, Jdbi can bind +parameters by name:

    +
    +
    +
    +
    handle.createUpdate("insert into contacts (id, name) values (:id, :name)")
    +      .bind("id", 3)
    +      .bind("name", "Chuck")
    +      .execute();
    +
    +String name = handle.createQuery("select name from contacts where id = :id")
    +                    .bind("id", 3)
    +                    .mapTo(String.class)
    +                    .one();
    +
    +
    +
    +

    A parameter or attribute name can contain any valid Java identifier characters and the dot (.).

    +
    +
    + + + + + +
    + + +By default, Jbdi uses the see the ColonPrefixSqlParser that understands +the :foo syntax. This can be changed if the colon is problematic in the SQL dialect used. Jdbi includes support for an alternate #foo syntax out-of-the-box using the HashPrefixSqlParser. It is also possible to create custom parsers for named arguments. +
    +
    +
    + + + + + +
    + + +Mixing named and positional arguments is not allowed, as it would become confusing very quickly. +
    +
    +
    +
    +

    6.3. Supported Argument Types

    +
    +

    Out of the box, Jdbi supports the following types as SQL statement arguments:

    +
    +
    +
      +
    • +

      Primitives: boolean, byte, short, int, long, char, float, and +double

      +
    • +
    • +

      java.lang: Boolean, Byte, Short, Integer, Long, Character, +Float, Double, String, and Enum (stored as the enum value’s name by default)

      +
    • +
    • +

      java.math: BigDecimal

      +
    • +
    • +

      java.net: Inet4Address, Inet6Address, URL, and URI

      +
    • +
    • +

      java.sql: Blob, Clob, Date, Time, and Timestamp

      +
    • +
    • +

      java.time: Instant, LocalDate, LocalDateTime, LocalTime, +OffsetDateTime, ZonedDateTime, and ZoneId

      +
    • +
    • +

      java.util: Date, Optional (around any other supported type), and UUID

      +
    • +
    • +

      java.util.Collection and Java arrays (stored as SQL arrays). +Some additional setup may be required depending on the type of array element.

      +
    • +
    +
    +
    + + + + + +
    + + +The binding and mapping method for enum values +can be controlled via the Enums config, +as well as the annotations @EnumByName, +@EnumByOrdinal, and +@DatabaseValue. +
    +
    +
    +

    You can also configure Jdbi to support additional argument types. +More on that later.

    +
    +
    +
    +

    6.4. Binding Arguments

    +
    +

    Arguments to SQL statement can be bound in a few different ways.

    +
    +
    +

    You can bind individual arguments:

    +
    +
    +
    +
    handle.createUpdate("INSERT INTO contacts (id, name) VALUES (:id, :name)")
    +    .bind("id", 1)
    +    .bind("name", "Alice")
    +    .execute();
    +
    +
    +
    +

    You can bind multiple arguments at once from the entries of a Map:

    +
    +
    +
    +
    Map<String, Object> contact = new HashMap<>();
    +contact.put("id", 2)
    +contact.put("name", "Bob");
    +
    +handle.createUpdate("INSERT INTO contacts (id, name) VALUES (:id, :name)")
    +    .bindMap(contact)
    +    .execute();
    +
    +
    +
    +

    You can bind multiple values at once, from either a List<T> or a vararg:

    +
    +
    +
    +
    List<String> keys = new ArrayList<String>()
    +keys.add("user_name");
    +keys.add("street");
    +
    +handle.createQuery("SELECT value FROM items WHERE kind in (<listOfKinds>)")
    +    .bindList("listOfKinds", keys)
    +    .mapTo(String.class)
    +    .list();
    +
    +// or, using the 'vararg' definition
    +handle.createQuery("SELECT value FROM items WHERE kind in (<varargListOfKinds>)")
    +    .bindList("varargListOfKinds", "user_name", "docs", "street", "library")
    +    .mapTo(String.class)
    +    .list();
    +
    +
    +
    + + + + + +
    + + +Using bindList requires writing your SQL with an attribute, not a binding, +despite the fact that your values are bound. The attribute is a placeholder that will be +safely rendered to a comma-separated list of binding placeholders. +
    +
    +
    +

    You can bind multiple arguments from properties of a Java Bean:

    +
    +
    +
    +
    Contact contact = new Contact();
    +contact.setId(3);
    +contact.setName("Cindy");
    +
    +handle.createUpdate("INSERT INTO contacts (id, name) VALUES (:id, :name)")
    +    .bindBean(contact)
    +    .execute();
    +
    +
    +
    +

    You can also bind an Object’s public fields:

    +
    +
    +
    +
    Object contact = new Object() {
    +    public int id = 0;
    +    public String name = "Cindy";
    +};
    +
    +handle.createUpdate("INSERT INTO contacts (id, name) VALUES (:id, :name)")
    +    .bindFields(contact)
    +    .execute();
    +
    +
    +
    +

    Alternatively, you can bind public, parameter-less methods of an Object:

    +
    +
    +
    +
    Object contact = new Object() {
    +    public int theId() {
    +        return 0;
    +    }
    +
    +    public String theName() {
    +        return "Cindy";
    +    }
    +};
    +
    +handle.createUpdate("INSERT INTO contacts (id, name) VALUES (:theId, :theName)")
    +    .bindMethods(contact)
    +    .execute();
    +
    +
    +
    +

    Optionally, you can qualify each bound bean/object with a prefix. This can help +remove ambiguity in situations where two or more bound beans have similar +property names:

    +
    +
    +
    +
    Folder folder = new Folder(1, "Important Documents");
    +Document document =
    +    new Document(100, "memo.txt", "Business business business. Numbers.");
    +
    +handle.createUpdate("INSERT INTO documents (id, folder_id, name, contents) " +
    +                    "VALUES (:d.id, :f.id, :d.name, :d.contents)")
    +    .bindBean("f", folder)
    +    .bindMethods("f", folder)
    +    .bindFields("d", document)
    +    .execute();
    +
    +
    +
    + + + + + +
    + + +bindBean(), bindFields(), and bindMethods() may be used to bind nested +properties, e.g. :user.address.street. +
    +
    +
    + + + + + +
    + + +bindMap() does not bind nested properties—​map keys are expected to exactly +match the bound parameter name. +
    +
    +
    + + + + + +
    + + +The authors recommend checking out Immutables support for an advanced way +to easily bind and map value types. +
    +
    +
    +
    +

    6.5. Argument Annotations

    +
    +
      +
    • +

      @JdbiProperty(bind=false) allows configuring whether a discovered property is bound as an argument. Turn the bind annotation value off, and the property discovery mechanism will ignore it.

      +
    • +
    +
    +
    +
    +

    6.6. Custom Arguments

    +
    +

    Occasionally your data model will use data types not natively supported by +Jdbi (see Supported Argument Types).

    +
    +
    +

    Fortunately, Jdbi can be configured to bind custom data types as arguments, +by implementing a few simple interfaces.

    +
    +
    + + + + + +
    + + +Core JDBC features are generally well-supported by all database vendors. +However, more advanced usages like array support or geometry types tend to +quickly become vendor-specific. +
    +
    +
    +

    6.6.1. Using the Argument interface

    +
    +

    The Argument interface wraps a +single value into a binding.

    +
    +
    +
    +
    static class UUIDArgument implements Argument {
    +    private UUID uuid;
    +
    +    UUIDArgument(UUID uuid) {
    +        this.uuid = uuid;
    +    }
    +
    +    @Override
    +    public void apply(int position, PreparedStatement statement, StatementContext ctx) throws SQLException {
    +        statement.setString(position, uuid.toString()); (1)
    +    }
    +}
    +
    +@Test
    +public void uuidArgument() {
    +    UUID u = UUID.randomUUID();
    +    assertThat(handle.createQuery("SELECT CAST(:uuid AS VARCHAR)")
    +        .bind("uuid", new UUIDArgument(u))
    +        .mapTo(String.class)
    +        .one()).isEqualTo(u.toString());
    +}
    +
    +
    +
    + + + + + +
    1Since Argument usually directly calls into JDBC directly, it is given the +one-based index (as expected by JDBC) when it is applied.
    +
    +
    +

    Here we use an Argument to directly bind a UUID. In this particular case, +the most obvious approach is to send the UUID to the database as a String. If +your JDBC driver supports custom types directly or efficient binary transfers, +you can leverage them easily here.

    +
    +
    +
    +

    6.6.2. Using the ArgumentFactory interface

    +
    +

    The ArgumentFactory +interface provides Argument interface instances for any data type it knows about. By implementing and registering an argument factory, it is possible to bind custom data types without having to explicitly wrap them in objects implementing the Argument interface.

    +
    +
    +

    Jdbi provides an AbstractArgumentFactory class which simplifies implementing +the ArgumentFactory contract:

    +
    +
    +
    +
    static class UUIDArgumentFactory extends AbstractArgumentFactory<UUID> {
    +    UUIDArgumentFactory() {
    +        super(Types.VARCHAR); (1)
    +    }
    +
    +    @Override
    +    protected Argument build(UUID value, ConfigRegistry config) {
    +        return (position, statement, ctx) -> statement.setString(position, value.toString()); (2)
    +    }
    +}
    +
    +@Test
    +public void uuidArgumentFactory() {
    +    UUID u = UUID.randomUUID();
    +    handle.registerArgument(new UUIDArgumentFactory());
    +    assertThat(handle.createQuery("SELECT CAST(:uuid AS VARCHAR)")
    +        .bind("uuid", u)
    +        .mapTo(String.class)
    +        .one()).isEqualTo(u.toString());
    +}
    +
    +
    +
    + + + + + + + + + +
    1The JDBC SQL type constant to use when + binding UUIDs. Jdbi needs this in order to bind UUID values of null. See +PreparedStatement.setNull(int,int)
    2Since Argument is a functional interface, it can be implemented as a lambda expression.
    +
    +
    +
    +

    6.6.3. Using Prepared Arguments for batches

    +
    +

    Traditional argument factories decide to bind based on both the type and actual value of the binding. +This is very flexible but when binding a large PreparedBatch it incurs a serious performance penalty +as the entire chain of argument factories must be consulted for each batch of arguments added. +To address this issue, implement ArgumentFactory.Preparable which promises to handle all values +of a given Type. Most built in argument factories now implement the Preparable interface.

    +
    +
    +

    Preparable argument factories are consulted before traditional argument factories. If you’d prefer +to keep the old behavior, you may disable this feature with getConfig(Arguments.class).setPreparedArgumentsEnabled(false).

    +
    +
    +
    +

    6.6.4. The Arguments Registry

    +
    +

    When you register an ArgumentFactory, the registration is stored in an +Arguments instance held by Jdbi. +Arguments is a configuration class, which stores all registered argument +factories (including the factories for built-in arguments).

    +
    +
    +

    Under the hood, when you bind arguments to a statement, Jdbi consults the +Arguments config object and searches for an ArgumentFactory which knows how +to convert a bound object into an Argument.

    +
    +
    +

    Later, when the statement is executed, each Argument located during binding +is applied to the JDBC +PreparedStatement.

    +
    +
    + + + + + +
    + + +Occasionally, two or more argument factories will support arguments of the same +data type. When this happens, the last-registered factory wins. Preparable argument factories +always take precedence over base argument factories. This means that +you can override the way any data type is bound, including the data types +supported out of the box. +
    +
    +
    +
    +
    +
    +
    +

    7. Mappers

    +
    +
    +

    Jdbi makes use of mappers to convert result data into Java objects. There are +two types of mappers:

    +
    +
    +
      +
    • +

      Row Mappers, which map a full row of result set data.

      +
    • +
    • +

      Column Mappers, which map a single column of a result set row.

      +
    • +
    +
    +
    +

    7.1. Row Mappers

    +
    +

    RowMapper is a functional +interface, which maps the current row of a JDBC +ResultSet to a mapped type. Row +mappers are invoked once for each row in the result set.

    +
    +
    +

    Since RowMapper is a functional interface, they can be provided inline to a +query using a lambda expression:

    +
    +
    +
    +
    List<User> users = handle.createQuery("SELECT id, \"name\" FROM \"user\" ORDER BY id ASC")
    +        .map((rs, ctx) -> new User(rs.getInt("id"), rs.getString("name")))
    +        .list();
    +
    +
    +
    + + + + + +
    + + +There are three different types being used in the above example. Query, +returned by Handle.createQuery(), implements the ResultBearing interface. +The ResultBearing.map() method takes a RowMapper<T> and returns a +ResultIterable<T>. Finally, ResultBearing.list() collects each row in the +result set into a List<T>. +
    +
    +
    +

    Row mappers may be defined as classes, which allows for re-use:

    +
    +
    +
    +
    class UserMapper implements RowMapper<User> {
    +    @Override
    +    public User map(ResultSet rs, StatementContext ctx) throws SQLException {
    +        return new User(rs.getInt("id"), rs.getString("name"));
    +    }
    +}
    +
    +
    +
    +
    +
    List<User> users = handle.createQuery("SELECT id, \"name\" FROM \"user\" ORDER BY id ASC")
    +    .map(new UserMapper())
    +    .list();
    +
    +
    +
    +

    This RowMapper is equivalent to the lambda mapper above but more explicit.

    +
    +
    +

    7.1.1. RowMappers registry

    +
    +

    Row mappers can be registered for particular types. This simplifies usage, +requiring only that you specify what type you want to map to. Jdbi +automatically looks up the mapper from the registry, and uses it.

    +
    +
    +
    +
    jdbi.registerRowMapper(User.class,
    +    (rs, ctx) -> new User(rs.getInt("id"), rs.getString("name"));
    +
    +try (Handle handle = jdbi.open()) {
    +    List<User> users = handle
    +        .createQuery("SELECT id, name FROM user ORDER BY id ASC")
    +        .mapTo(User.class)
    +        .list();
    +}
    +
    +
    +
    +

    A mapper which implements RowMapper with an explicit mapped type (such as the +UserMapper class in the previous section) may be registered without specifying +the mapped type:

    +
    +
    +
    +
    handle.registerRowMapper(new UserMapper());
    +
    +
    +
    +

    When this method is used, Jdbi inspects the generic class signature of the +mapper to automatically discover the mapped type.

    +
    +
    +

    It is possible to register more than one mapper for any given type. When this +happens, the last-registered mapper for a given type takes precedence. This +permits optimizations, like registering a "default" mapper for some type, while +allowing that default mapper to be overridden with a different one when +appropriate.

    +
    +
    +
    +

    7.1.2. RowMapperFactory

    +
    +

    A RowMapperFactory can +produce row mappers for arbitrary types.

    +
    +
    +

    Implementing a factory might be preferable to a regular row mapper if:

    +
    +
    +
      +
    • +

      The mapper implementation is generic, and could apply to multiple mapped +types. For example, Jdbi provides a generalized BeanMapper, which maps +columns to bean properties for any bean class.

      +
    • +
    • +

      The mapped type has a generic signature, and/or the mapper could be composed +of other registered mappers. For example, Jdbi provides a +Map.Entry<K,V> mapper, provided a mapper is registered +for types K and V.

      +
    • +
    • +

      You want to bundle multiple mappers into a single class.

      +
    • +
    +
    +
    +

    Let’s take an example Pair<L, R> class:

    +
    +
    +
    +
    public final class Pair<L, R> {
    +    public final L left;
    +    public final R right;
    +
    +    public Pair(L left, R right) {
    +        this.left = left;
    +        this.right = right;
    +    }
    +}
    +
    +
    +
    +

    Now, let’s implement a row mapper factory. The factory should produce a +RowMapper<Pair<L, R>> for any Pair<L, R> type, where the L type is mapped +from the first column, and R from the second—​assuming there are column +mappers registered for both L and R.

    +
    +
    +

    Let’s take this one step at a time:

    +
    +
    +
    +
    public class PairMapperFactory implements RowMapperFactory {
    +    public Optional<RowMapper<?>> build(Type type, ConfigRegistry config) {
    +        // ...
    +    }
    +}
    +
    +
    +
    +

    The build method accepts a mapped type, and a config registry. It may return +Optional.of(someMapper) if it knows how to map that type, or +Optional.empty() otherwise.

    +
    +
    +

    First we check whether the mapped type is a Pair:

    +
    +
    +
    +
    if (!Pair.class.equals(GenericTypes.getErasedType(type))) {
    +    return Optional.empty();
    +}
    +
    +
    +
    + + + + + +
    + + +The GenericTypes utility class is discussed in Working with Generic Types. +
    +
    +
    +

    Next, we extract the L and R generic parameters from the mapped type:

    +
    +
    +
    +
    Type leftType = GenericTypes.resolveType(Pair.class.getTypeParameters()[0], type);
    +Type rightType = GenericTypes.resolveType(Pair.class.getTypeParameters()[1], type);
    +
    +
    +
    +

    In the first line, Pair.class.getTypeParameters()[0] gives the type variable +L. Likewise in the second line, Pair.class.getTypeParameters()[1] gives the type +variable R.

    +
    +
    +

    We use resolveType() to resolve the types for the L and R type variables +in the context of the mapped type.

    +
    +
    +

    Now that we have the types for L and R, we can look up the column mappers +for those types from the ColumnMappers config class, through the config +registry:

    +
    +
    +
    +
    ColumnMappers columnMappers = config.get(ColumnMappers.class);
    +
    +ColumnMapper<?> leftMapper = columnMappers.findFor(leftType)
    +    .orElseThrow(() -> new NoSuchMapperException(
    +        "No column mapper registered for Pair left parameter " + leftType));
    +ColumnMapper<?> rightMapper = columnMappers.findFor(rightType)
    +    .orElseThrow(() -> new NoSuchMapperException(
    +        "No column mapper registered for Pair right parameter " + rightType));
    +
    +
    +
    +

    The config registry is a locator for config classes. So when we call +config.get(ColumnMappers.class), we get back a ColumnMappers instance with +the current column mapper configuration.

    +
    +
    +

    Next we call ColumnMappers.findFor() to get the column mappers for the left +and right types.

    +
    +
    + + + + + +
    + + +You may have noticed that although this method can return Optional, we are +throwing an exception if we can’t find the left- or right-hand mappers. We have +found this to be a best practice: return Optional.empty() if the factory +knows nothing about the mapped type (Pair, in this case). If it knows the +mapped type but is missing some configuration to make it work (e.g. mappers not +registered for L or R parameter) it is more helpful to throw an exception +with an informative message, so users can diagnose why the mapper is not +working as expected. +
    +
    +
    +

    Finally, we construct a pair mapper, and return it:

    +
    +
    +
    +
    RowMapper<?> pairMapper = (rs, ctx) ->
    +    new Pair(leftMapper.map(rs, 1, ctx), // In JDBC, column numbers start at 1
    +             rightMapper.map(rs, 2, ctx));
    +
    +return Optional.of(pairMapper);
    +
    +
    +
    +

    Here is the factory class all together:

    +
    +
    +
    +
    public class PairMapperFactory implements RowMapperFactory {
    +    public Optional<RowMapper<?>> build(Type type, ConfigRegistry config) {
    +        if (!Pair.class.equals(GenericTypes.getErasedType(type))) {
    +            return Optional.empty();
    +        }
    +
    +        Type leftType = GenericTypes.resolveType(Pair.class.getTypeParameters()[0], type);
    +        Type rightType = GenericTypes.resolveType(Pair.class.getTypeParameters()[1], type);
    +
    +        ColumnMappers columnMappers = config.get(ColumnMappers.class);
    +
    +        ColumnMapper<?> leftMapper = columnMappers.findFor(leftType)
    +            .orElseThrow(() -> new NoSuchMapperException(
    +                "No column mapper registered for Pair left parameter " + leftType));
    +        ColumnMapper<?> rightMapper = columnMappers.findFor(rightType)
    +            .orElseThrow(() -> new NoSuchMapperException(
    +                "No column mapper registered for Pair right parameter " + rightType));
    +
    +        RowMapper<?> pairMapper = (rs, ctx) -> new Pair(leftMapper.map(rs, 1, ctx),
    +            rightMapper.map(rs, 2, ctx));
    +
    +        return Optional.of(pairMapper);
    +    }
    +}
    +
    +
    +
    +

    Row mapper factories may be registered similar to regular row mappers:

    +
    +
    +
    +
    jdbi.registerRowMapper(new PairMapperFactory());
    +
    +try (Handle handle = jdbi.open()) {
    +    List<Pair<String, String>> configPairs = handle
    +        .createQuery("SELECT key, value FROM config")
    +        .mapTo(new GenericType<Pair<String, String>>() {})
    +        .list();
    +}
    +
    +
    +
    + + + + + +
    + + +The GenericType utility class is discussed in Working with Generic Types. +
    +
    +
    +
    +
    +

    7.2. Column Mappers

    +
    +

    ColumnMapper is a functional +interface, which maps a column from the current row of a JDBC +ResultSet to a mapped type.

    +
    +
    +

    Since ColumnMapper is a functional interface, they can be provided inline to a query using a lambda expression:

    +
    +
    +
    +
    List<Money> amounts = handle
    +    .select("SELECT amount FROM transactions WHERE account_id = ?", accountId)
    +    .map((rs, col, ctx) -> Money.parse(rs.getString(col))) (1)
    +    .list();
    +
    +
    +
    +

    Whenever a column mapper is used to map rows, only the first column of each row +is mapped.

    +
    +
    +

    Column mappers may be defined as classes, which allows for re-use:

    +
    +
    +
    +
    public class MoneyMapper implements ColumnMapper<Money> {
    +    public Money map(ResultSet r, int columnNumber, StatementContext ctx) throws SQLException {
    +        return Money.parse(r.getString(columnNumber));
    +    }
    +}
    +
    +
    +
    +
    +
    List<Money> amounts = handle
    +    .select("SELECT amount FROM transactions WHERE account_id = ?", accountId)
    +    .map(new MoneyMapper())
    +    .list();
    +
    +
    +
    +

    This ColumnMapper is equivalent to the lambda mapper above, but more explicit.

    +
    +
    +

    7.2.1. ColumnMappers registry

    +
    +

    Column mappers may be registered for specific types. This simplifies usage, +requiring only that you specify what type you want to map to. Jdbi automatically +looks up the mapper from the registry, and uses it.

    +
    +
    +
    +
    jdbi.registerColumnMapper(Money.class,
    +    (rs, col, ctx) -> Money.parse(rs.getString(col)));
    +
    +List<Money> amounts = jdbi.withHandle(handle ->
    +    handle.select("SELECT amount FROM transactions WHERE account_id = ?", accountId)
    +        .mapTo(Money.class)
    +        .list());
    +
    +
    +
    +

    A mapper which implements ColumnMapper with an explicit mapped type (such as +the MoneyMapper class in the previous section) may be registered without +specifying the mapped type:

    +
    +
    +
    +
    handle.registerColumnMapper(new MoneyMapper());
    +
    +
    +
    +

    When this method is used, Jdbi inspects the generic class signature of the +mapper to automatically discover the mapped type.

    +
    +
    +

    It is possible to register more than one mapper for any given type. When this +happens, the last-registered mapper for a given type takes precedence. This +permits optimizations, like registering a "default" mapper for some type, while +allowing that default mapper to be overridden with a different one when +appropriate.

    +
    +
    +

    Out of the box, column mappers are registered for the following types:

    +
    +
    +
      +
    • +

      Primitives: boolean, byte, short, int, long, char, float, and +double

      +
    • +
    • +

      java.lang: Boolean, Byte, Short, Integer, Long, Character, +Float, Double, String, and Enum (stored as the enum value’s name by default)

      +
    • +
    • +

      java.math: BigDecimal

      +
    • +
    • +

      byte[] arrays (e.g. for BLOB or VARBINARY columns)

      +
    • +
    • +

      java.net: InetAddress, URL, and URI

      +
    • +
    • +

      java.sql: Timestamp

      +
    • +
    • +

      java.time: Instant, LocalDate, LocalDateTime, LocalTime, +OffsetDateTime, ZonedDateTime, and ZoneId

      +
    • +
    • +

      java.util: UUID

      +
    • +
    • +

      java.util.Collection and Java arrays (for array columns). Some +additional setup may be required depending on the type of array element—​see +SQL Arrays.

      +
    • +
    +
    +
    + + + + + +
    + + +The binding and mapping method for enum values +can be controlled via the Enums config, +as well as the annotations @EnumByName, +@EnumByOrdinal, and +@DatabaseValue. +
    +
    +
    +
    +

    7.2.2. ColumnMapperFactory

    +
    +

    A ColumnMapperFactory can +produce column mappers for arbitrary types.

    +
    +
    +

    Implementing a factory might be preferable to a regular column mapper if:

    +
    +
    +
      +
    • +

      The mapper class is generic, and could apply to multiple mapped types.

      +
    • +
    • +

      The type being mapped is generic, and/or the mapper could be composed +of other registered mappers.

      +
    • +
    • +

      You want to bundle multiple mappers into a single class.

      +
    • +
    +
    +
    +

    Let’s create a mapper factory for Optional<T> as an example. The factory +should produce a ColumnMapper<Optional<T>> for any T, provided a column +mapper is registered for T.

    +
    +
    +

    Let’s take this one step at a time:

    +
    +
    +
    +
    public class OptionalColumnMapperFactory implements ColumnMapperFactory {
    +    public Optional<ColumnMapper<?>> build(Type type, ConfigRegistry config) {
    +        // ...
    +    }
    +}
    +
    +
    +
    +

    The build method accepts a mapped type, and a config registry. It may return +Optional.of(someMapper) if it knows how to map that type, or +Optional.empty() otherwise.

    +
    +
    +

    First, we check whether the mapped type is an Optional:

    +
    +
    +
    +
    if (!Optional.class.equals(GenericTypes.getErasedType(type))) {
    +    return Optional.empty();
    +}
    +
    +
    +
    + + + + + +
    + + +The GenericTypes utility class is discussed in Working with Generic Types. +
    +
    +
    +

    Next, extract the T generic parameter from the mapped type:

    +
    +
    +
    +
    Type t = GenericTypes.resolveType(Optional.class.getTypeParameters()[0], type);
    +
    +
    +
    +

    The expression Optional.class.getTypeParameters()[0] gives the type variable +T.

    +
    +
    +

    We use resolveType() to resolve the type of T in the context of the mapped +type.

    +
    +
    +

    Now that we have the type of T, we can look up a column mapper for that type +from the ColumnMappers config class, through the config registry:

    +
    +
    +
    +
    ColumnMapper<?> tMapper = config.get(ColumnMappers.class)
    +    .findFor(embeddedType)
    +    .orElseThrow(() -> new NoSuchMapperException(
    +        "No column mapper registered for parameter " + embeddedType + " of type " + type));
    +
    +
    +
    +

    The config registry is a locator for config classes. So when we call +config.get(ColumnMappers.class), we get back a ColumnMappers instance with +the current column mapper configuration.

    +
    +
    +

    Next we call ColumnMappers.findFor() to get the column mapper for the embedded +type.

    +
    +
    + + + + + +
    + + +You may have noticed that although this method can return Optional, we’re +throwing an exception if we can’t find a mapper for the embedded type. We’ve +found this to be a best practice: return Optional.empty() if the factory knows +nothing about the mapped type (Optional, in this case). If it knows the mapped +type but is missing some configuration to make it work (e.g. no mapper +registered for tye T parameter) it is more helpful to throw an exception with +an informative message, so users can diagnose why the mapper is not working as +expected. +
    +
    +
    +

    Finally, we construct the column mapper for optionals, and return it:

    +
    +
    +
    +
    ColumnMapper<?> optionalMapper = (rs, col, ctx) ->
    +    Optional.ofNullable(tMapper.map(rs, col, ctx));
    +
    +return Optional.of(optionalMapper);
    +
    +
    +
    +

    Here is the factory class all together:

    +
    +
    +
    +
    public class OptionalColumnMapperFactory implements ColumnMapperFactory {
    +    public Optional<ColumnMapper<?>> build(Type type, ConfigRegistry config) {
    +        if (!Optional.class.equals(GenericTypes.getErasedType(type))) {
    +            return Optional.empty();
    +        }
    +
    +        Type t = GenericTypes.resolveType(Optional.class.getTypeParameters()[0], type);
    +
    +        ColumnMapper<?> tMapper = config.get(ColumnMappers.class)
    +            .findFor(t)
    +            .orElseThrow(() -> new NoSuchMapperException(
    +                "No column mapper registered for parameter " + t + " of type " + type));
    +
    +        ColumnMapper<?> optionalMapper = (rs, col, ctx) -> Optional.ofNullable(tMapper.map(rs, col, ctx));
    +
    +        return Optional.of(optionalMapper);
    +    }
    +}
    +
    +
    +
    +

    Column mapper factories may be registered similar to regular column mappers:

    +
    +
    +
    +
    jdbi.registerColumnMapper(new OptionalColumnMapperFactory());
    +
    +try (Handle handle = jdbi.open()) {
    +    List<Optional<String>> middleNames = handle
    +        .createQuery("SELECT middle_name FROM contacts")
    +        .mapTo(new GenericType<Optional<String>>() {})
    +        .list();
    +}
    +
    +
    +
    + + + + + +
    + + +The GenericType utility class is discussed in Working with Generic Types. +
    +
    +
    +
    +
    +

    7.3. Primitive Mapping

    +
    +

    All Java primitive types have default mappings to their corresponding JDBC types. +Generally, Jdbi will automatically perform boxing and unboxing as appropriate when +it encounters wrapper types.

    +
    +
    +

    By default, SQL null mapped to a primitive type will adopt the JDBC default value. +This may be disabled by configuring +jdbi.getConfig(ColumnMappers.class).setCoalesceNullPrimitivesToDefaults(false).

    +
    +
    +
    +

    7.4. Immutables Mapping

    +
    +

    Immutables value objects may be mapped, see the Immutables section for details.

    +
    +
    +
    +

    7.5. Freebuilder Mapping

    +
    +

    Freebuilder value objects may be mapped, see the Freebuilder section for details.

    +
    +
    +
    +

    7.6. Reflection Mappers for Beans and POJOs

    +
    +

    Jdbi provides a number of reflection-based mappers out of the box which treat column +names as attributes. The different mappers can be used to map values onto

    +
    +
    +
      +
    • +

      Java Bean properties (BeanMapper)

      +
    • +
    • +

      Class fields (FieldMapper)

      +
    • +
    • +

      Constructor parameters (ConstructorMapper)

      +
    • +
    +
    +
    +

    There is also an equivalent mapper for Kotlin classes that supports constructor arguments and class properties.

    +
    +
    +

    Reflective mappers are snake_case aware and will automatically match up these +columns to camelCase field/argument/property names.

    +
    +
    +

    7.6.1. Supported property annotations

    +
    +

    Reflection mappers support the following annotations. +Unless otherwise noted, all annotations are supported on bean getters and setters for the BeanMapper, constructor parameters for the ConstructorMapper and bean fields for the FieldMapper.

    +
    +
    +
      +
    • +

      @ColumnName allows explicit naming of the column that is mapped to the specific attribute.

      +
    • +
    • +

      @Nested for nested beans. +Without this annotation, any attribute is treated as mappable from a single column. +This annotation creates a mapper for the nested bean. +There is a limitation that only one type of mapper can be nested at a time; BeanMapper will create another BeanMapper, ConstructorMapper will create another ConstructorMapper etc. @Nested supports an optional prefix for all attributes in the nested bean (@Nested("prefix")).

      +
    • +
    • +

      @PropagateNull on a given attribute propagates a null value for a specific attribute up. +So if the attribute or column is null, the whole bean will be discarded and a null value will be used instead of the bean itself. +This annotation can also be used on the bean class with a column name that must be present in the result set. +When used on an attribute, no value must be set.

      +
    • +
    • +

      @Nullable for ConstructorMapper arguments. +If no column is mapped onto a specific constructor argument, don’t fail but use null as value.

      +
    • +
    • +

      @JdbiProperty(map=false) allows configuring whether a discovered property is mapped in results. +Turn the map value off, and the property discovery mechanism will ignore it. +This used to be called @Unmappable.

      +
    • +
    +
    +
    + + + + + +
    + + +The @ColumnName annotation only applies while mapping SQL data into Java objects. +When binding object properties (e.g. with bindBean()), bind the property name (:id) rather than the column name (:user_id). +
    +
    +
    +
    Using @Nullable annotations
    +
    +

    Jdbi accepts any annotation that is named Nullable to mark a field or method as nullable.

    +
    +
    +

    These are popular choices:

    +
    +
    + +
    +
    + + + + + +
    + + +To allow Jdbi to discover the @Nullable annotation at runtime, it must use RetentionPolicy.RUNTIME. +When in doubt, prefer the Jakarta variant!. +
    +
    +
    +
    +
    +

    7.6.2. ConstructorMapper

    +
    +

    ConstructorMapper assigns columns to constructor parameters by +name. If the java compiler stores method parameter names in the java +classes (using the -parameters flag on the compiler — see also +Compiling with Parameter Names), the constructor mapper will use +these names to select columns.

    +
    +
    +
    +
    public User(int id, String name) {
    +    this.id = id;
    +    this.name = name;
    +}
    +
    +
    +
    +

    Otherwise, the names can be explictly set with the @ColumnName +annotation on each constructor parameter:

    +
    +
    +
    +
    public User(@ColumnName("id") int id, @ColumnName("name") String name) {
    +    this.id = id;
    +    this.name = name;
    +}
    +
    +
    +
    +

    The standard Java Bean @ConstructorProperties annotation can also be used:

    +
    +
    +
    +
    @ConstructorProperties({"id", "name"})
    +public User(int id, String name) {
    +    this.id = id;
    +    this.name = name;
    +}
    +
    +
    +
    + + + + + +
    + + +Lombok’s @AllArgsConstructor annotation generates the +@ConstructorProperties annotation for you. +
    +
    +
    +

    Register a constructor mapper for your mapped class using the factory() or of() +methods:

    +
    +
    +
    +
    handle.registerRowMapper(ConstructorMapper.factory(User.class));
    +Set<User> userSet = handle.createQuery("SELECT * FROM \"user\" ORDER BY id ASC")
    +    .mapTo(User.class)
    +    .collect(Collectors.toSet());
    +
    +assertThat(userSet).hasSize(4);
    +
    +
    +
    +

    The constructor parameter names "id", "name" match the database column names +and as such no custom mapper code is required at all.

    +
    +
    +

    Constructor mappers can be configured with a column name prefix for each mapped +constructor parameter. This can help to disambiguate mapping joins, e.g. when +two mapped classes have identical property names (like id or name):

    +
    +
    +
    +
    handle.registerRowMapper(ConstructorMapper.factory(Contact.class, "c"));
    +handle.registerRowMapper(ConstructorMapper.factory(Phone.class, "p"));
    +handle.registerRowMapper(JoinRowMapper.forTypes(Contact.class, Phone.class);
    +
    +List<JoinRow> contactPhones = handle.select("SELECT " +
    +    "c.id cid, c.name cname, " +
    +    "p.id pid, p.name pname, p.number pnumber " +
    +    "FROM contacts c LEFT JOIN phones p ON c.id = p.contact_id")
    +    .mapTo(JoinRow.class)
    +    .list();
    +
    +
    +
    +

    Typically, the mapped class will have a single constructor. If it has multiple +constructors, Jdbi will pick one based on these rules:

    +
    +
    +
      +
    • +

      First, use the constructor annotated with @JdbiConstructor, if any.

      +
    • +
    • +

      Next, use the constructor annotated with @ConstructorProperties, if any.

      +
    • +
    • +

      Otherwise, throw an exception that Jdbi does not know which constructor to +use.

      +
    • +
    +
    +
    +

    For legacy column names that don’t match up to property names, use the +@ColumnName annotation to provide an exact column name.

    +
    +
    +
    +
    public User(@ColumnName("user_id") int id, String name) {
    +    this.id = id;
    +    this.name = name;
    +}
    +
    +
    +
    +

    Nested constructor-injected types can be mapped using the @Nested annotation:

    +
    +
    +
    +
    public class User {
    +    public User(int id,
    +                String name,
    +                @Nested Address address) {
    +        // ...
    +    }
    +}
    +
    +public class Address {
    +    public Address(String street,
    +                   String city,
    +                   String state,
    +                   String zip) {
    +        // ...
    +    }
    +}
    +
    +
    +
    +
    +
    handle.registerRowMapper(ConstructorMapper.factory(User.class));
    +
    +List<User> users = handle
    +    .select("SELECT id, name, street, city, state, zip FROM users")
    +    .mapTo(User.class)
    +    .list();
    +
    +
    +
    +

    The @Nested annotation has an optional value() attribute, which can be used to apply a column name prefix to each nested constructor parameter:

    +
    +
    +
    +
    public User(int id,
    +            String name,
    +            @Nested("addr") Address address) {
    +    // ...
    +}
    +
    +
    +
    +
    +
    handle.registerRowMapper(ConstructorMapper.factory(User.class));
    +
    +List<User> users = handle
    +    .select("SELECT id, name, addr_street, addr_city, addr_state, addr_zip FROM users")
    +    .mapTo(User.class)
    +    .list();
    +
    +
    +
    +

    By default, ConstructorMapper expects the result set to contain columns to map every constructor parameter, and will throw an exception if any parameters cannot be mapped.

    +
    +
    +

    Parameters annotated @Nullable (see Using @Nullable annotations) may be omitted from the result set, in which +ConstructorMapper will pass null to the constructor for that parameter.

    +
    +
    +
    +
    public class User {
    +    public User(int id,
    +                String name,
    +                @Nullable String passwordHash,
    +                @Nullable @Nested Address address) {
    +        // ...
    +    }
    +}
    +
    +
    +
    +

    In this example, the id and name columns must be present in the result set, but passwordHash and address are optional. +If they are present, they will be mapped.

    +
    +
    +
    +

    7.6.3. BeanMapper

    +
    +

    BeanMapper assigns columns to bean properties. This mapper uses the standard Java Bean conventions.

    +
    +
    +
    +
    public class UserBean {
    +    private int id;
    +    private String name;
    +
    +    public int getId() {
    +        return id;
    +    }
    +    public void setId(int id) {
    +        this.id = id;
    +    }
    +    public String getName() {
    +        return name;
    +    }
    +    public void setName(String name) {
    +        this.name = name;
    +    }
    +}
    +
    +
    +
    + + + + + +
    + + +The standard bean convention requires that the setter returns a void value. The popular "builder pattern" setter +convention of returning the bean itself does not work with the standard Java Bean convention and the setter will not be found. This is a common source of problems when using the BeanMapper. +
    +
    +
    +

    Register a bean mapper for your mapped class, using the factory() method:

    +
    +
    +
    +
    handle.registerRowMapper(BeanMapper.factory(UserBean.class));
    +
    +List<UserBean> users = handle
    +        .createQuery("select id, \"name\" from \"user\"")
    +        .mapTo(UserBean.class)
    +        .list();
    +
    +
    +
    +

    Alternatively, call mapToBean() instead of registering a bean mapper:

    +
    +
    +
    +
    List<UserBean> users = handle
    +        .createQuery("select id, \"name\" from \"user\"")
    +        .mapToBean(UserBean.class)
    +        .list();
    +
    +
    +
    +

    Or use map with an instance:

    +
    +
    +
    +
    List<UserBean> users = handle
    +    .createQuery("select id, \"name\" from \"user\"")
    +    .map(BeanMapper.of(UserBean.class))
    +    .list();
    +
    +
    +
    +

    Bean mappers can be configured with a column name prefix for each mapped +property. This can help to disambiguate mapping joins, e.g. when two mapped +classes have identical property names (like id or name):

    +
    +
    +
    +
    handle.registerRowMapper(BeanMapper.factory(ContactBean.class, "c"));
    +handle.registerRowMapper(BeanMapper.factory(PhoneBean.class, "p"));
    +handle.registerRowMapper(JoinRowMapper.forTypes(ContactBean.class, PhoneBean.class));
    +List<JoinRow> contactPhones = handle.select("select "
    +        + "c.id cid, c.\"name\" cname, "
    +        + "p.id pid, p.\"name\" pname, p.\"number\" pnumber "
    +        + "from contacts c left join phones p on c.id = p.contact_id")
    +        .mapTo(JoinRow.class)
    +        .list();
    +
    +
    +
    +

    For legacy column names that don’t match up to property names, use the +@ColumnName annotation to provide an exact column name.

    +
    +
    +
    +
    public class User {
    +    private int id;
    +
    +    @ColumnName("user_id")
    +    public int getId() { return id; }
    +
    +    public void setId(int id) { this.id = id; }
    +}
    +
    +
    +
    +

    The @ColumnName annotation can be placed on either the getter or setter method. +If conflicting annotations exist, then Annotations on the setter are preferred.

    +
    +
    +

    Nested Java Bean types can be mapped using the @Nested annotation:

    +
    +
    +
    +
    public class User {
    +    private int id;
    +    private String name;
    +    private Address address;
    +
    +    // ... (getters and setters)
    +
    +    @Nested (1)
    +    public Address getAddress() { ... }
    +
    +    public void setAddress(Address address) { ... }
    +}
    +
    +public class Address {
    +    private String street;
    +    private String city;
    +    private String state;
    +    private String zip;
    +
    +    // ... (getters and setters)
    +}
    +
    +
    +
    + + + + + +
    1The @Nested annotation can be placed on either the getter or setter method. +The setter is preferred.
    +
    +
    +
    +
    handle.registerRowMapper(BeanMapper.factory(User.class));
    +
    +List<User> users = handle
    +    .select("SELECT id, name, street, city, state, zip FROM users")
    +    .mapTo(User.class)
    +    .list();
    +
    +
    +
    +

    The @Nested annotation has an optional value() attribute, which can be used to apply a column name prefix to each nested bean property:

    +
    +
    +
    +
    @Nested("addr")
    +public Address getAddress() { ... }
    +
    +
    +
    +
    +
    handle.registerRowMapper(BeanMapper.factory(User.class));
    +
    +List<User> users = handle
    +    .select("SELECT id, name, addr_street, addr_city, addr_state, addr_zip FROM users")
    +    .mapTo(User.class)
    +    .list();
    +
    +
    +
    + + + + + +
    + + +@Nested properties are left unmodified (i.e. null) if the result set has no columns matching any properties of the nested object. +
    +
    +
    +
    +

    7.6.4. FieldMapper

    +
    +

    FieldMapper uses reflection +to map database columns directly to object fields (including private fields).

    +
    +
    +
    +
    public class User {
    +    public int id;
    +
    +    public String name;
    +}
    +
    +
    +
    +

    Register a field mapper for your mapped class, using the factory() method:

    +
    +
    +
    +
    handle.registerRowMapper(FieldMapper.factory(User.class));
    +
    +List<UserBean> users = handle
    +    .createQuery("SELECT id, name FROM user")
    +    .mapTo(User.class)
    +    .list();
    +
    +
    +
    +

    Field mappers can be configured with a column name prefix for each mapped +field. This can help to disambiguate mapping joins, e.g. when two mapped +classes have identical property names (like id or name):

    +
    +
    +
    +
    handle.registerRowMapper(FieldMapper.factory(Contact.class, "c"));
    +handle.registerRowMapper(FieldMapper.factory(Phone.class, "p"));
    +handle.registerRowMapper(JoinRowMapper.forTypes(Contact.class, Phone.class);
    +List<JoinRow> contactPhones = handle.select(
    +    "SELECT " +
    +    "c.id cid, c.name cname, " +
    +    "p.id pid, p.name pname, p.number pnumber " +
    +    "FROM contacts c LEFT JOIN phones p ON c.id = p.contact_id")
    +    .mapTo(JoinRow.class)
    +    .list();
    +
    +
    +
    +

    For legacy column names that don’t match up to field names, use the +@ColumnName annotation to provide an exact column name:

    +
    +
    +
    +
    public class User {
    +    @ColumnName("user_id")
    +    public int id;
    +
    +    public String name;
    +}
    +
    +
    +
    +

    Nested field-mapped types can be mapped using the @Nested annotation:

    +
    +
    +
    +
    public class User {
    +    public int id;
    +    public String name;
    +
    +    @Nested
    +    public Address address;
    +}
    +
    +public class Address {
    +    public String street;
    +    public String city;
    +    public String state;
    +    public String zip;
    +}
    +
    +
    +
    +
    +
    handle.registerRowMapper(FieldMapper.factory(User.class));
    +
    +List<User> users = handle
    +    .select("SELECT id, name, street, city, state, zip FROM users")
    +    .mapTo(User.class)
    +    .list();
    +
    +
    +
    +

    The @Nested annotation has an optional value() attribute, which can be used to apply a column name prefix to each nested field:

    +
    +
    +
    +
    public class User {
    +    public int id;
    +    public String name;
    +
    +    @Nested("addr")
    +    public Address address;
    +}
    +
    +
    +
    +
    +
    handle.registerRowMapper(FieldMapper.factory(User.class));
    +
    +List<User> users = handle
    +    .select("SELECT id, name, addr_street, addr_city, addr_state, addr_zip FROM users")
    +    .mapTo(User.class)
    +    .list();
    +
    +
    +
    + + + + + +
    + + +@Nested fields are left unmodified (i.e. null) if the result set has no columns matching any fields of the nested object. +
    +
    +
    +
    +
    +

    7.7. Map.Entry Mapping

    +
    +

    Out of the box, Jdbi registers a RowMapper<Map.Entry<K,V>>. Since each row in +the result set is a Map.Entry<K,V>, the entire result set can be easily +collected into a Map<K,V> (or Guava’s Multimap<K,V>).

    +
    +
    + + + + + +
    + + +A mapper must be registered for both the key and value type. +
    +
    +
    +

    Join rows can be gathered into a map result by specifying the generic map +signature:

    +
    +
    +
    +
    CharSequence sql = "select u.id u_id, u.name u_name, p.id p_id, p.phone p_phone "
    +
    +    + "from \"user\" u left join phone p on u.id = p.user_id";
    +Map<User, Phone> map = h.createQuery(sql)
    +        .registerRowMapper(ConstructorMapper.factory(User.class, "u"))
    +        .registerRowMapper(ConstructorMapper.factory(Phone.class, "p"))
    +        .collectInto(new GenericType<Map<User, Phone>>() {});
    +
    +
    +
    +

    In the preceding example, the User mapper uses the "u" column name prefix, and +the Phone mapper uses "p". Since each mapper only reads columns with the +expected prefix, the respective id columns are unambiguous.

    +
    +
    +

    A unique index (e.g. by ID column) can be obtained by setting the key column +name:

    +
    +
    +
    +
    Map<Integer, User> map = h.createQuery("select * from \"user\"")
    +        .setMapKeyColumn("id")
    +        .registerRowMapper(ConstructorMapper.factory(User.class))
    +        .collectInto(new GenericType<Map<Integer, User>>() {});
    +
    +
    +
    +

    Set both the key and value column names to gather a two-column query into a map +result:

    +
    +
    +
    +
    Map<String, String> map = h.createQuery("select \"key\", \"value\" from config")
    +        .setMapKeyColumn("key")
    +        .setMapValueColumn("value")
    +        .collectInto(new GenericType<Map<String, String>>() {});
    +
    +
    +
    +

    All the above examples assume a one-to-one key/value relationship. What if +there is a one-to-many relationship?

    +
    +
    +

    Google Guava provides a Multimap type, which supports mapping multiple +values per key.

    +
    +
    +

    First, follow the instructions in the Google Guava section to install the +GuavaPlugin into Jdbi.

    +
    +
    +

    Then, simply ask for a Multimap instead of a Map:

    +
    +
    +
    +
    String sql = "select u.id u_id, u.name u_name, p.id p_id, p.phone p_phone "
    +    + "from \"user\" u left join phone p on u.id = p.user_id";
    +Multimap<User, Phone> map = h.createQuery(sql)
    +        .registerRowMapper(ConstructorMapper.factory(User.class, "u"))
    +        .registerRowMapper(ConstructorMapper.factory(Phone.class, "p"))
    +        .collectInto(new GenericType<Multimap<User, Phone>>() {});
    +
    +
    +
    +

    The collectInto() method is worth explaining. When you call it, several things +happen behind the scenes:

    +
    +
    +
      +
    • +

      Consult the JdbiCollectors registry to obtain a +CollectorFactory which + supports the given container type.

      +
    • +
    • +

      Next, ask that CollectorFactory to extract the element type from the +container type signature. In the above example, the element type of +Multimap<User,Phone> is Map.Entry<User,Phone>.

      +
    • +
    • +

      Obtain a mapper for that element type from the mapping registry.

      +
    • +
    • +

      Obtain a Collector for the +container type from the CollectorFactory.

      +
    • +
    • +

      Finally, return map(elementMapper).collect(collector).

      +
    • +
    +
    +
    + + + + + +
    + + +If the lookup for the collector factory, element type, or element mapper +fails, an exception is thrown. +
    +
    +
    +

    Jdbi can be enhanced to support arbitrary container types.

    +
    +
    +
    +
    +
    +

    8. Codecs

    +
    +
    +

    A codec is a replacement for registering an argument and a column mapper for a type. It is responsible for serializing a typed value into a database column and creating a type from a database column.

    +
    +
    +

    Codecs are collected in a codec factory, which can be registered with the registerCodecFactory convenience method.

    +
    +
    +
    +
    // register a single codec
    +jdbi.registerCodecFactory(CodecFactory.forSingleCodec(type, codec));
    +
    +// register a few codecs
    +jdbi.registerCodecFactory(CodecFactory.builder()
    +    // register a codec by qualified type
    +    .addCodec(QualifiedType.of(Foo.class), codec1)
    +    // register a codec by direct java type
    +    .addCodec(Foo.class, codec2)
    +    // register a codec by generic type
    +    .addCodec(new GenericType<Set<Foo>>() {}. codec3)
    +    .build());
    +
    +// register many codecs
    +Map<QualifiedType<?>, Codec<?>> codecs = ...
    +jdbi.registerCodecFactory(new CodecFactory(codecs));
    +
    +
    +
    +

    Codec example:

    +
    +
    +
    +
    public class Counter {
    +
    +    private int count = 0;
    +
    +    public Counter() {}
    +
    +    public int nextValue() {
    +        return count++;
    +    }
    +
    +    private Counter setValue(int value) {
    +        this.count = value;
    +        return this;
    +    }
    +
    +    private int getValue() {
    +        return count;
    +    }
    +
    +    /**
    +     * Codec to persist a counter to the database and restore it back.
    +     */
    +    public static class CounterCodec implements Codec<Counter> {
    +
    +        @Override
    +        public ColumnMapper<Counter> getColumnMapper() {
    +            return (r, idx, ctx) -> new Counter().setValue(r.getInt(idx));
    +        }
    +
    +        @Override
    +        public Function<Counter, Argument> getArgumentFunction() {
    +            return counter -> (idx, stmt, ctx) -> stmt.setInt(idx, counter.getValue());
    +        }
    +    }
    +}
    +
    +
    +
    +

    Jdbi core API:

    +
    +
    +
    +
    // register the codec with JDBI
    +jdbi.registerCodecFactory(CodecFactory.forSingleCodec(COUNTER_TYPE, new CounterCodec()));
    +
    +
    +// store object
    +int result = jdbi.withHandle(h -> h.createUpdate("INSERT INTO counters (id, \"value\") VALUES (:id, :value)")
    +    .bind("id", counterId)
    +    .bindByType("value", counter, COUNTER_TYPE)
    +    .execute());
    +
    +
    +// load object
    +Counter restoredCounter = jdbi.withHandle(h -> h.createQuery("SELECT \"value\" from counters where id = :id")
    +    .bind("id", counterId)
    +    .mapTo(COUNTER_TYPE).first());
    +
    +
    +
    +

    SQL Object API uses the codecs transparently:

    +
    +
    +
    +
    // SQL object dao
    +public interface CounterDao {
    +
    +    @SqlUpdate("INSERT INTO counters (id, \"value\") VALUES (:id, :value)")
    +    int storeCounter(@Bind("id") String id, @Bind("value") Counter counter);
    +
    +    @SqlQuery("SELECT \"value\" from counters where id = :id")
    +    Counter loadCounter(@Bind("id") String id);
    +}
    +
    +
    +    // register the codec with JDBI
    +    jdbi.registerCodecFactory(CodecFactory.forSingleCodec(COUNTER_TYPE, new CounterCodec()));
    +
    +
    +    // store object
    +    int result = jdbi.withExtension(CounterDao.class, dao -> dao.storeCounter(counterId, counter));
    +
    +
    +    // load object
    +    Counter restoredCounter = jdbi.withExtension(CounterDao.class, dao -> dao.loadCounter(counterId));
    +
    +
    +
    +

    8.1. Resolving Types

    +
    +

    By using the TypeResolvingCodecFactory from the guava module, it is possible to use codecs that are registered for subclasses or interface types for concrete classes. This is necessary to e.g. map Auto Value generated classes to database columns.

    +
    +
    +

    In the following example, there is only a codec for Value<String> registered, but the code uses beans and classes that are concrete implementations (StringBean contains a StringValue and StringValue implements the Value<String> interface). The TypeResolvingCodecFactory will inspect the types to find a codec for an interface or superclass if no perfect match can be found.

    +
    +
    +
    +
    // SQL object dao using concrete types
    +public interface DataDao {
    +
    +    @SqlUpdate("INSERT INTO data (id, \"value\") VALUES (:bean.id, :bean.value)")
    +    int storeData(@BindBean("bean") StringBean bean);
    +
    +    @SqlUpdate("INSERT INTO data (id, \"value\") VALUES (:id, :value)")
    +    int storeData(@Bind("id") String id, @Bind("value") StringValue data);
    +
    +    @SqlQuery("SELECT \"value\" from data where id = :id")
    +    StringValue loadData(@Bind("id") String id);
    +}
    +
    +
    +// generic type representation
    +public static final QualifiedType<Value<String>> DATA_TYPE = QualifiedType.of(new GenericType<Value<String>>() {});
    +
    +
    +public static class DataCodec implements Codec<Value<String>> {
    +
    +    @Override
    +    public ColumnMapper<Value<String>> getColumnMapper() {
    +        return (r, idx, ctx) -> new StringValue(r.getString(idx));
    +    }
    +
    +    @Override
    +    public Function<Value<String>, Argument> getArgumentFunction() {
    +        return data -> (idx, stmt, ctx) -> stmt.setString(idx, data.getValue());
    +    }
    +}
    +
    +
    +// value interface
    +public interface Value<T> {
    +
    +    T getValue();
    +}
    +
    +
    +// bean using concrete types, not interface types.
    +public static class StringBean implements Bean<Value<String>> {
    +
    +    private final String id;
    +
    +    private final StringValue value;
    +
    +    public StringBean(String id, StringValue value) {
    +        this.id = id;
    +        this.value = value;
    +    }
    +
    +    @Override
    +    public String getId() {
    +        return id;
    +    }
    +
    +    @Override
    +    public StringValue getValue() {
    +        return value;
    +    }
    +}
    +
    +
    +
    +
    +
    +
    +

    9. Results

    +
    +
    +

    A number of operations return data from the database through a JDBC ResultSet:

    +
    +
    + +
    +
    +

    The JDBC ResultSet class can do simple mapping to Java primitives +and built in classes, but the API is often cumbersome to use.

    +
    +
    +

    Jdbi offers many ways to process and map these responses onto other objects using configurable mapping, including the ability to register custom mappers for rows and columns.

    +
    +
    +

    A RowMapper converts a row of a ResultSet into a result object.

    +
    +
    +

    A ColumnMapper converts a single column’s value into a Java object. It can be +used as a RowMapper if there is only one column present, or it can be used to +build more complex RowMapper types.

    +
    +
    +

    The mapper is selected based on the declared result type of your query.

    +
    +
    +

    Jdbi iterates over the rows in the ResultSet and presents the mapped results +to you in a container such as a List, Stream, Optional, or Iterator.

    +
    +
    +
    +
    public static class User {
    +    final int id;
    +    final String name;
    +
    +    public User(int id, String name) {
    +        this.id = id;
    +        this.name = name;
    +    }
    +}
    +
    +@BeforeEach
    +public void setUp() {
    +    handle = h2Extension.getSharedHandle();
    +
    +    handle.execute("CREATE TABLE \"user\" (id INTEGER PRIMARY KEY AUTO_INCREMENT, \"name\" VARCHAR)");
    +    for (String name : Arrays.asList("Alice", "Bob", "Charlie", "Data")) {
    +        handle.execute("INSERT INTO \"user\" (\"name\") VALUES (?)", name);
    +    }
    +}
    +
    +@Test
    +public void findBob() {
    +    User u = findUserById(2).orElseThrow(() -> new AssertionError("No user found"));
    +    assertThat(u.id).isEqualTo(2);
    +    assertThat(u.name).isEqualTo("Bob");
    +}
    +
    +public Optional<User> findUserById(long id) {
    +    RowMapper<User> userMapper =
    +            (rs, ctx) -> new User(rs.getInt("id"), rs.getString("name"));
    +    return handle.createQuery("SELECT * FROM \"user\" WHERE id=:id")
    +        .bind("id", id)
    +        .map(userMapper)
    +        .findFirst();
    +}
    +
    +
    +
    +

    Jdbi operations that involve a ResultSet are defined and executed in multiple steps:

    +
    +
    +
    +
    List<User> users = handle.createQuery("SELECT * FROM users WHERE department = :department") (1)
    +    .bind("department", departmentId) (2)
    +    .mapTo(User.class) (3)
    +    .list(); (4)
    +
    +
    +
    + + + + + + + + + + + + + + + + + +
    1create a Statement that implements ResultBearing
    2execute methods on the statement in builder-style which return the same statement type
    3execute a method defined by ResultBearing that returns a ResultIterable
    4execute a terminal method on ResultIterable that returns the result
    +
    +
    +

    The ResultBearing and ResultIterable interfaces define all data mapping operations that Jdbi offer.

    +
    +
    +

    9.1. ResultBearing

    +
    +

    The ResultBearing interface represents the result set of a database operation, which has not been mapped to any particular result type.

    +
    +
    +

    ResultBearing contains two major groups of operations:

    +
    +
    +
      +
    • +

      latent operations that return a ResultIterable. These operations map the unmapped result of an operation to a specific type. They require a method on the ResultIterable to be called to execute the actual operation

      +
    • +
    • +

      terminal operations that collect, scan or reduce the result set. Calling one of these methods, executes the actual operation and returns a result.

      +
    • +
    +
    +
    +

    9.1.1. Mapping result types with latent operations

    +
    +

    These operations create a map from the data returned by the database onto java objects. This mapping is described in multiple ways:

    +
    +
    +
      +
    • +

      map() operations using a RowMapper, ColumnMapper or RowViewMapper instance.

      +
    • +
    • +

      mapTo() operations using a type definition. The matching mapper is retrieved from the RowMappers registry. Supports regular Java Types, Generic Types and Qualified Types.

      +
    • +
    • +

      mapToMap() operations where the key is the (lower-cased) column name and the value is the column value. Supports regular Java Types, Generic Types and Qualified Types for the values. The value mapper is retrieved from the RowMappers registry.

      +
    • +
    • +

      mapToBean() maps to a mutable bean instance with that provides setters to set values. For each column name, the corresponding setter is called.

      +
    • +
    +
    +
    +

    This is the most common use case when using the ResultBearing interface:

    +
    +
    +
    +
    ResultIterable<User> resultIterable = handle
    +    .createQuery("SELECT * from users")
    +    .mapTo(User.class);
    +
    +List<User> users = resultIterable.list();
    +
    +
    +
    +

    TODO:

    +
    +
    +
      +
    • +

      Describe terminal operations on the ResultBearing

      +
    • +
    • +

      reduceRows

      +
      +
        +
      • +

        RowView

        +
      • +
      +
      +
    • +
    • +

      reduceResultSet

      +
    • +
    • +

      collectInto e.g. with a GenericType token. Implies a mapTo() and a collect() +in one operation. e.g. collectInto(new GenericType<List<User>>(){}) is the +same as mapTo(User.class).collect(toList())

      +
    • +
    • +

      Provide list of container types supported out of the box

      +
    • +
    +
    +
    +
    +
    +

    9.2. ResultIterable

    +
    +

    A ResultIterable represents a result set which has been mapped to a specific type, e.g. a ResultIterable<User>.

    +
    +
    +

    Almost all operations on the ResultIterable interface are terminal operations. When they finish, they close and release all resources, especially the ResultSet and PreparedStatement objects.

    +
    +
    +

    See Statement resource management for more details on how resources are released and should be managed.

    +
    +
    +

    The stream() and iterator() operations are not terminal. They return objects that need to be managed by the caller. See the Resources with Streams and Iterators chapter for more details.

    +
    +
    +

    TODO:

    +
    +
    +
      +
    • +

      one(), list(), first(), findOne(), findFirst()

      +
    • +
    • +

      mention filter, map as non-terminals

      +
    • +
    • +

      collect, reduce

      +
    • +
    • +

      callback consumers for iterator and stream

      +
    • +
    • +

      ResultIterable.forEach, forEachWithCount

      +
    • +
    +
    +
    +

    9.2.1. Finding a Single Result

    +
    +

    ResultIterable.one() returns the only row in the result set. If zero or +multiple rows are encountered, it will throw IllegalStateException.

    +
    +
    +

    ResultIterable.findOne() returns an Optional<T> of the only row in the +result set, or Optional.empty() if no rows are returned.

    +
    +
    +

    ResultIterable.first() returns the first row in the result set. If zero +rows are encountered, IllegalStateException is thrown.

    +
    +
    +

    ResultIterable.findFirst() returns an Optional<T> of the first row, if +any.

    +
    +
    +
    +

    9.2.2. Stream

    +
    +

    Stream integration allows you to use a RowMapper to adapt a ResultSet into the Java Streams framework. The stream will lazily fetch rows from the database as necessary.

    +
    +
    +

    The stream() method returns a Stream<T>. This is not a terminal operation and the stream must be closed to release any database resources held. See Resources with Streams and Iterators for more details.

    +
    +
    +

    The withStream() and useStream() methods pass the Stream into a callback.

    +
    +
    +
    +
    handle.createQuery("SELECT id, name FROM user ORDER BY id ASC")
    +    .map(new UserMapper())
    +    .useStream(stream -> {
    +        Optional<String> first = stream
    +            .filter(u -> u.id > 2)
    +            .map(u -> u.name)
    +            .findFirst();
    +        assertThat(first).contains("Charlie");
    +    });
    +
    +
    +
    +

    These methods handle closing the stream for the caller. The withStream() method allows passing a result back to the caller, useStream() only executed the code in the callback.

    +
    +
    +
    +

    9.2.3. List

    +
    +

    #list emits a List<T>. This necessarily buffers all results in memory.

    +
    +
    +
    +
    List<User> users =
    +    handle.createQuery("SELECT id, name FROM user")
    +        .map(new UserMapper())
    +        .list();
    +
    +
    +
    +
    +

    9.2.4. Collectors

    +
    +

    #collect takes a Collector<T, ?, R> that builds a resulting collection +R<T>. The java.util.stream.Collectors class has a number of interesting +Collector implementations to start with.

    +
    +
    +

    You can also write your own custom collectors. For example, to accumulate +found rows into a Map:

    +
    +
    +
    +
    h.execute("INSERT INTO something (id, name) VALUES (1, 'Alice'), (2, 'Bob'), (3, 'Chuckles')");
    +Map<Integer, Something> users = h.createQuery("SELECT id, name FROM something")
    +    .mapTo(Something.class)
    +    .collect(Collector.of(HashMap::new, (accum, item) -> {
    +        accum.put(item.getId(), item);   // Each entry is added into an accumulator map
    +    }, (l, r) -> {
    +        l.putAll(r);                     // While jdbi does not process rows in parallel,
    +        return l;                        // the Collector contract encourages writing combiners
    +    }, Characteristics.IDENTITY_FINISH));
    +
    +
    +
    +
    +

    9.2.5. Reduction

    +
    +

    #reduce provides a simplified Stream#reduce. Given an identity starting +value and a BiFunction<U, T, U> it will repeatedly combine U until only a +single remains, and then return that.

    +
    +
    +
    +

    9.2.6. ResultSetScanner

    +
    +

    The ResultSetScanner interface accepts a lazily-provided ResultSet +and produces the result Jdbi returns from statement execution.

    +
    +
    +

    Most of the above operations are implemented in terms of ResultSetScanner. +The Scanner has ownership of the ResultSet and may advance or seek it.

    +
    +
    +

    The return value ends up being the final result of statement execution.

    +
    +
    +

    Most users should prefer using the higher level result collectors described above, +but someone’s gotta do the dirty work.

    +
    +
    +
    +
    +

    9.3. Joins

    +
    +

    Joining multiple tables together is a very common database task. It is also +where the mismatch between the relational model and Java’s object model starts +to rear its ugly head.

    +
    +
    +

    Here we present a couple of strategies for retrieving results from more +complicated rows.

    +
    +
    +

    Consider a contact list app as an example. The contact list contains any +number of contacts. Contacts have a name, and any number of phone numbers. +Phone numbers have a type (e.g. home, work) and a phone number:

    +
    +
    +
    +
    class Contact {
    +    Long id;
    +    String name;
    +    List<Phone> phones = new ArrayList<>();
    +
    +    void addPhone(Phone phone) {
    +        phones.add(phone);
    +    }
    +}
    +
    +class Phone {
    +    Long id;
    +    String type;
    +    String phone;
    +}
    +
    +
    +
    +

    We’ve left out getters, setters, and access modifiers for brevity.

    +
    +
    +

    Since we’ll be reusing the same queries, we’ll define them as constants now:

    +
    +
    +
    +
    static final String SELECT_ALL = "SELECT contacts.id c_id, name c_name, "
    +    + "phones.id p_id, type p_type, phones.phone p_phone "
    +    + "FROM contacts LEFT JOIN phones ON contacts.id = phones.contact_id "
    +    + "order by c_name, p_type ";
    +
    +static final String SELECT_ONE = SELECT_ALL + "where phones.id = :id";
    +
    +
    +
    +

    Note that we’ve given aliases (e.g. c_id, p_id) to distinguish columns of +the same name (id) from different tables.

    +
    +
    +

    Jdbi provides a few different APIs for dealing with joined data.

    +
    +
    +

    9.3.1. ResultBearing.reduceRows()

    +
    +

    The +"ResultBearing.reduceRows(U, BiFunction)" +method accepts an accumulator seed value and a lambda function. For each row in +the result set, Jdbi calls the lambda with the current accumulator value and a +RowView over the current row of the +result set. The value returned for each row becomes the input accumulator +passed in for the next row. After the last row has been processed, +reducedRows() returns the last value returned from the lambda.

    +
    +
    +
    +
    List<Contact> contacts = handle.createQuery(SELECT_ALL)
    +    .registerRowMapper(BeanMapper.factory(Contact.class, "c"))
    +    .registerRowMapper(BeanMapper.factory(Phone.class, "p")) (1)
    +    .reduceRows(new LinkedHashMap<Long, Contact>(), (2)
    +        (map, rowView) -> {
    +            Contact contact = map.computeIfAbsent( (3)
    +                rowView.getColumn("c_id", Long.class),
    +                id -> rowView.getRow(Contact.class));
    +
    +            if (rowView.getColumn("p_id", Long.class) != null) { (4)
    +                contact.addPhone(rowView.getRow(Phone.class));
    +            }
    +
    +            return map; (5)
    +        })
    +    .values() (6)
    +    .stream()
    +    .collect(toList()); (7)
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    1Register row mappers for Contact and Phone. Note the "c" and "p" +arguments used—​these are column name prefixes. By registering mappers with +prefixes, the Contact mapper will only map the c_id and c_name +columns, whereas the Phone mapper will only map p_id, p_type, and +p_phone.
    2Use an empty LinkedHashMap +as the accumulator seed, mapped by contact ID. LinkedHashMap is a good +accumulator when selecting multiple master records, since it has fast +storage and lookup while preserving insertion order (which helps honor +ORDER BY clauses). If ordering is unimportant, a HashMap would also +suffice.
    3Load the Contact from the accumulator if we already have it; otherwise, +initialize it through the RowView.
    4If p_id column is not null, load the phone number from the current row +and add it to the current contact.
    5Return the input map (now sporting an additional contact and/or phone) as +the accumulator for the next row.
    6At this point, all rows have been read into memory, and we don’t need the +contact ID keys. So we call Map.values() to get a Collection<Contact>.
    7Collect the contacts into a List<Contact>.
    +
    +
    +

    Alternatively, the +ResultBearing.reduceRows(RowReducer) +variant accepts a RowReducer and +returns a stream of reduced elements.

    +
    +
    +

    For simple master-detail joins, the +ResultBearing.reduceRows(BiConsumer<Map<K,V>,RowView>) +method makes it easy to reduce these joins into a stream of master elements.

    +
    +
    +

    Adapting the example above:

    +
    +
    +
    +
    List<Contact> contacts = handle.createQuery(SELECT_ALL)
    +    .registerRowMapper(BeanMapper.factory(Contact.class, "c"))
    +    .registerRowMapper(BeanMapper.factory(Phone.class, "p"))
    +    .reduceRows((Map<Long, Contact> map, RowView rowView) -> { (1)
    +        Contact contact = map.computeIfAbsent(
    +            rowView.getColumn("c_id", Long.class),
    +            id -> rowView.getRow(Contact.class));
    +
    +        if (rowView.getColumn("p_id", Long.class) != null) {
    +            contact.addPhone(rowView.getRow(Phone.class));
    +        }
    +        (2)
    +    })
    +    .collect(toList()); (3)
    +
    +
    +
    + + + + + + + + + + + + + +
    1The lambda receives a map where result objects will be stored, and a +RowView. The map is a LinkedHashMap, so the result stream will +yield the result objects in the same order they were inserted.
    2No return statement needed. The same map is reused on every row.
    3This reduceRows() invocation produces a Stream<Contact> (i.e. from +map.values().stream(). In this example, we collect the elements into a +list, but we could call any Stream method here.
    +
    +
    +

    You may be wondering about the getRow() and getColumn() calls to rowView. +When you call rowView.getRow(SomeType.class), RowView looks up the +registered row mapper for SomeType, and uses it to map the current row to a +SomeType object.

    +
    +
    +

    Likewise, when you call rowView.getColumn("my_value", MyValueType.class), +RowView looks up the registered column mapper for MyValueType, and uses it +to map the my_value column of the current row to a MyValueType object.

    +
    +
    +

    Now let’s do the same thing, but for a single contact:

    +
    +
    +
    +
    Optional<Contact> contact = handle.createQuery(SELECT_ONE)
    +    .bind("id", contactId)
    +    .registerRowMapper(BeanMapper.factory(Contact.class, "c"))
    +    .registerRowMapper(BeanMapper.factory(Phone.class, "p"))
    +    .reduceRows(LinkedHashMapRowReducer.<Long, Contact> of((map, rowView) -> {
    +      Contact contact = map.orElseGet(() -> rowView.getRow(Contact.class));
    +
    +      if (rowView.getColumn("p_id", Long.class) != null) {
    +        contact.addPhone(rowView.getRow(Phone.class));
    +      }
    +    })
    +    .findFirst();
    +
    +
    +
    +
    +

    9.3.2. ResultBearing.reduceResultSet()

    +
    +

    ResultBearing.reduceResultSet() +is a low-level API similar to reduceRows(), except it provides direct access +to the JDBC ResultSet instead of a RowView for each row.

    +
    +
    +

    This method can provide superior performance compared to reduceRows(), at the +expense of verbosity:

    +
    +
    +
    +
    List<Contact> contacts = handle.createQuery(SELECT_ALL)
    +    .reduceResultSet(new LinkedHashMap<Long, Contact>(),
    +        (acc, resultSet, ctx) -> {
    +            long contactId = resultSet.getLong("c_id");
    +            Contact contact;
    +            if (acc.containsKey(contactId)) {
    +                contact = acc.get(contactId);
    +            } else {
    +                contact = new Contact();
    +                acc.put(contactId, contact);
    +                contact.setId(contactId);
    +                contact.setName(resultSet.getString("c_name"));
    +            }
    +
    +            long phoneId = resultSet.getLong("p_id");
    +            if (!resultSet.wasNull()) {
    +                Phone phone = new Phone();
    +                phone.setId(phoneId);
    +                phone.setType(resultSet.getString("p_type"));
    +                phone.setPhone(resultSet.getString("p_phone"));
    +                contact.addPhone(phone);
    +            }
    +
    +            return acc;
    +        })
    +    .values()
    +    .stream()
    +    .collect(toList());
    +
    +
    +
    +
    +

    9.3.3. JoinRowMapper

    +
    +

    The JoinRowMapper takes a set of types to extract from each row. It uses the +mapping registry to determine how to map each given type, and presents you with +a JoinRow that holds all the resulting values.

    +
    +
    +

    Let’s consider two simple types, User and Article, with a join table named +Author. Guava provides a Multimap class, which is very handy for representing +joined tables like this. Assuming we have mappers already registered:

    +
    +
    +
    +
    h.registerRowMapper(ConstructorMapper.factory(User.class));
    +h.registerRowMapper(ConstructorMapper.factory(Article.class));
    +
    +
    +
    +

    we can then easily populate a Multimap with the mapping from the database:

    +
    +
    +
    +
    Multimap<User, Article> joined = HashMultimap.create();
    +h.createQuery("SELECT * FROM \"user\" NATURAL JOIN author NATURAL JOIN article")
    +    .map(JoinRowMapper.forTypes(User.class, Article.class))
    +    .forEach(jr -> joined.put(jr.get(User.class), jr.get(Article.class)));
    +
    +
    +
    + + + + + +
    + + +While this approach is easy to read and write, it can be inefficient for +certain patterns of data. Consider performance requirements when deciding +whether to use high level mapping or more direct low level access with +handwritten mappers. +
    +
    +
    +

    You can also use it with SqlObject:

    +
    +
    +
    +
    public interface UserArticleDao {
    +
    +    @RegisterJoinRowMapper({User.class, Article.class})
    +    @SqlQuery("SELECT * FROM \"user\" NATURAL JOIN author NATURAL JOIN article")
    +    Stream<JoinRow> getAuthorship();
    +}
    +
    +
    +
    +
    +
    Multimap<User, Article> joined = HashMultimap.create();
    +
    +handle.attach(UserArticleDao.class)
    +    .getAuthorship()
    +    .forEach(jr -> joined.put(jr.get(User.class), jr.get(Article.class)));
    +
    +assertThat(joined).isEqualTo(JoinRowMapperTest.getExpected());
    +
    +
    +
    +
    +
    +
    +
    +

    10. Transactions

    +
    +
    +

    Jdbi provides full support for JDBC transactions.

    +
    +
    +

    10.1. Managed Transactions

    +
    +

    A managed transaction is controlled through Jdbi code and provides a handle with an open transaction to user code.

    +
    +
    +
      +
    • +

      The inTransaction and useTransaction methods on the Jdbi object create a new Handle, open a transaction and pass it to the callback code.

      +
    • +
    • +

      The inTransaction and useTransaction methods on Handle objects open a transaction on the handle itself and then pass it to the callback code. By default, if these methods are called while the handle is already in an open transaction, the existing transaction is reused (no nested transaction is created).

      +
    • +
    +
    +
    +

    Each of these methods also has a variant that allows setting the transaction isolation level. Changing the transaction isolation level within an open transaction is not supported (and will cause an exception).

    +
    +
    +

    At the end of the callback, the transaction is committed, if

    +
    +
    +
      +
    • +

      the code has not thrown an exception

      +
    • +
    • +

      it was not a nested call from another useTransaction/inTransaction callback. In that case, control is handed back to the original caller and the transaction finishes when that callback returns.

      +
    • +
    • +

      the code did not call the rollback() method on the Handle object.

      +
    • +
    +
    +
    +

    Executing a SQL operation in a transaction:

    +
    +
    +
    +
    // use a Jdbi object to create transaction
    +public Optional<User> findUserById(Jdbi jdbi, long id) {
    +    return jdbi.inTransaction(transactionHandle ->
    +            transactionHandle.createQuery("SELECT * FROM users WHERE id=:id")
    +                    .bind("id", id)
    +                    .mapTo(User.class)
    +                    .findFirst());
    +}
    +
    +// use a Handle object to create transaction
    +public Optional<User> findUserById(Handle handle, long id) {
    +    return handle.inTransaction(transactionHandle ->
    +            transactionHandle.createQuery("SELECT * FROM users WHERE id=:id")
    +                    .bind("id", id)
    +                    .mapTo(User.class)
    +                    .findFirst());
    +}
    +
    +
    +
    + + + + + +
    + + +The Nesting Callbacks with managed Handles and Transactions chapter has more information about nesting callbacks with managed handle objects. +
    +
    +
    +
    +

    10.2. Unmanaged Transactions

    +
    +

    Jdbi provides the necessary primitives to control transactions directly from a Handle:

    +
    +
    + +
    +
    +

    Transactions are managed by TransactionHandler implementations. By default, transactions are delegated to the JDBC connection and managed through the connection by the database.

    +
    +
    +

    The transaction handler can be set per Jdbi instance using the setTransactionHandler and getTransactionHandler methods.

    +
    +
    +

    In addition to the standard transaction handler, Jdbi includes a handler that works correctly in a container managed environment and a serializable transaction handler that allows multiple concurrent operations on a single handle to retry transparently.

    +
    +
    +
    +

    10.3. Serializable Transactions

    +
    +

    For more advanced queries, sometimes serializable transactions are required.

    +
    +
    +

    Jdbi includes a transaction runner that is able to retry transactions that abort due to serialization failures.

    +
    +
    + + + + + +
    + + +It is important that your transaction does not have side effects as it may be executed multiple times. +
    +
    +
    +
    +
    // Automatically rerun transactions
    +jdbi.setTransactionHandler(new SerializableTransactionRunner());
    +handle.execute("CREATE TABLE ints (value INTEGER)");
    +
    +// Set up some values
    +handle.execute("INSERT INTO ints (value) VALUES(?)", 10);
    +handle.execute("INSERT INTO ints (value) VALUES(?)", 20);
    +
    +// Run the following twice in parallel, and synchronize
    +ExecutorService executor = Executors.newCachedThreadPool();
    +CountDownLatch latch = new CountDownLatch(2);
    +
    +Callable<Integer> sumAndInsert = () ->
    +        jdbi.inTransaction(TransactionIsolationLevel.SERIALIZABLE, transactionHandle -> {
    +            // Both threads read initial state of table
    +            int sum = transactionHandle.select("SELECT sum(value) FROM ints").mapTo(int.class).one();
    +
    +            // synchronize threads, make sure that they each has successfully read the data
    +            latch.countDown();
    +            latch.await();
    +
    +            // Now do the write.
    +            synchronized (this) {
    +                // handle can be used by multiple threads, but not at the same time
    +                transactionHandle.execute("INSERT INTO ints (value) VALUES(?)", sum);
    +            }
    +            return sum;
    +        });
    +
    +// Both of these would calculate 10 + 20 = 30, but that violates serialization!
    +Future<Integer> result1 = executor.submit(sumAndInsert);
    +Future<Integer> result2 = executor.submit(sumAndInsert);
    +
    +// One of the transactions gets 30, the other will abort and automatically rerun.
    +// On the second attempt it will compute 10 + 20 + 30 = 60, seeing the update from its sibling.
    +// This assertion fails under any isolation level below SERIALIZABLE!
    +assertThat(result1.get() + result2.get()).isEqualTo(30 + 60);
    +
    +executor.shutdown();
    +
    +
    +
    +

    The above test is designed to run two transactions in lock step. Each attempts to read the sum of all rows in the table, and then insert a new row with that sum. We seed the table with the values 10 and 20.

    +
    +
    +

    Without serializable isolation, each transaction reads 10 and 20, and then returns 30. The end result is 30 + 30 = 60, which does not correspond to any serial execution of the transactions!

    +
    +
    +

    With serializable isolation, one of the two transactions is forced to abort and retry. On the second go around, it calculates 10 + 20 + 30 = 60. Adding to 30 from the other, we get 30 + 60 = 90 and the assertion succeeds.

    +
    +
    +
    +
    +
    +

    11. Configuration

    +
    +
    +

    Jdbi aims to be useful out of the box with minimal configuration. If necessary, +there is a wide range of configurations and customizations available to change the +default behavior or add in extensions to handle additional database types.

    +
    +
    +

    Configuration is managed by the +ConfigRegistry class. +Each Jdbi object that represents a distinct database context (for +example, Jdbi itself, a +Handle instance, or an attached +SqlObject class) has a +separate config registry instance.

    +
    +
    +

    When a new context is created, it inherits a copy of its parent +configuration at the time of creation - further modifications to the +original will not affect already created configuration contexts. +Configuration context copies happen when creating a +Handle from +Jdbi, when opening a +SqlStatement from +the Handle, and when attaching or creating an on-demand extension such +as SqlObject.

    +
    +
    +

    A configurable Jdbi object implements the +Configurable interface +which allows modification of its configuration as well as retrieving +the current context’s configuration for use by Jdbi core or +extensions.

    +
    +
    +
    +
    // fetch the config registry object
    +ConfigRegistry config = jdbi.getConfig();
    +
    +// access the SqlStatements configuration object:
    +SqlStatements sqlStatements = jdbi.getConfig(SqlStatements.class);
    +
    +// modify a setting in SqlStatements with a callback
    +jdbi.configure(SqlStatements.class, s -> s.setUnusedBindingAllowed(true));
    +
    +// modify a setting in SqlStatements with direct method invocation
    +jdbi.getConfig(SqlStatements.class).setUnusedBindingAllowed(true);
    +
    +
    +
    +

    The Configurable +interface also adds a number of convenience methods for commonly used +configuration objects.

    +
    +
    +

    See JdbiConfig for more advanced implementation details.

    +
    +
    +

    11.1. core settings

    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ObjectPropertyTypeDefaultDescription

    Arguments

    bindingNullToPrimitivesPermitted

    boolean

    true

    +

    Allows binding null values for primitive types.

    +

    preparedArgumentsEnabled

    boolean

    true

    PreparedArguments speed up argument processing but have some backwards compatibility risk with old (pre-3.24.0) releases.

    untypedNullArgument

    Argument

    NullArgument using Types.OTHER.

    This argument instance is invoked when a null value is assigned to an argument whose type is unknown (this can happen in some corner cases).

    ColumnMappers

    coalesceNullPrimitivesToDefaults

    boolean

    true

    +

    Uses the JDBC default value for primitive types if a SQL NULL value was returned by the database.

    +

    Enums

    enumStrategy

    EnumStrategy

    BY_NAME

    +

    Sets the strategy to map a Java enum value onto a database column. Available strategies are

    +
    + ++++ + + + + + + + + + + +

    BY_NAME

    map the name of the enum from and to the database column

    BY_ORDINAL

    map the ordinal number of the enum value from and to the database column

    Extensions

    allowProxy

    boolean

    true

    +

    Whether Jdbi is allowed to create proxy instances for classes (as extension and on-demand reference). This is useful for debugging when using the generator to create java classes for sql objects.

    +

    failFast

    boolean

    false

    If set to true, extension objects with misconfigured methods will fail at first use of any method. Default is to fail when a misconfigured method is used.

    Handles

    forceEndTransactions

    boolean

    true

    +

    Whether to ensure transaction discipline. If true, transactions must be committed or rolled back before a Handle is closed. If true, any uncommitted +transaction is rolled back and an exception is thrown when the Handle is closed.

    +

    MapMappers

    caseChange

    UnaryOperator<String>

    LOCALE_LOWER

    +

    Defines the strategy for mapping the database column names to key names. Available strategies are:

    +
    + ++++ + + + + + + + + + + + + + + + + + + + + + + +

    NOP

    no name mapping, use name as is

    LOWER

    lowercase column names using the ROOT locale

    UPPER

    uppercase column names using the ROOT locale

    LOCALE_LOWER

    lowercase column names using the current locale

    LOCALE_UPPER

    uppercase column names using the current locale

    +
    +

    Custom strategies can be set by implementing UnaryOperator<String> with custom code.

    +

    ReflectionMappers

    caseChange

    UnaryOperator<String>

    LOCALE_LOWER

    +

    Defines the strategy for mapping the database column names to key names. Available strategies are:

    +
    + ++++ + + + + + + + + + + + + + + + + + + + + + + +

    NOP

    no name mapping, use name as is

    LOWER

    lowercase column names using the ROOT locale

    UPPER

    uppercase column names using the ROOT locale

    LOCALE_LOWER

    lowercase column names using the current locale

    LOCALE_UPPER

    uppercase column names using the current locale

    +
    +

    Custom strategies can be set by implementing UnaryOperator<String> with custom code.

    +

    strictMatching

    boolean

    false

    If true, all database columns must be mapped to a property. If any columns are unmatched or any property is unset, an exception is thrown.

    ResultProducers

    allowNoResults

    boolean

    false

    +

    If false, Jdbi throws an exception if a query does not return a result set object (this is different from an empty result, e.g. no rows in a query). When setting this to true, Jdbi uses an empty result set instead.

    +

    SerializableTransactionRunner.Configuration

    maxRetries

    int

    5

    +

    number of times a transaction is retried if the database reports a serialization error.

    +

    onFailure

    Consumer<List<Exception>>

    <unset>

    Is called whenever a serialization failure occurs. Can be used e.g. for logging.

    onSuccess

    Consumer<List<Exception>>

    <unset>

    Is called once a transaction successfully finishes with any exception that has happened during the transaction execution.

    serializationFailureSqlState

    String

    40001

    SQL state value from a SQLException that is considered a serialization failure. This is defined in the SQL:2011 standard as 40001 but can be different depending on the database.

    SqlArrayTypes

    argumentStrategy

    SqlArrayArgumentStrategy

    SQL_ARRAY

    +

    Sets the strategy on how to bind arrays in the database driver.

    +
    + ++++ + + + + + + + + + + +

    SQL_ARRAY

    create a SQL array using Connection#createArrayOf and call PreparedStatement#setArray. This is the default and any modern JDBC driver should support it.

    OBJECT_ARRAY

    call PreparedStatement#setObject and assume that the driver can handle this.

    SqlStatements

    attachAllStatementsForCleanup

    boolean

    false

    +

    Jdbi supports automatic resource management by attaching statements to their handle so that closing the handle will free up all its resources. +If this setting is true, then statements are attached by default.

    +

    attachCallbackStatementsForCleanup

    boolean

    true

    Similar to attachAllStatementsForCleanup but for statements created in any of the Jdbi callback methods (withHandle, useHandle, inTransaction, useTransaction).

    queryTimeout

    Integer

    <unset>

    Sets the query timeout value in seconds. This value is used to call Statement#setQueryTimeout. Enforcement of the timeout depends on the JDBC driver.

    scriptStatementsNeedSemicolon

    boolean

    true

    Controls whether the statements parsed in a Script object have trailing semicolons or not. This fixes some issues with specific JDBC drivers (e.g. MySQL when using rewriteBatchedStatements=true).

    sqlParser

    SqlParser

    ColonPrefixSqlParser

    +

    The parser used to find the placeholders to bind arguments to.

    +
    +
    +

    Jdbi currently provides the following parsers:

    +
    + ++++ + + + + + + + + + + +

    ColonPrefixSqlParser

    the default parser for :name placeholders.

    HashPrefixSqlParser

    use #name placeholders

    +
    +

    Custom implementations must implement SqlParser and may extend CachingSqlParser to benefit from caching.

    +

    sqlLogger

    SqlLogger

    <unset>

    Controls logging around statement execution. A SqlLogger instance receives the statement context before and after query execution and the context and an exception in case of an execution problem.

    +

    Jdbi provides Slf4jSqlLogger for the popular slf4j logging framework.

    templateEngine

    TemplateEngine

    DefineAttributeTemplateEngine

    +

    The template engine to render SQL statements and substitute placeholders with values that have been defined on a statement (This is for defined attributes, not bound attributes!).

    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    jdbi core

    DefineAttributeTemplateEngine

    the default engine, replaces angle-bracket placeholders (<name>).

    jdbi core

    NoTemplateEngine

    Ignore all defined values, do not do any substitutions.

    jdbi commons-text

    StringSubstitutorTemplateEngine

    use the Apache Commons Text StringSubstitutor class

    jdbi freemarker

    FreemarkerEngine

    use Apache Freemarker.

    jdbi stringtemplate4

    StringTemplateEngine

    use StringTemplate 4.

    +
    +

    Custom implementations must implement TemplateEngine.

    +

    unusedBindingsAllowed

    boolean

    false

    All bindings to a SQL operation must be used or an exception is thrown. If this setting is true, then unused bindings in a SQL operation are +ignored.

    StatementExceptions

    lengthLimit

    int

    1024

    +

    Controls the maximum length for variable length strings when they are rendered using the SHORT_STATEMENT message rendering strategy.

    +

    messageRendering

    MessageRendering

    SHORT_STATEMENT

    +

    Sets the message rendering strategy when fetching the message from a StatementException and its subclasses.

    +
    +
    +

    Controls how error messages from a Statement are displayed (e.g. for logging).

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    NONE

    only render the statement exception message itself, do not add any information.

    PARAMETERS

    include exception message and the bound parameters

    SHORT_STATEMENT

    include exception message, SQL statement and the bound parameters. Truncate the SQL statement and the list of parameters each to the value of lengthLimit

    DETAIL

    include exception message, unrendered SQL statement, rendered SQL statement, parsed SQL statement and binding parameters.

    +
    +
    +

    11.2. SQLObject configuration settings

    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    ObjectPropertyTypeDefaultDescription

    SqlObjects

    sqlLocator

    SqlLocator

    AnnotationSqlLocator

    +

    Sets the locator for finding SQL statements. Default is to look for SQL operation annotations.

    +
    +
    +

    Jdbi provides two implementations of the SqlLocator interface:

    +
    + ++++ + + + + + + + + + + +

    AnnotationSqlLocator

    Use annotations ( +@SqlBatch, +@SqlCall, +@SqlQuery, +@SqlUpdate and +@SqlScript) to locate SQL statements

    SqlObjectClasspathSqlLocator

    Associates a class or interface with a file located on the classpath (com.foo.Bar#query() becomes com/foo/Bar/query.sql) and loads the SQL from that file. The file may contain comments which are stripped.

    TimestampedConfig

    timezone

    ZoneId

    system zone id

    +

    Sets the timezone for the @Timestamped annotation.

    +
    +
    +
    +

    11.3. other configuration settings

    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ObjectPropertyTypeDefaultDescription

    JsonConfig

    jsonMapper

    JsonMapper

    see description

    +

    Sets the JSON implementation used to serialize and deserialize json columns. Needs to be set when using the generic Json serialization/deserialization mapper. When installing the jdbi3-gson2, jdbi3-jackson2 or jdbi3-moshi plugin, this is automatically set to the provided implementation.

    +
    +
    +

    If none of these modules is loaded, it defaults to an implementation that throws an exception whenever serialization or deserialization is attempted.

    +

    Gson2Config

    gson

    Gson

    A Gson instance created with the default constructor.

    +

    Sets the Gson object used to parse and render json text.

    +

    Jackson2Config

    mapper

    ObjectMapper

    An ObjectMapper instance created with the default constructor.

    +

    Sets the object mapper instance used to parse and render json text.

    +

    deserializationView

    Class<?>

    <unset>

    +

    Sets a view (see @JsonView) for deserialization. Can be used to limit the values read when mapping a json column.

    +

    serializationView

    Class<?>

    <unset>

    +

    Sets a view (see @JsonView) for serialization. Can be used to limit the values written when using a json argument.

    +

    view

    Class<?>

    <unset>

    +

    Sets a view (see @JsonView) for serialization and deserialization. Can be used to limit the values read and written by json arguments and mappers.

    +

    MoshiConfig

    moshi

    Moshi

    A Moshi instance created with the default constructor.

    +

    Sets the Moshi instance used to parse and render json text.

    +

    FreemarkerConfig

    freemarkerConfiguration

    Configuration

    The default configuration object.

    +

    Sets the freemarker configuration object for the template engine. See the freemarker documentation for details. +The default configuration has the following modifications for Jdbi:

    +
    +
    +
      +
    • +

      uses Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS

      +
    • +
    • +

      configures a class template loader that loads templates from the root of the class path.

      +
    • +
    • +

      the number format is set to computer.

      +
    • +
    +

    StringTemplates

    failOnMissingAttribute

    boolean

    false

    +

    If true, fail rendering a template if a referenced attribute is missing.

    +
    +
    +
    +
    +
    +

    12. SQL Arrays

    +
    +
    +

    Jdbi can bind/map Java arrays to/from SQL arrays:

    +
    +
    +
    +
    handle.createUpdate("INSERT INTO groups (id, user_ids) VALUES (:id, :userIds)")
    +    .bind("id", 1)
    +    .bind("userIds", new int[] {10, 5, 70})
    +    .execute();
    +
    +int[] userIds = handle.createQuery("SELECT user_ids FROM groups WHERE id = :id")
    +    .bind("id", 1)
    +    .mapTo(int[].class)
    +    .one();
    +
    +
    +
    +

    You can also use Collections in place of arrays, but you’ll need to provide +the element type if you’re using the fluent API, since it’s erased:

    +
    +
    +
    +
    handle.createUpdate("INSERT INTO groups (id, user_ids) VALUES (:id, :userIds)")
    +    .bind("id", 1)
    +    .bindArray("userIds", int.class, Arrays.asList(10, 5, 70))
    +    .execute();
    +
    +List<Integer> userIds = handle.createQuery("SELECT user_ids FROM groups WHERE id = :id")
    +    .bind("id", 1)
    +    .mapTo(new GenericType<List<Integer>>() {})
    +    .one();
    +
    +
    +
    +

    Use @SingleValue for mapping an array result with the SqlObject API:

    +
    +
    +
    +
    public interface GroupsDao {
    +    @SqlQuery("SELECT user_ids FROM groups WHERE id = ?")
    +    @SingleValue
    +    List<Integer> getUserIds(int groupId);
    +}
    +
    +
    +
    +

    12.1. Registering array types

    +
    +

    Any Java array element type you want binding support for needs to be registered +with Jdbi’s SqlArrayTypes registry. An array type that is directly supported +by your JDBC driver can be registered using:

    +
    +
    +
    +
    jdbi.registerArrayType(int.class, "integer");
    +
    +
    +
    +

    Here, "integer" is the SQL type name that the JDBC driver supports natively.

    +
    +
    + + + + + +
    + + +Plugins like PostgresPlugin and H2DatabasePlugin automatically +register the most common array element types for their respective databases. +
    +
    +
    + + + + + +
    + + +Postgres supports enum array types, so you can register an array type for +enum Colors { red, blue } using jdbi.registerArrayType(Colors.class, "colors") +where "colors" is a user-defined enum type name in your database. +
    +
    +
    +
    +

    12.2. Binding custom array types

    +
    +

    You can also provide your own implementation of SqlArrayType that converts +a custom Java element type to a type supported by the JDBC driver:

    +
    +
    +
    +
    class UserArrayType implements SqlArrayType<User> {
    +
    +    @Override
    +    public String getTypeName() {
    +        return "integer";
    +    }
    +
    +    @Override
    +    public Object convertArrayElement(User user) {
    +        return user.getId();
    +    }
    +}
    +
    +
    +
    +

    You can now bind instances of User[] to arguments of data type integer[]:

    +
    +
    +
    +
    User user1 = new User(1, "bob");
    +User user2 = new User(42, "alice");
    +
    +handle.registerArrayType(new UserArrayType());
    +handle.createUpdate("INSERT INTO groups (id, user_ids) VALUES (:id, :users)")
    +    .bind("id", 1)
    +    .bind("users", new User[] {user1, user2})
    +    .execute();
    +
    +
    +
    + + + + + +
    + + +Like the Arguments Registry, if there are multiple SqlArrayType s +registered for the same data type, the last registered wins. +
    +
    +
    +
    +

    12.3. Mapping array types

    +
    +

    SqlArrayType only allows you to bind Java array/collection arguments to their +SQL counterparts. To map SQL array columns back to Java types, you can register +a regular ColumnMapper:

    +
    +
    +
    +
    public class UserIdColumnMapper implements ColumnMapper<UserId> {
    +    @Override
    +    public UserId map(ResultSet rs, int col, StatementContext ctx) throws SQLException {
    +        return new UserId(rs.getInt(col));
    +    }
    +}
    +
    +
    +
    +
    +
    handle.registerColumnMapper(new UserIdColumnMapper());
    +List<UserId> userIds = handle.createQuery("SELECT user_ids FROM groups WHERE id = :id")
    +    .bind("id", 1)
    +    .mapTo(new GenericType<List<UserId>>() {})
    +    .one();
    +
    +
    +
    + + + + + +
    + + +Array columns can be mapped to any container type registered with the +JdbiCollectors registry. E.g. a VARCHAR[] may be mapped to an +ImmutableList<String> if the Guava plugin is installed. +
    +
    +
    +
    +
    +
    +

    13. SQL Objects

    +
    +
    +

    SQL Objects are a declarative-style extension to the fluent-style, programmatic Core APIs. SQL Objects are implemented as an extension to the core API using the +Extension framework.

    +
    +
    +

    To start using the SQL Object plugin, add a dependency to your project:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependencies>
    +    <dependency>
    +        <groupId>org.jdbi</groupId>
    +        <artifactId>jdbi3-sqlobject</artifactId>
    +        <version>3.45.2</version>
    +    </dependency>
    +</dependencies>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-sqlobject:3.45.2")
    +}
    +
    +
    +
    +

    Then install the plugin into the Jdbi instance:

    +
    +
    +
    +
    Jdbi jdbi = ...
    +jdbi.installPlugin(new SqlObjectPlugin());
    +
    +
    +
    +

    With SQL Object, you declare a public interface class as a SQL Object extension type, add methods for database operations, and specify what SQL statement to +execute.

    +
    +
    +

    You can specify what each method does in one of two ways:

    +
    +
    +
      +
    • +

      Annotate the method with a SQL method annotation. Jdbi provides a number of these +annotations out of the box.

      +
    • +
    • +

      Use Java interface default methods, and provide your own implementation in the method body.

      +
    • +
    +
    +
    +

    At runtime, you can request an instance of your interface, and Jdbi synthesizes +an implementation based on the annotations and methods you declared.

    +
    +
    +

    13.1. SQL Method annotations

    +
    +

    Interface methods can be annotated with one of Jdbi’s SQL method annotations:

    +
    +
    +
      +
    • +

      @SqlQuery - select operations that return data

      +
    • +
    • +

      @SqlUpdate - insert, update, delete etc. operations that modify data

      +
    • +
    • +

      @SqlBatch - bulk operations

      +
    • +
    • +

      @SqlCall - call stored procedures

      +
    • +
    • +

      @SqlScript - execute multiple statements as a script

      +
    • +
    +
    +
    +

    As with any extension type, parameters to the method are used as arguments. For the SQL Object extension, the arguments are passed to the statement, and the SQL statement result is mapped to the method return type.

    +
    +
    +

    SQL Object provides data mapping onto return types, argument mapping and mapper annotations to allow fully declarative definition of SQL queries.

    +
    +
    +

    13.1.1. @SqlQuery

    +
    +

    Use the @SqlQuery annotation for select operations. Each operation may return one or more rows which are mapped onto a return type by the SQL Object extension.

    +
    +
    +

    This is an example for a simple query:

    +
    +
    +
    +
    @SqlQuery("SELECT id, name FROM users") (1)
    +List<User> retrieveUsers(); (2)
    +
    +
    +
    + + + + + + + + + +
    1defines the SQL query that gets executed
    2The method can return any type. The SQL Object framework will map the response from the SQL query onto this data type.
    +
    +
    +

    The SQL Object plugin uses the same configuration as the Jdbi core framework. Row and column mappers need to be registered to map to the correct types. This can be done through configuration or by using Mapper annotations.

    +
    +
    +
    +

    13.1.2. @SqlUpdate

    +
    +

    Use the @SqlUpdate annotation for operations that modify data (i.e. inserts, updates, deletes).

    +
    +
    +

    This is an example that uses PreparedStatement placeholders (?) for arguments:

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlUpdate("INSERT INTO users (id, name) VALUES (?, ?)") (1)
    +    void insert(long id, String name); (2)
    +}
    +
    +
    +
    + + + + + + + + + +
    1Method arguments are bound to the ? token in the SQL statement at their respective positions.
    2id is bound to the first placeholder (?), and name to the second placeholder.
    +
    +
    + + + + + +
    + + +@SqlUpdate can also be used for DDL (Data Definition Language) operations like creating or altering tables. However, we recommend using a schema migration tool such +as Flyway or Liquibase to maintain your database schemas. +
    +
    +
    +

    By default, a @SqlUpdate method may declare one of these return types:

    +
    +
    +
      +
    • +

      void - no return value

      +
    • +
    • +

      int or long - returns the update count. Depending on the database vendor and JDBC driver, this may be either the number of rows changed, or the number +matched by the query (regardless of whether any data was changed).

      +
    • +
    • +

      boolean - returns true if the update count is greater than zero.

      +
    • +
    +
    +
    +

    Some databases also support returning additional values. See the @GetGeneratedKeys annotation for more details.

    +
    +
    +
    +

    13.1.3. @SqlBatch

    +
    +

    Use the @SqlBatch annotation for bulk update operations. It works similar to the PreparedBatch operation in the Jdbi core.

    +
    +
    +
    +
    public interface ContactDao {
    +    @SqlBatch("INSERT INTO contacts (id, name, email) VALUES (?, ?, ?)")
    +    void bulkInsert(List<Integer> ids,  (1)
    +                    Iterator<String> names, (2)
    +                    String... emails); (3)
    +}
    +
    +
    +
    + + + + + + + + + + + + + +
    1a collection argument for the batch operation
    2an iterable argument for the batch operation
    3a varargs argument for the batch operation
    +
    +
    +

    When a batch method is called, it iterates through the method’s iterable parameters (collections, iterables, varargs etc.), and executes the SQL statement with the corresponding elements from each parameter.

    +
    +
    +

    Thus, a statement like:

    +
    +
    +
    +
    contactDao.bulkInsert(
    +    ImmutableList.of(1, 2, 3),
    +    ImmutableList.of("foo", "bar", "baz").iterator(),
    +    "a@example.com", "b@example.com", "c@fake.com");
    +
    +
    +
    +

    would execute:

    +
    +
    +
    +
    INSERT INTO contacts (id, name, email) VALUES (1, 'foo', 'a@example.com');
    +INSERT INTO contacts (id, name, email) VALUES (2, 'bar', 'b@example.com');
    +INSERT INTO contacts (id, name, email) VALUES (3, 'baz', 'c@fake.com');
    +
    +
    +
    +

    Constant values may also be used as parameters to a SQL batch. In this case, +the same value is bound to that parameter for every SQL statement in the batch.

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlBatch("INSERT INTO users (tenant_id, id, name) " +
    +              "VALUES (:tenantId, :user.id, :user.name)")
    +    void bulkInsert(@Bind("tenantId") long tenantId, (1)
    +        @BindBean("user") User... users);
    +}
    +
    +
    +
    + + + + + +
    1Insert each user record using the same tenant_id. See SQL Object arguments mapping for details about the @Bind annotation.
    +
    +
    + + + + + +
    + + +Any method annotated with @SqlBatch must have at least one iterable parameter. +
    +
    +
    +

    By default, methods annotated with @SqlBatch may declare one of these +return types:

    +
    +
    +
      +
    • +

      void - no return value

      +
    • +
    • +

      int[] or long[] - returns the update count per execution in the batch. Depending on the database vendor and JDBC driver, this may be either the number of +rows changed by a statement, or the number matched by the query (regardless of whether any data was changed).

      +
    • +
    • +

      boolean[] - returns true if the update count is greater than zero, one value for each execution in the batch.

      +
    • +
    +
    +
    +
    +

    13.1.4. @SqlCall

    +
    +

    Use the @SqlCall annotation to call stored procedures.

    +
    +
    +
    +
    public interface AccountDao {
    +    @SqlCall("{call suspend_account(:id)}")
    +    void suspendAccount(long id);
    +}
    +
    +
    +
    +

    @SqlCall methods can return void, or may return +OutParameters if the stored procedure has any output parameters. Each output parameter must be registered +with the @OutParameter annotation.

    +
    +
    +

    Returning an OutParameters object from an extension method is incompatible with on-demand objects. Any other extension method can be used to create extension objects that can provide output parameters. Alternatively, it is possible to use consumer or function arguments with on-demand extensions.

    +
    +
    +
    +
    public interface OrderDao {
    +    // only works with Handle#attach() or Jdbi#withExtension() / Jdbi#useExtension()
    +    @SqlCall("{call prepare_order_from_cart(:cartId, :orderId, :orderTotal)}")
    +    @OutParameter(name = "orderId",    sqlType = java.sql.Types.BIGINT)
    +    @OutParameter(name = "orderTotal", sqlType = java.sql.Types.DECIMAL)
    +    OutParameters prepareOrderFromCart(@Bind("cartId") long cartId);
    +
    +    // using a consumer argument works with any extension method
    +    @SqlCall("{call prepare_order_from_cart(:cartId, :orderId, :orderTotal)}")
    +    @OutParameter(name = "orderId",    sqlType = java.sql.Types.BIGINT)
    +    @OutParameter(name = "orderTotal", sqlType = java.sql.Types.DECIMAL)
    +    void prepareOrderFromCart(@Bind("cartId") long cartId, Consumer<OutParameters> consumer);
    +
    +    // using a function argument also works with any extension method
    +    @SqlCall("{call prepare_order_from_cart(:cartId, :orderId, :orderTotal)}")
    +    @OutParameter(name = "orderId",    sqlType = java.sql.Types.BIGINT)
    +    @OutParameter(name = "orderTotal", sqlType = java.sql.Types.DECIMAL)
    +    SomeResult prepareOrderFromCart(@Bind("cartId") long cartId, Function<OutParameters, SomeResult> function);
    +}
    +
    +
    +
    +

    Individual output parameters can be extracted from the +OutParameters object:

    +
    +
    +
    +
    db.useExtension(OrderDao.class, orderDao -> {
    +    OutParameters outParams = orderDao.prepareOrderFromCart(cartId);
    +    long orderId = outParams.getLong("orderId");
    +    double orderTotal = outParams.getDouble("orderTotal");
    +    ...
    +});
    +
    +
    +
    +

    @SqlCall supports special arguments for OutParameters processing.

    +
    +
    +
    +

    13.1.5. @SqlScript

    +
    +

    Use @SqlScript to execute one or more statements in a batch.

    +
    +
    +

    While @SqlBatch executes the same SQL statement with different values, the @SqlScript annotation executes different SQL statements without explicit data bound to each statement.

    +
    +
    +
    +
    @SqlScript("CREATE TABLE <name> (pk int primary key)")  (1)
    +void createTable(@Define String name); (2)
    +
    +@SqlScript("INSERT INTO cool_table VALUES (5), (6), (7)")
    +@SqlScript("DELETE FROM cool_table WHERE pk > 5")
    +int[] doSomeUpdates(); // returns [ 3, 2 ]
    +
    +@UseClasspathSqlLocator (3)
    +@SqlScript (4)
    +@SqlScript("secondScript") (5)
    +int[] externalScript();
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    1Sql scripts can use substitute placeholders. The default template engine uses angle brackets (< and >).
    2The @Define annotation provides values for the placeholder attributes
    3The @UseClasspathSqlLocator annotation loads SQL templates from the classpath
    4Use the name of the annotated method to locate the script
    5specify the script name in the annotation
    +
    +
    +

    By default, methods annotated with @SqlScript may declare one of these return types:

    +
    +
    +
      +
    • +

      void - no return value

      +
    • +
    • +

      int[] or long[] - return value of each statement executed. Depending on the database vendor and JDBC driver, this may be either the number of rowsreturn +nothing changed by a statement, or the number matched by the query (regardless of whether any data was changed).

      +
    • +
    • +

      boolean[] - returns true if the update count is greater than zero, one value for each statement in the script.

      +
    • +
    +
    +
    +
    +
    +

    13.2. Using SQL Objects

    +
    +

    SQL Object types are regular Java interfaces classes that must be public. Once they have been defined, there are multiple ways to use them. They differ in the lifecycle of the underlying Handle object:

    +
    +
    +
      +
    • +

      attached to an existing handle object

      +
    • +
    +
    +
    +

    The Handle#attach() method uses an existing handle to create a SQL object instance:

    +
    +
    +
    +
    try (Handle handle = jdbi.open()) {
    +    ContactPhoneDao dao = handle.attach(ContactPhoneDao.class);
    +    dao.insertFullContact(contact);
    +}
    +
    +
    +
    +

    Attached SQL Objects have the same lifecycle as the handle—​when the handle is closed, the SQL Object becomes unusable.

    +
    +
    +
      +
    • +

      using Jdbi extension methods

      +
    • +
    +
    +
    +

    SQL Object types can be created using +Jdbi#withExtension() +for operations that return a result, or +Jdbi#useExtension() +for operations with no result. These methods take a callback (or a lambda object) and provide it with a managed instance of the SQL object type:

    +
    +
    +
    +
    jdbi.useExtension(ContactPhoneDao.class, dao -> dao.insertFullContact(alice));
    +long bobId = jdbi.withExtension(ContactPhoneDao.class, dao -> dao.insertFullContact(bob));
    +
    +
    +
    +
      +
    • +

      creating an on-demand object

      +
    • +
    +
    +
    +

    On-demand instances are constructed with the Jdbi#onDemand() method. They have an open-ended lifecycle, as they obtain and release a connection for each method call. They are thread-safe, and may be reused across an application.

    +
    +
    +
    +
    ContactPhoneDao dao = jdbi.onDemand(ContactPhoneDao.class);
    +long aliceId = dao.insertFullContact(alice); (1)
    +long bobId = dao.insertFullContact(bob); (1)
    +
    +
    +
    + + + + + +
    1each of these operations creates and releases a new database connection.
    +
    +
    +

    The performance of on-demand objects depends on the database and database connection pooling. For performance critical operations, it may be better to manage the handle manually and use attached objects.

    +
    +
    +

    On-demand instances open and close the underlying PreparedStatement objects for every call to an extension method. They are incompatible with any object or operation that relies on an open statement to retrieve data from the database (e.g. Stream and Iterator for query operations or OutParameters for call operations). It is possible to use consumer or function arguments to process these values as the callback is executed while the statement is still open.

    +
    +
    +

    13.2.1. Interface default methods

    +
    +

    Interface default methods on a SQL object type can provide custom code functionality that uses the same handle as the SQL Object methods.

    +
    +
    +

    The SQL object framework manages the underlying handle so that calling a method on the same object on the same thread will use the same Handle object. If the handle is managed by the framework, it will only be closed when the outermost method exits.

    +
    +
    +
    +
    @Test
    +void testDefaultMethod() {
    +    UserDao dao = jdbi.onDemand(UserDao.class);
    +
    +    assertThat(dao.findUser(1))
    +            .isPresent()
    +            .contains(new User(1, "Alice"));
    +
    +    dao.changeName(1, "Alex"); (1)
    +
    +    assertThat(dao.findUser(1))
    +            .isPresent()
    +            .contains(new User(1, "Alex"));
    +}
    +
    +interface UserDao {
    +
    +    @SqlQuery("SELECT * FROM users WHERE id = :id")
    +    Optional<User> findUser(int id);
    +
    +    @SqlUpdate("UPDATE users SET name = :name WHERE id = :user.id")
    +    void updateUser(@BindMethods("user") User user, String name);
    +
    +    default void changeName(int id, String name) {
    +        findUser(id).ifPresent(user -> updateUser(user, name));  (2)
    +    }
    +}
    +
    +
    +
    + + + + + + + + + +
    1The changeName() method is called by the user code
    2The implementation will call both findUser() and updateUser() with the same handle object.
    +
    +
    +
    +
    +

    13.3. SQL Object method arguments

    +
    +

    All SQL Object methods support method arguments. Method arguments are mapped onto SQL statement parameters.

    +
    +
    +

    13.3.1. Mapping arguments to positional parameters

    +
    +

    By default, arguments passed to the method are bound as positional parameters in the SQL statement:

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlUpdate("INSERT INTO users (id, name) VALUES (?, ?)") (1)
    +    void insert(long id, String name); (2)
    +}
    +
    +
    +
    + + + + + + + + + +
    1declares two positional parameters
    2provides two method parameters. id will be bound as the first, name as the second parameter.
    +
    +
    +

    This matches the PreparedStatement way of binding arguments to a statement. Jdbi binds the arguments as the correct types and convert them if necessary.

    +
    +
    +
    +

    13.3.2. Mapping arguments to named parameters

    +
    +

    The Jdbi core supports named parameters in SQL statements. When using the SQL Object extension, those can be bound to specific method arguments using annotations.

    +
    +
    +

    The @Bind annotation binds a single method argument to a named parameter:

    +
    +
    +
    +
    @SqlUpdate("INSERT INTO users (id, name) VALUES (:id, :name)") (1)
    +void insert(@Bind("name") String name, @Bind("id") long id); (2)
    +
    +
    +
    + + + + + + + + + +
    1The SQL statement uses two named parameters, :id and :name
    2The method declaration annotates each parameter with the @Bind annotation with matching names. The order is not important as each method parameter is explicitly named
    +
    +
    +

    Similar to the methods on the Handle, arguments can be bound in many different ways:

    +
    +
    +
    Bind any iterable object with @BindList
    +
    +

    Any Java object that implements the Iterable interface can be bound using the @BindList annotation. This +will iterate the elements in 'a,b,c,d,…​' form.

    +
    +
    + + + + + +
    + + +This annotation requires you to use a template placeholder (using the <field> notation when using the default template engine), similar to the SqlStatement#bindList() method. Templates placeholders are incompatible with batch operations such as PreparedBatch as they are evaluated only once and the evaluated statement is cached. If subsequent batch executions use an iterable object with a different size, the number of placeholders and arguments will not match. If the database supports array types, it is strongly recommended to use bindArray() with a SQL array instead of the bindList() method. +
    +
    +
    +
    +
    @SqlQuery("SELECT name FROM users WHERE id in (<userIds>)")
    +List<String> getFromIds(@BindList("userIds") List<Long> userIds)
    +
    +
    +
    +
    +
    Bind map instances with @BindMap
    +
    +

    Entries from a Map can be bound using the @BindMap annotation. Each entry from the map is bound as a named parameter using the map key as the name and the map value as the value. Jdbi will bind the values as the correct types and convert them if necessary:

    +
    +
    +
    +
    @SqlUpdate("INSERT INTO users (id, name) VALUES (:id, :name)")  (1)
    +void insert(@BindMap Map<String, ?> map); (2)
    +
    +
    +
    + + + + + + + + + +
    1The SQL statement expects two named parameters, :id and :name
    2Jdbi will look for two keys, id and a name in the map. The values for these keys are bound to the parameters.
    +
    +
    +
    +
    Bind bean getters with @BindBean
    +
    +

    Java Bean getters can be bound with the @BindBean annotation:

    +
    +
    +
    +
        class UserBean {
    +
    +    private int id;
    +    private String name;
    +
    +    public UserBean() {}
    +
    +    public void setId(int id) {
    +        this.id = id;
    +    }
    +
    +    public void setName(String name) {
    +        this.name = name;
    +    }
    +
    +    public int getId() {
    +        return id;
    +    }
    +
    +    public String getName() {
    +        return name;
    +    }
    +}
    +
    +    @SqlUpdate("INSERT INTO users (id, name) VALUES (:id, :name)")
    +    void insertUserBean(@BindBean UserBean user);
    +
    +
    +
    +

    This annotation uses the Java Bean syntax for getters.

    +
    +
    +
    +
    Bind parameterless public methods with @BindMethods
    +
    +

    Similar to @BindBean, the @BindMethods annotation bean methods as parameters. For each binding, it looks for a method with the same name:

    +
    +
    +
    +
        class User {
    +
    +    private final int id;
    +    private final String name;
    +
    +    public User(int id, String name) {
    +        this.id = id;
    +        this.name = name;
    +    }
    +
    +    public int id() {
    +        return id;
    +    }
    +
    +    public String name() {
    +        return name;
    +    }
    +}
    +
    +    @SqlUpdate("INSERT INTO users (id, name) VALUES (:id, :name)")
    +    void insertUser(@BindMethods User user);
    +
    +
    +
    + + + + + +
    + + +When using Java 14+ record types, all getters from the record can be bound using the @BindMethods annotation. +
    +
    +
    +
    +
    Bind public fields from a java object with @BindFields
    +
    +

    Many objects offer public fields instead of getters. Those can be bound by using the @BindFields annotation:

    +
    +
    +
    +
        class UserField {
    +
    +    public int id;
    +    public String name;
    +}
    +
    +    @SqlUpdate("INSERT INTO users (id, name) VALUES (:id, :name)")
    +    void insertUserField(@BindFields UserField user);
    +
    +
    +
    +
    +
    Using object prefixes
    +
    +

    The `@BindMap, @BindBean, @BindMethods, and @BindFields annotations support an optional prefix:

    +
    +
    +
    +
    @SqlUpdate("INSERT INTO users (id, name) VALUES (:user.id, :user.name)")
    +(1)
    +void insertUserBeanPrefix(@BindBean("user") UserBean user); (2)
    +
    +
    +
    + + + + + + + + + +
    1The id and name parameters are prefixed with user.
    2The User object which provides the values uses a prefix. The user.id parameter will be mapped to the getId() method of this bean and the user.name parameter to the getName() method.
    +
    +
    +

    By providing prefixes, it is possible to use multiple objects with different prefixes or mix map and regular bound parameters.

    +
    +
    +
    +
    @SqlUpdate("INSERT INTO users (id, name, password) VALUES (:user.id, :user.name, :password)")
    +void insert(@BindMap("user") Map<String, ?> map, @Bind("password") String password);
    +
    +
    +
    +

    Even if the provided map would contain a key named password, it would not be used, because all values from the map are bound with the user prefix.

    +
    +
    +
    +
    Using nested properties
    +
    +

    Similar to the Core API, the @BindBean, @BindFields, and @BindMethods annotation will also map nested properties.

    +
    +
    +

    A Java object that returns a nested object can be bound and then nested properties are addressed using e.g. :user.address.street.

    +
    +
    +

    This functionality is not available for Map objects that have been bound with @BindMap. Map keys must match the bound parameter name.

    +
    +
    +
    +
        class NestedUser {
    +
    +    private final User user;
    +    private final String tag;
    +
    +    public NestedUser(User user, String tag) {
    +        this.user = user;
    +        this.tag = tag;
    +    }
    +
    +    public User user() {
    +        return user;
    +    }
    +
    +    public String tag() {
    +        return tag;
    +    }
    +}
    +
    +    @SqlUpdate("INSERT INTO users (id, name) VALUES (:user.id, :user.name)")
    +    void insertUser(@BindMethods NestedUser user);
    +
    +
    +
    + + + + + +
    + + +"Mixes style" nested properties are not supported. Any nested object will be inspected in the same way as the root object. All nested objects must use either bean-style, methods or fields. +
    +
    +
    +
    +
    +

    13.3.3. Mapping arguments to Java parameter names

    +
    +

    When compiling a project with parameter names enabled, the @Bind annotation is not needed. SQLObjects will bind un-annotated parameters to their names.

    +
    +
    +
    +
    @SqlUpdate("INSERT INTO users (id, name) VALUES (:id, :name)")
    +void insert(long id, String name);
    +
    +
    +
    +
    +

    13.3.4. Consumer and Function arguments

    +
    +
    Consumer arguments
    +
    +

    In addition to the regular method arguments for a SQL Object method, it is possible to use a single Consumer<T> or Function<T> argument in addition to other arguments.

    +
    +
    +

    A consumer argument is a special return type for SQL operations. They can be used to consume the results from a SQL operation with a callback instead of returning a value from the method.

    +
    +
    +

    Any SQL operation method that wants to use a consumer argument must return void. It can declare only a single consumer argument, but can have additional regular method arguments. The consumer argument can be in any position in the argument list. .

    +
    +
    +

    Unless the type T is a Stream, Iterator or Iterable, the consumer is executed once for each row in the result set. The static type of parameter T determines the row type.

    +
    +
    +
    +
    @SqlQuery("SELECT * FROM users WHERE id = :id")
    +@RegisterConstructorMapper(User.class)
    +void consumeUser(int id, Consumer<User> consumer); (1)
    +
    +@SqlQuery("SELECT * FROM users")
    +@RegisterConstructorMapper(User.class)
    +void consumeMultiUsers(Consumer<User> consumer); (2)
    +
    +
    +
    + + + + + + + + + +
    1This SQL operation may return no or just one result. The consumer argument will only be invoked if a user exists.
    2This SQL operation may return multiple results. It will invoke the consumer argument once for every result.
    +
    +
    +

    If the consumer implements Stream, Iterator or Iterable, then the consumer is executed once with the corresponding object holding the results. The static type of parameter T determines the mapped row type here as well. If the result set is empty, the SQL Object framework may not call the consumer or may call it with an empty result object.

    +
    +
    +
    +
    @SqlQuery("SELECT * FROM users")
    +@RegisterConstructorMapper(User.class)
    +void consumeMultiUserIterable(Consumer<Iterable<User>> consumer); (1)
    +
    +
    +
    + + + + + +
    1This consumer argument is called once if any number of results are present. It may be called with an empty iterable object or not at all if no results are present.
    +
    +
    + + + + + +
    + + +When using Consumer<Iterable> as a consumer argument, the Iterable object passed into the consumer is NOT a general-purpose Iterable as it supports only a single invocation of the Iterable#iterator() method. Invoking it the iterator method again to obtain a second or subsequent iterator may throw IllegalStateException. +
    +
    +
    +
    +
    Function arguments
    +
    +

    A function argument can be used to collect or transform the result from a SQL operation. Similar to a consumer argument, it will receive the results of the query. A function argument only supports Stream, Iterator or Iterable as the function input type. The result type of the function must match the return type of the method itself.

    +
    +
    +
    +
    @SqlQuery("SELECT * FROM users")
    +@RegisterConstructorMapper(User.class)
    +Set<User> mapUsers(Function<Stream<User>, Set<User>> function); (1)
    +
    +
    +
    + + + + + +
    1The results of the SQL operation are passed as a stream into the Function. It returns a set which is then returned by the method.
    +
    +
    +
    +
    @SqlCall Consumer and Function arguments
    +
    +

    The @SqlCall annotation supports either a Consumer argument or a Function argument for the OutParameters return value.

    +
    +
    +

    A method that has been annotated with @SqlCall may have any number of regular method arguments and

    +
    +
    + +
    +
    +

    When using a consumer or function argument, these are called to process the OutParameters value before the statement is closed.

    +
    +
    +
    +
    +

    13.3.5. Mapping arguments to defined attributes

    +
    +

    The Jdbi core framework supports attributes that can be used anywhere in the SQL statement or that can control Query template rendering. The @Define annotation provides this functionality for the SQL Object extension:

    +
    +
    +
    +
    interface UserDao {
    +
    +    @SqlQuery("SELECT name FROM <table>") (1)
    +    List<String> getNames(@Define("table") String tableName); (2)
    +}
    +
    +@Test
    +void testNames() {
    +    List<String> result = jdbi.withExtension(UserDao.class, dao -> dao.getNames("users")); (3)
    +    assertThat(result).containsAll(names);
    +}
    +
    +
    +
    + + + + + + + + + + + + + +
    1declare an attribute placeholder for the table name
    2bind the placeholder to the method argument
    3provide the value for the placeholder when calling the SQL object method
    +
    +
    +
    +
    +

    13.4. SQL Object method return values

    +
    +

    The SQL Object framework will try to convert the result of a database operation to the declared return value of a SQL Object method.

    +
    +
    +

    This is most important for @SqlQuery operations as most other operations have a very limited set of possible return values:

    +
    +
    + +
    +
    +

    Query methods may return a single row or multiple rows, depending on whether the method return type looks like a collection:

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlQuery("SELECT name FROM users")
    +    List<String> listNames(); (1)
    +
    +    @SqlQuery("SELECT name FROM users WHERE id = ?")
    +    String getName(long id); (2)
    +
    +    @SqlQuery("SELECT name FROM users WHERE id = ?")
    +    Optional<String> findName(long id); (3)
    +
    +    @SqlQuery("SELECT id, name FROM users WHERE id = ?")
    +    Optional<User> findUser(long id); (4)
    +}
    +
    +
    +
    + + + + + + + + + + + + + + + + + +
    1Returns a collection of results. This is never null, an empty collection is returned for an empty result set.
    2Returns a single result. If the query returns a result set with multiple rows, then only the first row is returned. If the row set is empty, null is returned.
    3Methods may return Optional values. If the query returns no rows (or if the value in the row is null), +Optional.empty() is returned instead of null. SQL Object throws an exception if query returns more than one +row.
    4When returning a complex type, Jdbi must have row and column mappers registered, otherwise it will throw an exception. These can be registered through the Jdbi +core API or with annotations.
    +
    +
    + + + + + +
    + + +Jdbi can use different collection types by registering a CollectorFactory with the JdbiCollectors +config registry. +
    +
    +
    +

    See +BuiltInCollectorFactory +for the complete list of collection types supported out of the box. Some +Jdbi plugins (e.g. the GuavaPlugin) register additional collection types.

    +
    +
    +

    13.4.1. Using Streams and Iterators

    +
    +

    SQL Object method may return +ResultIterable, +ResultIterator or +Stream types. Each of these return values represents a cursor-type object that requires an active Handle object with a database connection to support streaming results.

    +
    +
    +

    All SQL object type methods are subject to the extension framework Handle lifecycle. When the Handle object is closed, the database connection and the corresponding stream or iterator is closed as well.

    +
    +
    +

    This is an example of a SQL Object type that returns cursor types:

    +
    +
    +
    +
    interface UserDao {
    +    @SqlQuery("SELECT name FROM users")
    +    Stream<String> getNamesAsStream();
    +
    +    @SqlQuery("SELECT name FROM users")
    +    ResultIterable<String> getNamesAsIterable();
    +
    +    @SqlQuery("SELECT name FROM users")
    +    ResultIterator<String> getNamesAsIterator();
    +}
    +
    +
    +
    +
    Use the method return value directly
    +
    +

    Only the Handle#attach() method allows cursor type objects as SQL Object method return values. Calling this method attaches the object to the Handle lifecycle which in turn is managed by user code:

    +
    +
    +
    +
    @Test
    +void testHandleAttach() {
    +    try (Handle handle = jdbi.open()) { (1)
    +        UserDao dao = handle.attach(UserDao.class);
    +        try (Stream<String> stream = dao.getNamesAsStream()) { (2)
    +            List<String> result = stream.collect(Collectors.toList()); (3)
    +            assertThat(result).containsAll(names);
    +        }
    +    }
    +}
    +
    +
    +
    + + + + + + + + + + + + + +
    1The handle is managed in user code.
    2The stream is also managed.
    3The returned stream is used within the try-with-resources block.
    +
    +
    +

    The objects returned from these methods hold database resources that should be closed. Jdbi usually handles resources well but using a try-with-resource block is a good practice:

    +
    +
    +
    +
    try (ResultIterable<String> names = dao.getNamesAsIterable()) {
    +    // ...
    +}
    +
    +try (ResultIterator<String> names = dao.getNamesAsIterator()) {
    +    // ...
    +}
    +
    +try (Stream<String> names = dao.getNamesAsStream()) {
    +    // ...
    +}
    +
    +
    +
    +

    The Jdbi#withExtension() or Jdbi#useExtension() methods can not be used:

    +
    +
    +
    +
    @Test
    +void testWithExtensionFails() {
    +    assertThatThrownBy(() -> {
    +        List<String> result = jdbi.withExtension(UserDao.class, UserDao::getNamesAsStream).collect(Collectors.toList()); (1)
    +        assertThat(result).containsAll(names);
    +    }).isInstanceOf(ResultSetException.class); (2)
    +}
    +
    +
    +
    + + + + + + + + + +
    1The handle is closed when leaving the Jdbi#withExtension() method.
    2Calling the Stream#collect() method on the returned stream causes a ResultSetException.
    +
    +
    +

    The Jdbi#onDemand() method can not be used either:

    +
    +
    +
    +
    @Test
    +void testOnDemandFails() {
    +    assertThatThrownBy(() -> {
    +        UserDao dao = jdbi.onDemand(UserDao.class);
    +        List<String> result = dao.getNamesAsStream().collect(Collectors.toList()); (1)
    +        assertThat(result).containsAll(names);
    +    }).isInstanceOf(ResultSetException.class); (2)
    +}
    +
    +
    +
    + + + + + + + + + +
    1The handle is closed when leaving the getNamesAsStream method.
    2Calling the Stream#collect() method on the returned stream causes a ResultSetException.
    +
    +
    +
    +
    Use interface default methods
    +
    +

    The SQL Object framework closes the Handle object when returning from the outermost method in a SQL object type. It is possible to write processing logic in an interface default method:

    +
    +
    +
    +
    interface UserDao {
    +    @SqlQuery("SELECT name FROM users")
    +    Stream<String> getNamesAsStream();
    +
    +    default List<String> getNames() {  (1)
    +        try (Stream<String> stream = getNamesAsStream()) { (2)
    +            return stream.collect(Collectors.toList()); (3)
    +        }
    +    }
    +}
    +
    +
    +
    + + + + + + + + + + + + + +
    1The handle is closed when exiting the getNames method as this is the outermost method in the UserDao object.
    2The stream is managed with a try-with-resources block.
    3The stream can be processed within the getNames method.
    +
    +
    +

    The default method can be used with the Jdbi#onDemand(), Jdbi#withExtension() and Jdbi#useExtension() methods:

    +
    +
    +
    +
    @Test
    +void testOnDemandDefaultMethod() {
    +    UserDao dao = jdbi.onDemand(UserDao.class);
    +    List<String> result = dao.getNames();
    +    assertThat(result).containsAll(names);
    +}
    +
    +@Test
    +void testWithExtensionDefaultMethod() {
    +    List<String> result = jdbi.withExtension(UserDao.class, UserDao::getNames);
    +    assertThat(result).containsAll(names);
    +}
    +
    +
    +
    +
    +
    Use consumer or function arguments
    +
    +

    Using the method return value either directly or through an interface default method has the drawback that the user code to process the cursor-type object must be written within the SQL Object type as it must be executed before closing the Handle object.

    +
    +
    +

    An elegant way to sidestep this problem is using a consumer argument or a function argument to provide a callback:

    +
    +
    +
    +
    interface CallbackDao {
    +    @SqlQuery("SELECT name FROM users")
    +     void getNamesAsStream(Consumer<Stream<String>> consumer);
    +
    +    @SqlQuery("SELECT name FROM users")
    +    Set<String> getNamesAsSet(Function<Stream<String>, Set<String>> function);
    +
    +}
    +
    +
    +
    +

    Using a callback argument supports all Jdbi and Handle methods to attach SQL objects:

    +
    +
    +
    +
    @Test
    +void testHandleAttachConsumer() {
    +    try (Handle handle = jdbi.open()) { (1)
    +        CallbackDao dao = handle.attach(CallbackDao.class);
    +        List<String> result = new ArrayList<>();
    +        dao.getNamesAsStream(stream -> stream.forEach(result::add)); (2)
    +        assertThat(result).containsAll(names);
    +    }
    +}
    +
    +@Test
    +void testHandleAttachFunction() {
    +    try (Handle handle = jdbi.open()) { (1)
    +        CallbackDao dao = handle.attach(CallbackDao.class);
    +        Set<String> result = dao.getNamesAsSet(stream -> stream.collect(Collectors.toSet())); (2)
    +        assertThat(result).containsAll(names);
    +    }
    +}
    +
    +
    +
    + + + + + + + + + +
    1The Handle lifecycle must still be managed by user code.
    2The stream is managed by the SQL object framework and does not need to be closed by user code.
    +
    +
    +

    This code also works with the Jdbi#onDemand() and Jdbi#useExtension() methods:

    +
    +
    +
    +
    @Test
    +void testOnDemandConsumer() {
    +    CallbackDao dao = jdbi.onDemand(CallbackDao.class);
    +    List<String> result = new ArrayList<>();
    +    dao.getNamesAsStream(stream -> stream.forEach(result::add));
    +    assertThat(result).containsAll(names);
    +}
    +
    +@Test
    +void testOnDemandFunction() {
    +    CallbackDao dao = jdbi.onDemand(CallbackDao.class);
    +    Set<String> result = dao.getNamesAsSet(stream -> stream.collect(Collectors.toSet()));
    +    assertThat(result).containsAll(names);
    +}
    +
    +@Test
    +void testWithExtensionConsumer() {
    +    List<String> result = new ArrayList<>();
    +    jdbi.useExtension(CallbackDao.class,
    +        dao -> dao.getNamesAsStream(stream -> stream.forEach(result::add))); (1)
    +    assertThat(result).containsAll(names);
    +}
    +
    +@Test
    +void testWithExtensionFunction() {
    +    Set<String> result = jdbi.withExtension(CallbackDao.class,
    +        dao -> dao.getNamesAsSet(stream -> stream.collect(Collectors.toSet())));
    +
    +    assertThat(result).containsAll(names);
    +}
    +
    +
    +
    + + + + + +
    1This code uses Jdbi#useExtension() instead of Jdbi#withExtension() as the SQL Object method returns void.
    +
    +
    + + + + + +
    + + +While using a consumer or a function argument is a great way to deal with cursor-type objects, there is the drawback that the user code is called while holding the handle (or the database connection) open. If the callback does very expensive or slow processing, this may hold the connection for a very long time. +
    +
    +
    +
    +
    +
    +

    13.5. SQL Object mapper annotations

    +
    +

    The most common use for annotations is to register specific row and column mappers to return values from @SqlQuery.

    +
    +
    +

    13.5.1. @RegisterRowMapper

    +
    +

    Use @RegisterRowMapper to register a concrete row mapper class:

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlQuery("SELECT * FROM users")
    +    @RegisterRowMapper(UserMapper.class)
    +    List<User> list();
    +}
    +
    +
    +
    +

    Row mappers used with this annotation must meet a few requirements:

    +
    +
    +
    +
    public class UserMapper implements RowMapper<User> {  (1) (2)
    +    public UserMapper() { (3)
    +        // ...
    +    }
    +
    +    public T map(ResultSet rs, StatementContext ctx) throws SQLException {
    +        // ...
    +    }
    +}
    +
    +
    +
    + + + + + + + + + + + + + +
    1Must be a public class.
    2Must implement RowMapper with an explicit type argument (e.g. +RowMapper<User>) instead of a type variable (e.g. RowMapper<T>).
    3Must have a public, no-argument constructor (or a default constructor).
    +
    +
    + + + + + +
    + + +The @RegisterRowMapper annotation may be repeated multiple times on the same +type or method to register multiple mappers. +
    +
    +
    +
    +

    13.5.2. @RegisterRowMapperFactory

    + +
    +
    +
    public interface UserDao {
    +    @SqlQuery("SELECT * FROM users")
    +    @RegisterRowMapperFactory(UserMapperFactory.class)
    +    List<User> list();
    +}
    +
    +
    +
    +

    Row mapper factories used with this annotation must meet a few requirements:

    +
    +
    +
    +
    public class UserMapperFactory implements RowMapperFactory { (1)
    +    public UserMapperFactory() { (2)
    +        // ...
    +    }
    +
    +    public Optional<RowMapper<?>> build(Type type, ConfigRegistry config) {
    +        // ...
    +    }
    +}
    +
    +
    +
    + + + + + + + + + +
    1Must be a public class.
    2Must have a public, no-argument constructor (or a default constructor).
    +
    +
    + + + + + +
    + + +The @RegisterRowMapperFactory annotation may be repeated multiple times on the +same type or method to register multiple factories. +
    +
    +
    +
    +

    13.5.3. @RegisterColumnMapper

    +
    +

    Use @RegisterColumnMapper to register a column mapper:

    +
    +
    +
    +
    public interface AccountDao {
    +    @SqlQuery("SELECT balance FROM accounts WHERE id = ?")
    +    @RegisterColumnMapper(MoneyMapper.class)
    +    Money getBalance(long id);
    +}
    +
    +
    +
    +

    Column mappers used with this annotation must meet a few requirements:

    +
    +
    +
    +
    public class MoneyMapper implements ColumnMapper<Money> {  (1) (2)
    +    public MoneyMapper() { (3)
    +        // ...
    +    }
    +
    +    public T map(ResultSet r, int columnNumber, StatementContext ctx) throws SQLException {
    +        // ...
    +    }
    +}
    +
    +
    +
    + + + + + + + + + + + + + +
    1Must be a public class.
    2Must implement ColumnMapper with an explicit type argument (e.g. +ColumnMapper<User>) instead of a type variable (e.g. ColumnMapper<T>).
    3Must have a public, no-argument constructor (or a default constructor).
    +
    +
    + + + + + +
    + + +The @RegisterColumnMapper annotation may be repeated multiple times on the +same type or method to register multiple mappers. +
    +
    +
    +
    +

    13.5.4. @RegisterColumnMapperFactory

    +
    +

    Use @RegisterColumnMapperFactory to register a column mapper factory:

    +
    +
    +
    +
    public interface AccountDao {
    +    @SqlQuery("SELECT * FROM users")
    +    @RegisterColumnMapperFactory(MoneyMapperFactory.class)
    +    List<User> list();
    +}
    +
    +
    +
    +

    Column mapper factories used with this annotation must meet a few requirements:

    +
    +
    +
    +
    public class UserMapperFactory implements RowMapperFactory { (1)
    +    public UserMapperFactory() { (2)
    +        // ...
    +    }
    +
    +    public Optional<RowMapper<?>> build(Type type, ConfigRegistry config) {
    +        // ...
    +    }
    +}
    +
    +
    +
    + + + + + + + + + +
    1Must be a public class.
    2Must have a public, no-argument constructor (or a default constructor).
    +
    +
    + + + + + +
    + + +The @RegisterColumnMapperFactory annotation may be repeated multiple times on +the same type or method to register multiple factories. +
    +
    +
    +
    +

    13.5.5. @RegisterBeanMapper

    +
    +

    Use @RegisterBeanMapper to register a BeanMapper for a bean class:

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlQuery("SELECT * FROM users")
    +    @RegisterBeanMapper(User.class)
    +    List<User> list();
    +}
    +
    +
    +
    +

    Using the prefix attribute causes the bean mapper to map only those columns +that begin with the prefix:

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlQuery("SELECT u.id u_id, u.name u_name, r.id r_id, r.name r_name " +
    +              "FROM users u LEFT JOIN roles r ON u.role_id = r.id")
    +    @RegisterBeanMapper(value = User.class, prefix = "u")
    +    @RegisterBeanMapper(value = Role.class, prefix = "r")
    +    Map<User,Role> getRolesPerUser();
    +}
    +
    +
    +
    +

    In this example, the User mapper will map the columns u_id and u_name into +the User.id and User.name properties. Likewise for r_id and r_name into +Role.id and Role.name, respectively.

    +
    +
    + + + + + +
    + + +The @RegisterBeanMapper annotation may be repeated (as demonstrated above) on +the same type or method to register multiple bean mappers. +
    +
    +
    +
    +

    13.5.6. @RegisterConstructorMapper

    +
    +

    Use @RegisterConstructorMapper to register a ConstructorMapper for classes +that are instantiated with all properties through the constructor.

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlQuery("SELECT * FROM users")
    +    @RegisterConstructorMapper(User.class)
    +    List<User> list();
    +}
    +
    +
    +
    +

    Using the prefix attribute causes the constructor mapper to only map those +columns that begin with the prefix:

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlQuery("SELECT u.id u_id, u.name u_name, r.id r_id, r.name r_name " +
    +              "FROM users u LEFT JOIN roles r ON u.role_id = r.id")
    +    @RegisterConstructorMapper(value = User.class, prefix = "u")
    +    @RegisterConstructorMapper(value = Role.class, prefix = "r")
    +    Map<User,Role> getRolesPerUser();
    +}
    +
    +
    +
    +

    In this example, the User mapper will map the columns u_id and u_name into +the id and name parameters of the User constructor. Likewise for r_id +and r_name into id and name parameters of the Role constructor, +respectively.

    +
    +
    + + + + + +
    + + +The @RegisterConstructorMapper annotation may be repeated multiple times on +the same type or method to register multiple constructor mappers. +
    +
    +
    +
    +

    13.5.7. @RegisterFieldMapper

    +
    +

    Use @RegisterFieldMapper to register a FieldMapper for a given class.

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlQuery("SELECT * FROM users")
    +    @RegisterFieldMapper(User.class)
    +    List<User> list();
    +}
    +
    +
    +
    +

    Using the prefix attribute causes the field mapper to only map those columns +that begin with the prefix:

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlQuery("SELECT u.id u_id, u.name u_name, r.id r_id, r.name r_name " +
    +              "FROM users u LEFT JOIN roles r ON u.role_id = r.id")
    +    @RegisterFieldMapper(value = User.class, prefix = "u")
    +    @RegisterFieldMapper(value = Role.class, prefix = "r")
    +    Map<User,Role> getRolesPerUser();
    +}
    +
    +
    +
    +

    In this example, the User mapper will map the columns u_id and u_name into +the User.id and User.name fields. Likewise for r_id and r_name into the +Role.id and Role.name fields, respectively.

    +
    +
    + + + + + +
    + + +The @RegisterConstructorMapper annotation may be repeated multiple times on +the same type or method to register multiple constructor mappers. +
    +
    +
    +
    +
    +

    13.6. Other SQL Object annotations

    +
    +

    13.6.1. @Definition

    +
    +

    Annotate a SqlObject type, or a method or field within, with @Definition to define an attribute +for all SqlObject methods of the type. The key will default to the field or method name. The value +will default to the result of calling the method or getting the field.

    +
    +
    +

    An example use is to take a list of columns and join them using , in order to template in a column list.

    +
    +
    +
    +

    13.6.2. @GetGeneratedKeys

    +
    +

    Some SQL statements will cause data to be generated on your behalf at the +database, e.g. a table with an auto-generated primary key, or a primary key +selected from a sequence. The @GetGeneratedKeys annotation may be used to return the keys generated from the SQL statement:

    +
    +
    +

    The @GetGeneratedKeys annotation tells Jdbi that the return value should be generated key from the SQL statement, instead of the update count.

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlUpdate("INSERT INTO users (id, name) VALUES (nextval('user_seq'), ?)")
    +    @GetGeneratedKeys("id")
    +    long insert(String name);
    +}
    +
    +
    +
    +

    Multiple columns may be generated and returned:

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlUpdate("INSERT INTO users (id, name, created_on) VALUES (nextval('user_seq'), ?, now())")
    +    @GetGeneratedKeys({"id", "created_on"})
    +    @RegisterBeanMapper(IdCreateTime.class)
    +    IdCreateTime insert(String name);
    +}
    +
    +
    +
    + + + + + +
    + + +Databases vary in support for generated keys. Some support only one generated key column per statement, and some (such as Postgres) can return the entire row. +You should check your database vendor’s documentation before relying on this behavior. +
    +
    +
    +

    @SqlBatch also supports the annotation:

    +
    +
    +
    +
    public void sqlObjectBatchKeys() {
    +    db.useExtension(UserDao.class, dao -> {
    +        List<User> users = dao.createUsers("Alice", "Bob", "Charlie");
    +        assertThat(users).hasSize(3);
    +
    +        assertThat(users.get(0).id).isOne();
    +        assertThat(users.get(0).name).isEqualTo("Alice");
    +
    +        assertThat(users.get(1).id).isEqualTo(2);
    +        assertThat(users.get(1).name).isEqualTo("Bob");
    +
    +        assertThat(users.get(2).id).isEqualTo(3);
    +        assertThat(users.get(2).name).isEqualTo("Charlie");
    +    });
    +}
    +
    +public interface UserDao {
    +    @SqlBatch("INSERT INTO users (name) VALUES(?)")
    +    @GetGeneratedKeys
    +    List<User> createUsers(String... names);
    +}
    +
    +
    +
    +

    When using @SqlBatch, the @GetGeneratedKeys annotations tells SQL Object that the return value should be the generated keys from each SQL statement, instead of the update count.

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlBatch("INSERT INTO users (id, name) VALUES (nextval('user_seq'), ?)")
    +    @GetGeneratedKeys("id")
    +    long[] bulkInsert(List<String> names); (1)
    +}
    +
    +
    +
    + + + + + +
    1Returns the generated ID for each inserted name.
    +
    +
    +

    Multiple columns may be generated and returned in this way:

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlBatch("INSERT INTO users (id, name, created_on) VALUES (nextval('user_seq'), ?, now())")
    +    @GetGeneratedKeys({"id", "created_on"})
    +    @RegisterBeanMapper(IdCreateTime.class)
    +    List<IdCreateTime> bulkInsert(String... names);
    +}
    +
    +
    +
    + + + + + +
    + + +Postgres supports additional functionality when returning generated keys. See PostgreSQL for more details. +
    +
    +
    +
    +

    13.6.3. @SqlLocator

    +
    +

    When SQL statements grow in complexity, it may be cumbersome to provide +the statements as Java strings in the SQL method annotations.

    +
    +
    + + + + + +
    + + +Jdbi supports the Java Textblock construct available in Java 15 and later. Using a text block is an elegant way to specify multi-line SQL statements. +
    +
    +
    +

    Jdbi provides annotations that let you configure external locations to +load SQL statements.

    +
    +
    +
      +
    • +

      @UseAnnotationSqlLocator - use annotation value of the SQL method annotations (this is the default behavior)

      +
    • +
    • +

      @UseClasspathSqlLocator - loads SQL from a file on the classpath, based on the package and name of the SQL Object interface type.

      +
    • +
    +
    +
    +
    +
    package com.foo;
    +
    +@UseClasspathSqlLocator
    +interface BarDao {
    +    // loads classpath resource com/foo/BarDao/query.sql
    +    @SqlQuery
    +    void query();
    +}
    +
    +
    +
    +

    @UseClasspathSqlLocator is implemented using the ClasspathSqlLocator, as described above.

    +
    +
    + + + + + +
    + + +ClasspathSqlLocator loads a file unchanged by default. Using the @UseClasspathSqlLocator annotation will strip out comments by default! This may lead to unexpected behavior, e.g. SQL Server uses the # character to denote temporary tables. This can be controlled with the stripComments annotation attribute. +
    +
    +
    +
    +
    package com.foo;
    +
    +@UseClasspathSqlLocator(stripComments=false)
    +interface BarDao {
    +    // loads classpath resource com/foo/BarDao/query.sql without stripping comment lines
    +    @SqlQuery
    +    void query();
    +}
    +
    +
    +
    + +
    +
    +
    +

    13.6.4. @CreateSqlObject

    +
    +

    Use the @CreateSqlObject annotation to reuse a SQL Object type within another object.

    +
    +
    +

    This is an example where a SQL update defined in a different SQL Object type is executed as part of a transaction:

    +
    +
    +
    +
    public interface Bar {
    +    @SqlUpdate("INSERT INTO bar (name) VALUES (:name)")
    +    @GetGeneratedKeys
    +    int insert(@Bind("name") String name);
    +}
    +
    +public interface Foo {
    +
    +    @CreateSqlObject
    +    Bar createBar();
    +
    +    @SqlUpdate("INSERT INTO foo (bar_id, name) VALUES (:bar_id, :name)")
    +    void insert(@Bind("bar_id") int barId, @Bind("name") String name);
    +
    +    @Transaction
    +    default void insertBarAndFoo(String barName, String fooName) {
    +        int barId = createBar().insert(barName);
    +        insert(barId, fooName);
    +    }
    +}
    +
    +
    +
    +

    The @CreateSqlObject annotation can also be used to process cursor-type objects inside interface default methods:

    +
    +
    +
    +
    interface NestedDao {
    +    @CreateSqlObject
    +    UserDao userDao(); (1)
    +
    +    default List<String> getNames() {
    +        try (Stream<String> stream = userDao().getNamesAsStream()) {
    +            return stream.collect(Collectors.toList());
    +        }
    +    }
    +}
    +
    +@Test
    +void testOnDemandNestedMethod() {
    +    NestedDao dao = jdbi.onDemand(NestedDao.class);
    +    List<String> result = dao.getNames();
    +    assertThat(result).containsAll(names);
    +}
    +
    +
    +
    + + + + + +
    1Returns a nested object that provides a stream of users.
    +
    +
    +
    +

    13.6.5. @Timestamped

    +
    +

    You can annotate any statement with @Timestamped to bind an OffsetDateTime object representing the current time as now:

    +
    +
    +
    +
    public interface Bar {
    +    @Timestamped (1)
    +    @SqlUpdate("INSERT INTO times(val) VALUES(:now)") (2)
    +    int insert();
    +}
    +
    +
    +
    + + + + + + + + + +
    1Bind a timestamp as now
    2Use the timestamp as a named binding.
    +
    +
    +

    The binding name can be customized:

    +
    +
    +
    +
    public interface Bar {
    +    @Timestamped("timestamp")
    +    @SqlUpdate("INSERT INTO times(val) VALUES(:timestamp)")
    +    int insert();
    +}
    +
    +
    +
    +

    The TimestampedConfig config object allows setting the timezone for the timestamp.

    +
    +
    +
    +

    13.6.6. @SingleValue

    +
    +

    Sometimes, when using advanced SQL features like Arrays, a container type such as +int[] or List<Integer> can ambiguously mean either "a single SQL int[]" or +"a ResultSet of int".

    +
    +
    +

    Since arrays are not commonly used in normalized schemas, SQL Object assumes by +default that you are collecting a ResultSet into a container object. You can +annotate a return type as @SingleValue to override this.

    +
    +
    +

    For example, suppose we want to select a varchar[] column from a single row:

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlQuery("SELECT roles FROM users WHERE id = ?")
    +    @SingleValue
    +    List<String> getUserRoles(long userId)
    +}
    +
    +
    +
    +

    Normally, Jdbi would interpret List<String> to mean that the mapped type is +String, and to collect all result rows into a list. The @SingleValue +annotation causes Jdbi to treat List<String> as the mapped type instead.

    +
    +
    + + + + + +
    + + +It’s tempting to use the @SingleValue annotation on an Optional<T> type , but usually this is not needed. +Optional<T> is implemented as a container of zero-or-one elements. Adding @SingleValue implies that the database itself has a column of a type like optional<varchar>. +
    +
    +
    +

    The @SingleValue annotation can also be used on an array, collection or iterable method parameter. This causes SQL Object to bind the whole iterable as the parameter value. This is especially useful for @SqlBatch operations (often for a SQL Array parameter):

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlBatch("INSERT INTO users (id, name, roles) VALUES (?, ?, ?)")
    +    void bulkInsert(List<Long> ids,
    +                    List<String> names,
    +                    @SingleValue List<String> roles);
    +}
    +
    +
    +
    +

    In this example, each new row would get the same varchar[] value in the roles column.

    +
    +
    +
    +

    13.6.7. Annotations for Map<K,V> Results

    +
    +

    SQL Object methods may return Map<K,V> types (see Map.Entry mapping in +the Core API). In this scenario, each row is mapped to a Map.Entry<K,V>, +and the entries for each row are collected into a single Map instance.

    +
    +
    + + + + + +
    + + +A mapper must be registered for both the key and value types. +
    +
    +
    +

    Gather master/detail join rows into a map, simply by registering mappers +for the key and value types.

    +
    +
    +
    +
    @SqlQuery("select u.id u_id, u.name u_name, p.id p_id, p.phone p_phone "
    +    + "from \"user\" u left join phone p on u.id = p.user_id")
    +@RegisterConstructorMapper(value = User.class, prefix = "u")
    +@RegisterConstructorMapper(value = Phone.class, prefix = "p")
    +Map<User, Phone> getMap();
    +
    +
    +
    +

    In the preceding example, the User mapper uses the "u" column name prefix, and +the Phone mapper uses "p". Since each mapper only reads the column with the +expected prefix, the respective id columns are unambiguous.

    +
    +
    +

    A unique index (e.g. by ID column) can be obtained by setting the key column +name:

    +
    +
    +
    +
    @SqlQuery("select * from \"user\"")
    +@KeyColumn("id")
    +@RegisterConstructorMapper(User.class)
    +Map<Integer, User> getAll();
    +
    +
    +
    +

    Set both the key and value column names to gather a two-column query into a map +result:

    +
    +
    +
    +
    @SqlQuery("select \"key\", \"value\" from config")
    +@KeyColumn("key")
    +@ValueColumn("value")
    +Map<String, String> getAll();
    +
    +
    +
    +

    All of the above examples assume a one-to-one key/value relationship.

    +
    +
    +

    What if there is a one-to-many relationship? Google Guava provides a Multimap +type, which supports mapping multiple values per key.

    +
    +
    +

    First, follow the instructions in the Google Guava section to install the +GuavaPlugin.

    +
    +
    +

    Then, simply specify a Multimap return type instead of Map:

    +
    +
    +
    +
    @SqlQuery("select u.id u_id, u.name u_name, p.id p_id, p.phone p_phone "
    +    + "from \"user\" u left join phone p on u.id = p.user_id")
    +@RegisterConstructorMapper(value = User.class, prefix = "u")
    +@RegisterConstructorMapper(value = Phone.class, prefix = "p")
    +Multimap<User, Phone> getMultimap();
    +
    +
    +
    +

    All the examples so far have been Map types where each row in the result set +is a single Map.Entry. However, what if the Map we want to return is +actually a single row or even a single column?

    +
    +
    +

    Jdbi’s MapMapper maps each row to a +Map<String, Object>, where column names are mapped to column values.

    +
    +
    + + + + + +
    + + +Jdbi’s default setting is to convert column names to lowercase for Map keys. This behavior can be +changed via the MapMappers config class. +
    +
    +
    +

    By default, SQL Object treats Map return types as a collection of Map.Entry +values. Use the @SingleValue annotation to override this, so that the return +type is treated as a single value instead of a collection:

    +
    +
    +
    +
    @SqlQuery("SELECT * FROM users WHERE id = ?")
    +@RegisterRowMapper(MapMapper.class)
    +@SingleValue
    +Map<String, Object> getById(long userId);
    +
    +
    +
    +

    The GenericMapMapperFactory, +provides the same feature but allows value types other than Object as long as a suitable ColumnMapper +is registered and all columns are of the same type:

    +
    +
    +
    +
    @SqlQuery("SELECT 1.0 AS LOW, 2.0 AS MEDIUM, 3.0 AS HIGH")
    +@RegisterRowMapperFactory(GenericMapMapperFactory.class)
    +@SingleValue
    +Map<String, BigDecimal> getNumericLevels();
    +
    +
    +
    + + + + + +
    + + +The PostgreSQL plugin provides an hstore to Map<String, String> column mapper. See hstore for more information. +
    +
    +
    +
    +

    13.6.8. @UseRowReducer

    +
    +

    @SqlQuery methods that use join queries may reduce master-detail joins +into one or more master-level objects. See ResultBearing.reduceRows() for +an introduction to row reducers.

    +
    +
    +

    Consider a filesystem metaphor with folders and documents. In the join, we’ll +prefix folder columns with f_ and document columns with d_.

    +
    +
    +
    +
    @RegisterBeanMapper(value = Folder.class, prefix = "f") (1)
    +@RegisterBeanMapper(value = Document.class, prefix = "d")
    +public interface DocumentDao {
    +    @SqlQuery("SELECT " +
    +        "f.id f_id, f.name f_name, " +
    +        "d.id d_id, d.name d_name, d.contents d_contents " +
    +        "FROM folders f LEFT JOIN documents d " +
    +        "ON f.id = d.folder_id " +
    +        "WHERE f.id = :folderId" +
    +        "ORDER BY d.name")
    +    @UseRowReducer(FolderDocReducer.class) (2)
    +    Optional<Folder> getFolder(int folderId); (3)
    +
    +    @SqlQuery("SELECT " +
    +        "f.id f_id, f.name f_name, " +
    +        "d.id d_id, d.name d_name, d.contents d_contents " +
    +        "FROM folders f LEFT JOIN documents d " +
    +        "ON f.id = d.folder_id " +
    +        "ORDER BY f.name, d.name")
    +    @UseRowReducer(FolderDocReducer.class) (2)
    +    List<Folder> listFolders(); (3)
    +
    +    class FolderDocReducer implements LinkedHashMapRowReducer<Integer, Folder> { (4)
    +        @Override
    +        public void accumulate(Map<Integer, Folder> map, RowView rowView) {
    +            Folder f = map.computeIfAbsent(rowView.getColumn("f_id", Integer.class), (5)
    +                id -> rowView.getRow(Folder.class));
    +
    +            if (rowView.getColumn("d_id", Integer.class) != null) { (6)
    +                f.getDocuments().add(rowView.getRow(Document.class));
    +            }
    +        }
    +    }
    +}
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    1In this example, we register the folder and document mappers with a +prefix, so that each mapper only looks at the columns with that prefix. +These mappers are used indirectly by the row reducer in the +getRow(Folder.class) and getRow(Document.class) calls.
    2Annotate the method with @UseRowReducer, and specify the RowReducer +implementation class.
    3The same RowReducer implementation may be used for both single- and +multi-master-record queries.
    4LinkedHashMapRowReducer +is an abstract RowReducer implementation that uses a LinkedHashMap as the result +container, and returns the values() collection as the result.
    5Get the Folder for this row from the map by ID, or create it if not in the map.
    6Confirm this row has a document (this is a left join) before mapping a document +and adding it to the folder.
    +
    +
    +
    +

    13.6.9. @RegisterCollector and @RegisterCollectorFactory

    +
    +

    Convenience annotations to register a Collector for a SqlObject method.

    +
    +
    +

    @RegisterCollectorFactory allows registration of a factory that returns a collector instance and @RegisterCollector registers a collector implementation:

    +
    +
    +
    +
    public interface RegisterCollectorDao {
    +    @RegisterCollector(StringConcatCollector.class)
    +    @SqlQuery("select i from i order by i asc")
    +    String selectWithCollector();
    +
    +    @RegisterCollectorFactory(StringConcatCollectorFactory.class)
    +    @SqlQuery("select i from i order by i asc")
    +    String selectWithCollectorFactory();
    +}
    +
    +class StringConcatCollectorFactory implements CollectorFactory {
    +
    +    @Override
    +    public boolean accepts(Type containerType) {
    +        return containerType == String.class;
    +    }
    +
    +    @Override
    +    public Optional<Type> elementType(Type containerType) {
    +        return Optional.of(Integer.class);
    +    }
    +
    +    @Override
    +    public Collector<Integer, List<Integer>, String> build(Type containerType) {
    +        return Collector.of(
    +            ArrayList::new,
    +            List::add,
    +            (x, y) -> {
    +                x.addAll(y);
    +                return x;
    +            },
    +            i -> i.stream().map(Object::toString).collect(Collectors.joining(" ")));
    +    }
    +}
    +
    +class StringConcatCollector implements Collector<Integer, List<Integer>, String> {
    +    @Override
    +    public Supplier<List<Integer>> supplier() {
    +        return ArrayList::new;
    +    }
    +
    +    @Override
    +    public BiConsumer<List<Integer>, Integer> accumulator() {
    +        return List::add;
    +    }
    +
    +    @Override
    +    public BinaryOperator<List<Integer>> combiner() {
    +        return (a, b) -> {
    +            a.addAll(b);
    +            return a;
    +        };
    +    }
    +
    +    @Override
    +    public Function<List<Integer>, String> finisher() {
    +        return i -> i.stream().map(Object::toString).collect(Collectors.joining(" "));
    +    }
    +
    +    @Override
    +    public Set<Characteristics> characteristics() {
    +        return Collections.emptySet();
    +    }
    +}
    +
    +
    +
    +

    The element and result types are inferred from the concrete Collector<Element, ?, Result> implementation’s type parameters. See Collectors for more details.

    +
    +
    +
    +

    13.6.10. Other SQL Object annotations

    +
    +

    Jdbi provides many additional annotations out of the box:

    +
    +
    + +
    +
    +

    The SQL Object framework is built on top of the Jdbi Extension framework which can be extended with user-defined annotations. See the +extension framework annotation documentation for an overview on how to build your own annotations.

    +
    +
    +
    +

    13.6.11. Annotations and Inheritance

    +
    +

    SQL Objects inherit methods and annotations from the interfaces they extend:

    +
    +
    +
    +
    package com.app.dao;
    +
    +@UseClasspathSqlLocator  (1) (2)
    +public interface CrudDao<T, ID> {
    +    @SqlUpdate (3)
    +    void insert(@BindBean T entity);
    +
    +    @SqlQuery (3)
    +    Optional<T> findById(ID id);
    +
    +    @SqlQuery
    +    List<T> list();
    +
    +    @SqlUpdate
    +    void update(@BindBean T entity);
    +
    +    @SqlUpdate
    +    void deleteById(ID id);
    +}
    +
    +
    +
    + + + + + + + + + + + + + +
    1See @SqlLocator.
    2Class annotations are inherited by subtypes.
    3Method and parameter annotations are inherited by subtypes, unless the +subtype overrides the method.
    +
    +
    +
    +
    package com.app.contact;
    +
    +@RegisterBeanMapper(Contact.class)
    +public interface ContactDao extends CrudDao<Contact, Long> {}
    +
    +
    +
    +
    +
    package com.app.account;
    +
    +@RegisterConstructorMapper(Account.class)
    +public interface AccountDao extends CrudDao<Account, UUID> {}
    +
    +
    +
    +

    In this example we’re using the @UseClasspathSqlLocator annotation, so each +method will use SQL loaded from the classpath. Thus, ContactDao methods will +use SQL from:

    +
    +
    +
      +
    • +

      /com/app/contact/ContactDao/insert.sql

      +
    • +
    • +

      /com/app/contact/ContactDao/findById.sql

      +
    • +
    • +

      /com/app/contact/ContactDao/list.sql

      +
    • +
    • +

      /com/app/contact/ContactDao/update.sql

      +
    • +
    • +

      /com/app/contact/ContactDao/deleteById.sql

      +
    • +
    +
    +
    +

    Whereas AccountDao will use SQL from:

    +
    +
    +
      +
    • +

      /com/app/account/AccountDao/insert.sql

      +
    • +
    • +

      /com/app/account/AccountDao/findById.sql

      +
    • +
    • +

      /com/app/account/AccountDao/list.sql

      +
    • +
    • +

      /com/app/account/AccountDao/update.sql

      +
    • +
    • +

      /com/app/account/AccountDao/deleteById.sql

      +
    • +
    +
    +
    +

    Suppose Account used name()-style accessors instead of getName(). In that +case, we’d want AccountDao to use @BindMethods instead of @BindBean.

    +
    +
    +

    Let’s override those methods with the right annotations:

    +
    +
    +
    +
    package com.app.account;
    +
    +@RegisterConstructorMapper(Account.class)
    +public interface AccountDao extends CrudDao<Account, UUID> {
    +    @Override
    +    @SqlUpdate (1)
    +    void insert(@BindMethods Account entity);
    +
    +    @Override
    +    @SqlUpdate (1)
    +    void update(@BindMethods Account entity);
    +}
    +
    +
    +
    + + + + + +
    1Method annotations are not inherited on override, so we must duplicate +those we want to keep.
    +
    +
    +
    +
    +

    13.7. Combining SQL Object and the core API

    +
    +

    The SQL Object extension uses the same core API as programmatic SQL operations. There is an underlying Handle object that is used to execute the SQL methods.

    +
    +
    +

    A SQL Object type can extend the SqlObject mixin interface to get access to the handle. It also exposes a number of operations that can be used to mix declarative SQL Object methods with programmatic core API code:

    +
    +
    +
    +
    public interface SomeDao extends SqlObject {
    +    // ...
    +}
    +
    +void mixedCode() {
    +    SomeDao dao = jdbi.onDemand(SomeDao.class);
    +
    +    dao.withHandle(handle -> {
    +        handle.createQuery("SELECT * from users").mapTo(User.class).list();
    +    })
    +}
    +
    +
    +
    +

    This interface gives access to the handle and offers SqlObject#withHandle() and +SqlObject#useHandle() methods that execute callback code using the same handle object as the methods on the SQL object interface itself.

    +
    +
    + + + + + +
    + + +This is most useful for SQL object instances that get passed from other code, have been created from +Jdbi#onDemand() or use default methods. Any object that was created using the +Handle#attach() method will return the handle it was attached to. +
    +
    +
    +

    13.7.1. Getting access to the handle with the SqlObject mixin

    +
    +

    Occasionally a use case comes up where SQL Method annotations don’t fit. In these situations, it is possible to "drop down" to the Core API using interface +default methods and the SqlObject mixin interface:

    +
    +
    +
    +
    public interface SplineDao extends SqlObject {
    +    default void reticulateSplines(Spline spline) {
    +        Handle handle = getHandle();
    +        // do tricky stuff using the Core API
    +    }
    +}
    +
    +
    +
    +

    The Handle can be used for most operations available in the fluent API.

    +
    +
    +

    A handle should only be obtained in this way for very specific reasons, and it is a good practice to restrain the use of the handle to code within a Dao class (e.g. a default method). If fluent code and declarative code needs to be mixed, moving from fluent to declarative should be preferred.

    +
    +
    + + + + + +
    + + +A very notable exception is modifying the configuration of the handle. When a SQL object is created, every method on the SQL object gets its own, distinct configuration object. Calling any configuration modification method (any set* or register* method from the Configurable interface) will modify only the configuration object for the getHandle() method but not for any other method. +
    +
    +
    +

    The following code example DOES NOT WORK!

    +
    +
    +
    +
    @Test
    +public void testSqlObjectHandleConfigDoesNotWork() {
    +    List<Sulu> sulus = Arrays.asList(
    +        new Sulu(1, "George", "Takei"),
    +        new Sulu(2, "John", "Cho"));
    +
    +    db.useExtension(SuluDao.class, s -> {
    +        Handle h = s.getHandle();
    +        // THIS DOES NOT WORK! The argument factory is only
    +        // registered for the getHandle() method, not
    +        // for the insertSulus() method!
    +        h.registerArgument(new SuluArgumentFactory());
    +        // This call results in an exception that no argument
    +        // factory for the Sulu data type could be found!
    +        dao.insertSulus(sulus);
    +    }
    +}
    +
    +public interface SuluDao extends SqlObject {
    +    @SqlBatch("insert into something (id, name) values (:bean.id, :sulu)")
    +    void insertSulus(@Bind("sulu") @BindBean("bean") List<Sulu> sulus);
    +}
    +
    +
    +
    +

    The code above can be rewritten to move from fluent to declarative API:

    +
    +
    +
    +
    public void testMixFluentAndSqlObject() {
    +    List<Sulu> sulus = Arrays.asList(
    +        new Sulu(1, "George", "Takei"),
    +        new Sulu(2, "John", "Cho"));
    +
    +    db.withHandle(h -> {
    +        // register the argument with the handle before attaching
    +        // the dao to the handle
    +        h.registerArgument(new SuluArgumentFactory());
    +        SuluDao dao = h.attach(SuluDao.class);
    +        // all methods on the dao have received the configuration with the
    +        // argument factory
    +        dao.insertSulus(sulus);
    +        return null;
    +    });
    +}
    +
    +
    +
    +
    +

    13.7.2. Using default Methods

    +
    +

    Default methods can be used to group multiple SQL operations into a single method call:

    +
    +
    +
    +
    public interface ContactPhoneDao {
    +    @SqlUpdate("INSERT INTO contacts (id, name) VALUES (nextval('contact_id'), :name)")
    +    long insertContact(@BindBean Contact contact);
    +
    +    @SqlBatch("INSERT INTO phones (contact_id, type, phone) VALUES (:contactId, :type, :phone)")
    +    void insertPhone(long contactId, @BindBean Iterable<Phone> phones);
    +
    +    default long insertFullContact(Contact contact) {
    +        long id = insertContact(contact);
    +        insertPhone(id, contact.getPhones());
    +        return id;
    +    }
    +}
    +
    +
    +
    +
    +
    +

    13.8. SQL Object Transactions

    +
    +

    Methods on a SQL object can have a @Transaction annotation:

    +
    +
    +
    +
    @Transaction
    +@SqlQuery("SELECT * FROM users WHERE id=:id")
    +Optional<User> findUserById(int id);
    +
    +
    +
    +

    SQL methods with a @Transaction annotation may optionally specify a +transaction isolation level:

    +
    +
    +
    +
    @Transaction(TransactionIsolationLevel.READ_COMMITTED)
    +@SqlUpdate("INSERT INTO USERS (name) VALUES (:name)")
    +void insertUser(String name);
    +
    +
    +
    +

    Similar to the Jdbi#inTransaction() and Jdbi#useTransaction() operations in the core API, transactions are not nested. If a method, that has been annotated with @Transaction, calls another method that is annotated as well (e.g. through an interface default method), then the same transaction will be reused, and it will be committed when the outer transaction ends.

    +
    +
    +

    Nested method calls must either use the same transaction isolation level or inner methods must not specify any transaction level. In that case, the transaction level of the outer transaction maintained.

    +
    +
    +
    +
    @Transaction(TransactionIsolationLevel.READ_UNCOMMITTED)
    +default void outerMethodCallsInnerWithSameLevel() {
    +    // this works: isolation levels agree
    +    innerMethodSameLevel();
    +}
    +
    +@Transaction(TransactionIsolationLevel.READ_UNCOMMITTED)
    +default void innerMethodSameLevel() {}
    +
    +@Transaction(TransactionIsolationLevel.READ_COMMITTED)
    +default void outerMethodWithLevelCallsInnerMethodWithNoLevel() {
    +    // this also works: inner method doesn't specify a level, so the outer method controls.
    +    innerMethodWithNoLevel();
    +}
    +
    +@Transaction
    +default void innerMethodWithNoLevel() {}
    +
    +@Transaction(TransactionIsolationLevel.REPEATABLE_READ)
    +default void outerMethodWithOneLevelCallsInnerMethodWithAnotherLevel() throws TransactionException {
    +    // error! inner method specifies a different isolation level.
    +    innerMethodWithADifferentLevel();
    +}
    +
    +@Transaction(TransactionIsolationLevel.SERIALIZABLE)
    +default void innerMethodWithADifferentLevel() {}
    +
    +
    +
    +

    13.8.1. Executing multiple SQL operations in a single transaction

    +
    +

    A SQL object method uses its own transaction. Multiple method calls can be grouped together to use a shared transaction:

    +
    +
    +

    For an existing handle, attach the SQL object inside the transaction:

    +
    +
    +
    +
    public interface UserDao {
    +    @Transaction
    +    @SqlUpdate("INSERT INTO users VALUES (:id, :name)")
    +    void createUser(int id, String name);
    +}
    +
    +public void createUsers(Handle handle) {
    +    handle.useTransaction(transactionHandle -> {
    +        UserDao dao = transactionHandle.attach(UserDao.class);
    +
    +        // both inserts happen in the same transaction
    +        dao.createUser(1, "Alice");
    +        dao.createUser(2, "Bob");
    +    }
    +}
    +
    +
    +
    +

    As an alternative, the Transactional mixin interface can be used to provide transaction support on a SQL object.

    +
    +
    +

    Similar to the SqlObject interface, it gives access to all transaction related methods on the Handle and offers the same callbacks as the Handle itself.

    +
    +
    +

    With this mixin interface, the Transactional#useTransaction() and Transactional#inTransaction() methods group statements into a single transaction by using a callback:

    +
    +
    +
    +
    public interface UserDao extends Transactional<UserDao> {
    +    @Transaction
    +    @SqlUpdate("INSERT INTO users VALUES (:id, :name)")
    +    void createUser(int id, String name);
    +}
    +
    +public void createUsers(Jdbi jdbi) {
    +    UserDao dao = jdbi.onDemand(UserDao.class);
    +
    +    dao.useTransaction(transactionDao -> {
    +        // both inserts happen in the same transaction
    +        transactionDao.createUser(1, "Alice");
    +        transactionDao.createUser(2, "Bob");
    +    });
    +}
    +
    +
    +
    +

    Nested calls can be used as well:

    +
    +
    +
    +
    public interface UserDao extends Transactional<UserDao> {
    +    @Transaction
    +    @SqlUpdate("INSERT INTO users VALUES (:id, :name)")
    +    void createUser(int id, String name);
    +}
    +
    +public void createUsers(Jdbi jdbi) {
    +    UserDao dao = jdbi.onDemand(UserDao.class);
    +
    +    dao.useTransaction(transactionDao1 -> {
    +        // both inserts happen in the same transaction
    +        transactionDao1.createUser(1, "Alice");
    +
    +        transactionDao1.useTransaction(transactionDao2 -> {
    +            transactionDao2.createUser(2, "Bob");
    +        });
    +    });
    +}
    +
    +
    +
    +

    SQL object calls and core API calls can be mixed:

    +
    +
    +
    +
    public interface UserDao extends Transactional<UserDao> {
    +    @Transaction
    +    @SqlUpdate("INSERT INTO users VALUES (:id, :name)")
    +    void createUser(int id, String name);
    +}
    +
    +public void createUsers(Jdbi jdbi) {
    +    UserDao dao = jdbi.onDemand(UserDao.class);
    +
    +    dao.useTransaction(transactionDao -> {
    +        // inserts happen in the same transaction
    +        transactionDao.createUser(1, "Alice");
    +        transactionDao.createUser(2, "Bob");
    +
    +        // this insert as well
    +        transactionDao.getHandle().useTransaction(transactionHandle ->
    +            transactionHandle.createUpdate("USERT INTO users VALUES (:id, :name)")
    +                .bind("id", 3)
    +                .bind("name", "Charlie")
    +                .execute();
    +        }
    +    }
    +}
    +
    +
    +
    + + + + + +
    + + +The Transactional interface has the same constraints as the SQLObject mixin. Especially modifying the configuration by obtaining a handle using getHandle() and then calling any set* or register* method from the Configurable interface is not supported and will modify only the configuration for the getHandle() method. +
    +
    +
    +
    +
    +
    +
    +

    14. Miscellaneous

    +
    +
    +

    14.1. Generated Keys

    +
    +

    An Update or PreparedBatch may automatically generate keys. These keys +are treated separately from normal results. Depending on your database and +configuration, the entire inserted row may be available.

    +
    +
    + + + + + +
    + + +There is a lot of variation between databases supporting +this feature so please test this feature’s interaction with your database +thoroughly. +
    +
    +
    +

    In PostgreSQL, the entire row is available, so you can immediately map your +inserted names back to full User objects! This avoids the overhead of +separately querying after the insert completes.

    +
    +
    +

    Consider the following table:

    +
    +
    +
    +
    public static class User {
    +
    +    final int id;
    +    final String name;
    +
    +    public User(int id, String name) {
    +        this.id = id;
    +        this.name = name;
    +    }
    +}
    +
    +@BeforeEach
    +public void setUp() {
    +    db = pgExtension.getJdbi();
    +
    +    db.useHandle(h -> h.execute("CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR)"));
    +    db.registerRowMapper(ConstructorMapper.factory(User.class));
    +}
    +
    +
    +
    +

    You can get generated keys in the fluent style:

    +
    +
    +
    +
    public void fluentInsertKeys() {
    +    db.useHandle(handle -> {
    +        User data = handle.createUpdate("INSERT INTO users (name) VALUES(?)")
    +                .bind(0, "Data")
    +                .executeAndReturnGeneratedKeys()
    +                .mapTo(User.class)
    +                .one();
    +
    +        assertThat(data.id).isOne(); // this value is generated by the database
    +        assertThat(data.name).isEqualTo("Data");
    +    });
    +}
    +
    +
    +
    +
    +

    14.2. Qualified Types

    +
    +

    Sometimes the same Java object can correspond to multiple data types in a database. For example, +a String could be varchar plaintext, nvarchar text, json data, etc., all with different handling requirements.

    +
    +
    +

    QualifiedType allows you to add such context to a Java type:

    +
    +
    +
    +
    QualifiedType.of(String.class).with(Json.class);
    +
    +
    +
    +

    This QualifiedType still represents the String type, but qualified with the @Json annotation. +It can be used in a way similar to GenericType, to make components +handling values (mainly ArgumentFactories and ColumnMapperFactories) perform their work differently, +and to have the values handled by different implementations altogether:

    +
    +
    +
    +
    @Json
    +public class JsonArgumentFactory extends AbstractArgumentFactory<String> {
    +    @Override
    +    protected Argument build(String value, ConfigRegistry config) {
    +        // do something specifically for json data
    +    }
    +}
    +
    +
    +
    +

    Once registered, this @Json qualified factory will receive only @Json String values. +Other factories not qualified as such will not receive this value:

    +
    +
    +
    +
    QualifiedType<String> json = QualifiedType.of(String.class).with(Json.class);
    +query.bindByType("jsonValue", "{\"foo\":1}", json);
    +
    +
    +
    + + + + + +
    + + +Jdbi chooses factories to handle values by exactly matching their qualifiers. It’s up to the +factory implementations to discriminate on the type of the value afterward. +
    +
    +
    + + + + + +
    + + +Qualifiers are implemented as Annotations. This allows factories to independently inspect values for qualifiers at the source, +such as on their Class, to alter their own behavior or to requalify a value +and have it re-evaluated by Jdbi’s lookup chain. +
    +
    +
    + + + + + +
    + + +Qualifiers being annotations does not mean they inherently activate +their function when placed in source classes. Each feature decides its own +rules regarding their use. +
    +
    +
    + + + + + +
    + + +Arguments can only be qualified for binding via bindByType calls, not regular +bind or update.execute(Object...). Also, arrays cannot be qualified. +
    +
    +
    +

    These features currently make use of qualified types:

    +
    +
    +
      +
    • +

      @NVarchar and @MacAddr (the latter in jdbi3-postgres) bind and map Strings as nvarchar and macaddr +respectively, instead of the usual varchar.

      +
    • +
    • +

      jdbi3-postgres offers HStore.

      +
    • +
    • +

      JSON

      +
    • +
    • +

      BeanMapper, @BindBean, @RegisterBeanMapper, mapTobean(), and bindBean() respect qualifiers on getters, setters, +and setter parameters.

      +
    • +
    • +

      ConstructorMapper and @RegisterConstructorMapper respect qualifiers on constructor parameters.

      +
    • +
    • +

      @BindMethods and bindMethods() respect qualifiers on methods.

      +
    • +
    • +

      @BindFields, @RegisterFieldMapper, FieldMapper and bindFields() respect qualifiers on fields.

      +
    • +
    • +

      SqlObject respects qualifiers on methods (applies them to the return type) and parameters.

      +
      +
        +
      • +

        on parameters of type Consumer<T>, qualifiers are applied to the T.

        +
      • +
      +
      +
    • +
    • +

      @MapTo

      +
    • +
    • +

      @BindJpa and JpaMapper respect qualifiers on getters and setters.

      +
    • +
    • +

      @BindKotlin, bindKotlin(), and KotlinMapper respect qualifiers on constructor parameters, getters, setters, and setter parameters.

      +
    • +
    +
    +
    +
    +

    14.3. Query Templating

    +
    +

    Binding query parameters, as described above, is excellent for sending a static set of parameters to the database engine. Binding ensures that the parameterized query string (... where foo = ?) is transmitted to the database without allowing hostile parameter values to inject SQL.

    +
    +
    +

    Bound parameters are not always enough. Sometimes a query needs complicated or structural changes before being executed, and parameters just don’t cut it. Templating (using a TemplateEngine) allows you to alter a query’s content with general String manipulations.

    +
    +
    +

    Typical uses for templating are optional or repeating segments (conditions and loops), complex variables such as comma-separated lists for IN clauses, and variable substitution for non-bindable SQL elements (like table names). Unlike argument binding, the rendering of attributes performed by TemplateEngines is not SQL-aware. Since they perform generic String manipulations, TemplateEngines can easily produce horribly mangled or subtly defective queries if you don’t use them carefully.

    +
    +
    + + + + + +
    + + +Query templating is a common attack vector! Always prefer binding parameters to static SQL over dynamic SQL when possible. +
    +
    +
    +
    +
    handle.createQuery("SELECT * FROM <TABLE> WHERE name = :n")
    +
    +    // -> "SELECT * FROM Person WHERE name = :n"
    +    .define("TABLE", "Person")
    +
    +    // -> "SELECT * FROM Person WHERE name = 'MyName'"
    +    .bind("n", "MyName");
    +
    +
    +
    + + + + + +
    + + +Use a TemplateEngine to perform crude String manipulations on a query. Query parameters should be handled by Arguments. +
    +
    +
    + + + + + +
    + + +TemplateEngines and SqlParsers operate sequentially: the initial String will be rendered by the TemplateEngine using attributes, then parsed by the SqlParser with Argument bindings. +
    +
    +
    +

    If the TemplateEngine outputs text matching the parameter format of the SqlParser, the parser will attempt to bind an Argument to it. This can be useful to e.g. have named parameters of which the name itself is also a variable, but can also cause confusing bugs:

    +
    +
    +
    +
    String paramName = "arg";
    +
    +handle.createQuery("SELECT * FROM Foo WHERE bar = :<attr>")
    +    .define("attr", paramName)
    +    // ...
    +    .bind(paramName, "baz"); // <- does not need to know the parameter's name ("arg")!
    +
    +
    +
    +
    +
    handle.createQuery("SELECT * FROM emotion WHERE emoticon = <sticker>")
    +    .define("sticker", ":-)") // -> "... WHERE emoticon = :-)"
    +    .mapToMap()
    +    // exception: no binding/argument named "-)" present
    +    .list();
    +
    +
    +
    +

    Bindings and definitions are usually separate. You can link them in a limited manner +using the stmt.defineNamedBindings() or @DefineNamedBindings customizers. +For each bound parameter (including bean properties), this will define a boolean which is true if the +binding is present and not null. You can use this to +craft conditional updates and query clauses.

    +
    +
    +

    For example,

    +
    +
    +
    +
    class MyBean {
    +    long id();
    +    String getA();
    +    String getB();
    +    Instant getModified();
    +}
    +
    +handle.createUpdate("UPDATE mybeans SET <if(a)>a = :a,<endif> <if(b)>b = :b,<endif> modified=now() WHERE id=:id")
    +    .bindBean(mybean)
    +    .defineNamedBindings()
    +    .execute();
    +
    +
    +
    +

    Also see the section about TemplateEngine.

    +
    +
    +

    14.3.1. ClasspathSqlLocator

    +
    +

    You may find it helpful to store your SQL templates in individual files on the +classpath, rather than in string inside Java code.

    +
    +
    +

    The ClasspathSqlLocator converts Java type and method names into classpath locations, +and then reads, parses, and caches the loaded statements.

    +
    +
    +
    +
    // reads classpath resource com/foo/BarDao/query.sql
    +ClasspathSqlLocator.create().locate(com.foo.BarDao.class, "query");
    +
    +// same resource as above
    +ClasspathSqlLocator.create().locate("com.foo.BarDao.query");
    +
    +
    +
    +

    By default, any comments in the loaded file are left untouched. Comments can be stripped out by +instantiating the ClasspathSqlLocator with the removingComments() method:

    +
    +
    +
    +
    // reads classpath resource com/foo/BarDao/query.sql, stripping all comments
    +ClasspathSqlLocator.removingComments().locate(com.foo.BarDao.class, "query");
    +
    +// same resource as above
    +ClasspathSqlLocator.removingComments().locate("com.foo.BarDao.query");
    +
    +
    +
    +

    Multiple comment styles are supported:

    +
    +
    +
      +
    • +

      C-style (/* ... */ and // to the end of the line)

      +
    • +
    • +

      SQL style (-- to the end of the line)

      +
    • +
    • +

      shell style (# to the end of the line; except when followed immediately by the > character; this is required for the Postgres #> and #>> operators).

      +
    • +
    +
    +
    +

    Each piece of core or extension that wishes to participate in +configuration defines a configuration class, for example the SqlStatements +class stores SqlStatement related configuration. Then, on any Configurable context +(like a Jdbi or Handle) you can change configuration in a type safe way:

    +
    +
    +
    +
    jdbi.getConfig(SqlStatements.class).setUnusedBindingAllowed(true);
    +jdbi.getConfig(Arguments.class).register(new MyTypeArgumentFactory());
    +jdbi.getConfig(Handles.class).setForceEndTransactions(true);
    +
    +// Or, if you have a bunch of work to do:
    +jdbi.configure(RowMappers.class, rm -> {
    +    rm.register(new TypeARowMapperFactory();
    +    rm.register(new TypeBRowMapperFactory();
    +});
    +
    +
    +
    +
    +
    +

    14.4. Statement caching

    +
    +

    Jdbi caches statement information in multiple places:

    +
    +
    +
      +
    • +

      preparsed SQL where placeholders have been replaced.

      +
    • +
    • +

      rendered statement templates if the template engine supports it.

      +
    • +
    +
    +
    +

    Caching can dramatically speed up the execution of statements. By default, Jdbi uses a simple LRU in-memory cache with 1,000 entries. This cache is sufficient for most use cases.

    +
    +
    +

    For applications than run a lot of different SQL operations, it is possible to use different cache implementations. Jdbi provides a cache SPI for this.

    +
    +
    +

    The following cache implementations are included:

    +
    +
    +
      +
    • +

      jdbi3-caffeine-cache - using the Caffeine cache library. This used to be the default cache up to version 3.36.0

      +
    • +
    • +

      jdbi3-noop-cache, - disables caching. This is useful for testing and debugging.

      +
    • +
    +
    +
    +

    A cache module can provide a plugin to enable it. Only one plugin can be in use at a time (last one installed wins):

    +
    +
    +
    +
    // use the caffeine cache library
    +jdbi.installPlugin(new CaffeineCachePlugin());
    +
    +
    +
    +

    14.4.1. Using custom cache instances

    +
    +

    The default cache instances are installed when the Jdbi object is created. When using a cache plugin, the implementation is changed but only very few aspects of the cache can be modified.

    +
    +
    +

    Full customization is possible by creating the cache outside Jdbi and then use a cache builder adapter:

    +
    +
    +
    +
    // create a custom Caffeine cache
    +JdbiCacheBuilder customCacheBuilder = new CaffeineCacheBuilder(
    +    Caffeine.newBuilder()
    +        .maximumSize(100_000)
    +        .expireAfterWrite(10, TimeUnit.MINUTES)
    +        .recordStats());
    +
    +SqlStatements config = jdbi.getConfig(SqlStatements.class);
    +config.setTemplateCache(customCacheBuilder));
    +config.setSqlParser(new ColonPrefixSqlParser(customCacheBuilder));
    +
    +
    +
    +

    When setting the caches explicitly, no cache plugin needs to be installed.

    +
    +
    + + + + + +
    + + +If the underlying cache library exposes per-cache statistics, these can be accessed through the SqlStatements#cacheStats() and CachingSqlParser#cacheStats() methods. +
    +
    +
    +
    +
    +
    +
    +

    15. Testing

    +
    +
    + + + + + +
    + + +The official test support from Jdbi is in the jdbi-testing package. There are a number of additional JUnit 5 extensions in the jdbi-core test artifact. These are only intended for Jdbi internal use and not part of the official, public API. +
    +
    +
    +

    15.1. JUnit 4

    +
    +

    The jdbi3-testing artifact provides JdbiRule +class which implements TestRule and can be used with the Rule and ClassRule annotations.

    +
    +
    +

    It provides helpers for writing JUnit 4 tests integrated with a managed database instance. This makes writing unit tests quick and easy! You must remember to include the database dependency itself, for example to get a pure H2 Java database:

    +
    +
    +
    +
    <dependency>
    +    <groupId>com.h2database</groupId>
    +    <artifactId>h2</artifactId>
    +    <version>2.1.224</version>
    +    <scope>test</scope>
    +</dependency>
    +
    +
    +
    +

    JUnit 4 supports the OTJ embedded postgres component, which needs to be included when using Postgres:

    +
    +
    +
    +
    <dependency>
    +    <groupId>com.opentable.components</groupId>
    +    <artifactId>otj-pg-embedded</artifactId>
    +    <version>1.0.2</version>
    +    <scope>test</scope>
    +</dependency>
    +
    +
    +
    +
    +

    15.2. JUnit 5

    +
    +

    The jdbi3-testing artifact provides JdbiExtension for JUnit 5 based tests.

    +
    +
    +

    It supports both the @RegisterExtension and @ExtendWith annotations.

    +
    +
    +

    When using @RegisterExtension, the extensions can be customized further:

    +
    +
    +
    +
    public class Test {
    +    @RegisterExtension
    +    public JdbiExtension h2Extension = JdbiExtension.h2()
    +        withPlugin(new SqlObjectPlugin());
    +
    +    @Test
    +    public void testWithJunit5() {
    +        Jdbi jdbi = h2Extension.getJdbi();
    +        Handle handle = h2Extension.openHandle();
    +        // ...
    +    }
    +}
    +
    +
    +
    +

    The JdbiExtension and all its database specific subclasses can be registered as instance fields or as class-level (static) fields.

    +
    +
    +

    When registered as an instance field, each test will get a new Jdbi instance. The in-memory database specific subclasses (H2, SQLite or HsqlDB with the generic extension) will reset their content and provide a new instance.

    +
    +
    +

    When registered as a static field, the extension will be initialized before all test methods are executed. All tests share the same extension instance and its associated fields. The in-memory database specific subclasses will retain their contents across multiple tests.

    +
    +
    +

    The javadoc page for JdbiExtension contains additional information on how to customize a programmatically registered instance.

    +
    +
    +

    When using the @ExtendWith declarative extension, test methods can access the Jdbi and Handle objects through method parameters:

    +
    +
    +
    +
    @ExtendWith(JdbiH2Extension.class)
    +public class Test {
    +    @Test
    +    public void testWithJunit5(Jdbi jdbi, Handle handle) {
    +        // ...
    +    }
    +}
    +
    +
    +
    +

    The instances injected are the same instances as returned by getJdbi() and getSharedHandle().

    +
    +
    +

    Currently supported databases:

    +
    +
    + +
    +
    +

    Support for other databases wanted!

    +
    +
    +

    The JdbiExtension provides a number of convenience methods:

    +
    +
    +
    +
    public class JdbiExtension {
    +    public JdbiExtension postgres(...) // new JdbiPostgresExtension(...)
    +
    +    public JdbiExtension externalPostgres(...) // new JdbiExternalPostgresExtension(...)
    +
    +    public JdbiExtension otjEmbeddedPostgres() // new JdbiOtjPostgresExtension()
    +
    +    public JdbiExtension h2() // new JdbiH2Extension()
    +
    +    public JdbiExtension sqlite() // new JdbiSqliteExtension()
    +}
    +
    +
    +
    +

    Additional functionality may be available by using the database specific implementation classes directly. For most common use cases, the convenience methods should suffice.

    +
    +
    +

    15.2.1. Testing with H2

    +
    +

    The H2 database is one of the most popular choices for embedded testing. The JdbiH2Extension class allows for a few additional customizations:

    +
    +
    +
    +
    // JdbiH2Extension(String) constructor allows H2 options
    +// JDBC URL is jdbc:h2:mem:<UUID>;MODE=MySQL
    +JdbiH2Extension extension = new JdbiH2Extension("MODE=MySQL");
    +
    +// set H2 user
    +extension.withUser("h2-user");
    +
    +// set H2 user and password
    +extension.withCredentials("h2-user", "h2-password");
    +
    +
    +
    +
    +

    15.2.2. Testing with Postgres

    +
    +

    Postgres is supported through multiple test classes:

    +
    +
    + +
    +
    +
    +
    +

    15.3. Using Testcontainers

    +
    +

    The Testcontainers project provides a number of services as docker containers with a programmatic interface for JVM code. Jdbi supports JDBC type databases with the JdbiTestcontainersExtension:

    +
    +
    +
    +
    @Testcontainers
    +class TestWithContainers {
    +    @Container
    +    static JdbcDatabaseContainer<?> dbContainer = new YugabyteDBYSQLContainer("yugabytedb/yugabyte");
    +
    +    @RegisterExtension
    +    JdbiExtension extension = JdbiTestcontainersExtension.instance(dbContainer);
    +
    +    // ... test code using the yugabyte engine
    +}
    +
    +
    +
    + + + + + +
    + + +The dbContainer object is registered as class level field for sharing between all the tests in the test class as described in the JUnit 5 documentation. Some IDEs warn that this field should not be static. This is a false positive/bug. Changing dbContainer to an instance field will result in starting and stopping a new database per test which is a significant performance penalty. +
    +
    +
    +

    The JdbiTestcontainersExtension has built-in support to isolate each test method in a test class. The container can be declared as a static class member which speeds up test execution significantly.

    +
    +
    +

    There is built-in support for MySQL, MariaDB, TiDB, PostgreSQL, CockroachDB, YugabyteDB, ClickHouseDB, Oracle XE, Oracle free, Trino, MS SQLServer and DB2. It also supports the various compatible flavors (such as PostGIS for PostgreSQL).

    +
    +
    +

    By default, Jdbi tries to run every test with its own schema instance in a single schema. For database engines that do not support schemas, it will use separate catalogs. For database engines that do not support catalogs or schemas (e.g. MySQL), it will use separate databases.

    +
    +
    +

    For each database, Jdbi can provide custom user, catalog and schema names and requires one or more SQL statements to initialize an isolated instance for testing.

    +
    + + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1. Supported Testcontainer databases
    DatabaseIsolation typeDatabase UserCatalog/Database nameSchema name

    MySQL, MariaDB, TiDB

    Catalog

    root

    (random)

    PostgreSQL, CockroachDB, YugabyteDB

    Schema

    (default)

    test

    (random)

    ClickhouseDB

    Catalog

    (default)

    (random)

    Oracle XE, Oracle free

    Schema

    system

    (default catalog)

    (random)

    Trino

    Schema

    (default)

    memory

    (random)

    MS SQLServer

    Catalog

    sa

    (random)

    DB2

    Schema

    (default)

    test

    (random)

    +
    +
      +
    • +

      Database user (default): Jdbi uses the default user as returned by the testcontainer class.

      +
    • +
    • +

      Isolation type Catalog: A new catalog (or database) is created for each test. The schema name is not used or the database does not support schemas.

      +
    • +
    • +

      Isolation type Schema: A new schema is created in the specified catalog (or database).

      +
    • +
    • +

      Catalog or Schema name (random): Jdbi will create a random name.

      +
    • +
    +
    +
    +

    15.3.1. Providing custom database information

    +
    +

    While Jdbi makes an effort to support all databases provided by the Testcontainers project that support JDBC, there are some situation when it is necessary to provide additional information:

    +
    +
    +
      +
    • +

      Using a database that is supported by testcontainer but not yet by Jdbi.

      +
    • +
    • +

      Using a custom docker image that is incompatible with the default Jdbi testcontainer support.

      +
    • +
    • +

      Require specific behavior in tests that is different from the Jdbi testcontainer support.

      +
    • +
    +
    +
    +

    The TestcontainersDatabaseInformation#of() method allows creation of custom database information instances which then can be passed into JdbiTestcontainersExtension#instance(TestcontainersDatabaseInformation, JdbcDatabaseContainer) to create extensions with custom behavior.

    +
    +
    +

    This is an example that uses a custom user with a special database image:

    +
    +
    +
    +
    @Testcontainers
    +class UseCustomMysqlContainer {
    +private static final TestcontainersDatabaseInformation CUSTOM_MYSQL =
    +    TestcontainersDatabaseInformation.of(
    +            "custom_user",  // This user must have privileges to create databases
    +            null,    // do not override the generated catalog name
    +            null,    // mysql does not know anything about schemas, so this value is ignored
    +            // create a new database from the catalog name
    +            (catalogName, schemaName) -> format("CREATE DATABASE %s", catalogName)
    +    );
    +
    +    @Container
    +    static JdbcDatabaseContainer<?> dbContainer = new MySQLContainer<>(
    +       DockerImageName.parse("custom/mysql-image").asCompatibleSubstituteFor("mysql"));
    +
    +    @RegisterExtension
    +    JdbiExtension extension = JdbiTestcontainersExtension.instance(CUSTOM_MYSQL, dbContainer);
    +
    +    // ... test code using the custom mysql instance
    +}
    +
    +
    +
    +

    The Javadoc for the TestcontainersDatabaseInformation class has additional details on how to create custom JdbiTestcontainersExtension instances.

    +
    +
    +
    +

    15.3.2. Controlling the extension shutdown timeout

    +
    +

    Some testcontainer based database may take a long time to create a new schema so when tests run very fast, shutting down the JdbiTestcontainersExtension at the end of a test may interrupt this process and log spurious messages in the logs. Those messages are benign and can be safely ignored. If it is necessary (e.g. because there is a "no messages" policy in place at your organization), the shutdown time can be extended by setting the wait time to a higher value than the default of 10 seconds:

    +
    +
    +
    +
    @RegisterExtension
    +JdbiExtension extension = JdbiTestcontainersExtension.instance(CUSTOM_MYSQL, dbContainer)
    +    .setShutdownWaitTimeInSeconds(20); // set shutdown wait time to 20 seconds
    +
    +
    +
    + + + + + +
    + + +Using a wait time of 0 seconds will wait until all of the internal state has been shutdown completely. This may result in infinite hangs of the tests when shutting down. +
    +
    +
    +
    +
    +
    +
    +

    16. Third-Party Integration

    +
    +
    +

    16.1. Google Guava

    +
    +

    This plugin adds support for the following types:

    +
    +
    +
      +
    • +

      Optional<T> - registers an argument and mapper. Supports Optional for any +wrapped type T for which a mapper / argument factory is registered.

      +
    • +
    • +

      Most Guava collection and map types - see +GuavaCollectors for a complete + list of supported types.

      +
    • +
    +
    +
    +

    To use this plugin, add a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-guava</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-guava:3.45.2")
    +}
    +
    +
    +
    +

    Then install the plugin into the Jdbi instance:

    +
    +
    +
    +
    jdbi.installPlugin(new GuavaPlugin());
    +
    +
    +
    +

    With the plugin installed, any supported Guava collection type can +be returned from a SQL object method:

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlQuery("select * from users order by name")
    +    ImmutableList<User> list();
    +
    +    @SqlQuery("select * from users where id = :id")
    +    com.google.common.base.Optional<User> getById(long id);
    +}
    +
    +
    +
    +
    +

    16.2. H2 Database

    +
    +

    This plugin configures Jdbi to correctly handle integer[] and uuid[] data +types in an H2 database.

    +
    +
    +

    This plugin is included with the core jar (but may be extracted to separate +artifact in the future). Use it by installing the plugin into your Jdbi +instance:

    +
    +
    +
    +
    jdbi.installPlugin(new H2DatabasePlugin());
    +
    +
    +
    +
    +

    16.3. JSON

    +
    +

    The jdbi3-json module adds a @Json type qualifier that allows to store arbitrary Java objects as JSON data in your database.

    +
    +
    +

    The actual JSON (de)serialization code is not included. For that, you must install a backing plugin (see below).

    +
    +
    + + + + + +
    + + +Backing plugins will install the JsonPlugin for you. +You do not need to install it yourself or include the jdbi3-json dependency directly. +
    +
    +
    +

    The feature has been tested with Postgres json columns +and varchar columns in H2 and Sqlite.

    +
    +
    +

    16.3.1. Jackson 2

    +
    +

    This plugin provides JSON backing through Jackson 2. To use it, add a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-jackson2</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-jackson2:3.45.2")
    +}
    +
    +
    +
    +
    +
    jdbi.installPlugin(new Jackson2Plugin());
    +// optionally configure your ObjectMapper (recommended)
    +jdbi.getConfig(Jackson2Config.class).setMapper(myObjectMapper);
    +
    +// now with simple support for Json Views if you want to filter properties:
    +jdbi.getConfig(Jackson2Config.class).setView(ApiProperty.class);
    +
    +
    +
    +
    +

    16.3.2. Gson 2

    +
    +

    This plugin provides JSON backing through Gson 2. To use it, add a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-gson2</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-gson2:3.45.2")
    +}
    +
    +
    +
    +
    +
    jdbi.installPlugin(new Gson2Plugin());
    +// optional
    +jdbi.getConfig(Gson2Config.class).setGson(myGson);
    +
    +
    +
    +
    +

    16.3.3. Moshi

    +
    +

    This plugin provides JSON backing through Moshi. To use it, add a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-moshi</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-moshi:3.45.2")
    +}
    +
    +
    +
    +
    +
    jdbi.installPlugin(new MoshiPlugin());
    +// optional
    +jdbi.getConfig(MoshiConfig.class).setMoshi(myMoshi);
    +
    +
    +
    +
    +

    16.3.4. Operation

    +
    +

    Any bound object qualified as @Json +will be converted by the registered +JsonMapper and requalified as +@EncodedJson String. +A corresponding @EncodedJson ArgumentFactory will then be called to store the JSON data, +allowing special JSON handling for your database to be implemented. +If none are found, a factory for plain String will be used instead, to handle the JSON as plaintext.

    +
    +
    +

    Mapping works just the same way, but in reverse: an output type qualified as @Json T will be fetched from a +@EncodedJson String or String ColumnMapper, and then passed through the JsonMapper.

    +
    +
    + + + + + +
    + + +Our PostgresPlugin provides qualified factories that will +bind/map the @EncodedJson String to/from json or jsonb-typed columns. +
    +
    +
    +
    +

    16.3.5. Usage

    +
    +
    +
    handle.execute("create table myjsons (id serial not null, value json not null)");
    +
    +
    +
    +

    SqlObject:

    +
    +
    +
    +
    // any json-serializable type
    +class MyJson {}
    +
    +// use @Json qualifier:
    +interface MyJsonDao {
    +    @SqlUpdate("INSERT INTO myjsons (json) VALUES(:value)")
    +    // on parameters
    +    int insert(@Json MyJson value);
    +
    +    @SqlQuery("SELECT value FROM myjsons")
    +    // on result types
    +    @Json
    +    List<MyJson> select();
    +}
    +
    +// also works on bean or property-mapped objects:
    +class MyBean {
    +    private final MyJson property;
    +    @Json
    +    public MyJson getProperty() { return ...; }
    +}
    +
    +
    +
    +

    With the Fluent API, you provide a QualifiedType<T> any place you’d normally provide a Class<T> or GenericType<T>:

    +
    +
    +
    +
    QualifiedType<MyJson> qualifiedType = QualifiedType.of(MyJson.class).with(Json.class);
    +
    +h.createUpdate("INSERT INTO myjsons(json) VALUES(:json)")
    +    .bindByType("json", new MyJson(), qualifiedType)
    +    .execute();
    +
    +MyJson result = h.createQuery("SELECT json FROM myjsons")
    +    .mapTo(qualifiedType)
    +    .one();
    +
    +
    +
    +
    +
    +

    16.4. Immutables

    +
    +

    Immutables is an annotation processor that generates +value types based on simple interface descriptions. The value types naturally map very well +to property binding and row mapping.

    +
    +
    + + + + + +
    + + +Immutables support is still experimental and does not yet support custom naming schemes. +We do support the configurable get, is, and set prefixes. +
    +
    +
    +

    Just tell us about your types by installing the plugin and configuring your Immutables type:

    +
    +
    +

    jdbi.getConfig(JdbiImmutables.class).registerImmutable(MyValueType.class)

    +
    +
    +

    The configuration will both register appropriate RowMapper⁠s as well as configure the new bindPojo (or @BindPojo) binders:

    +
    +
    +
    +
    @Value.Immutable
    +public interface Train {
    +
    +    String name();
    +
    +    int carriages();
    +
    +    boolean observationCar();
    +}
    +
    +@Test
    +public void simpleTest() {
    +    jdbi.getConfig(JdbiImmutables.class).registerImmutable(Train.class);
    +    try (Handle handle = jdbi.open()) {
    +        handle.execute("create table train (name varchar, carriages int, observation_car boolean)");
    +
    +        assertThat(
    +            handle.createUpdate("insert into train(name, carriages, observation_car) values (:name, :carriages, :observationCar)")
    +                .bindPojo(ImmutableTrain.builder().name("Zephyr").carriages(8).observationCar(true).build())
    +                .execute())
    +            .isOne();
    +
    +        assertThat(
    +            handle.createQuery("select * from train")
    +                .mapTo(Train.class)
    +                .one())
    +            .extracting("name", "carriages", "observationCar")
    +            .containsExactly("Zephyr", 8, true);
    +    }
    +}
    +
    +
    +
    +
    +

    16.5. Freebuilder

    +
    +

    Freebuilder is an annotation +processor that generates value types based on simple interface or abstract +class descriptions. Jdbi supports Freebuilder in much the same way that it +supports Immutables.

    +
    +
    + + + + + +
    + + +Freebuilder support is still experimental and may not support all Freebuilder +implemented features. We do support both JavaBean style getters and setters as +well as unprefixed getters and setters. +
    +
    +
    +

    Just tell us about your Freebuilder types by installing the plugin and +configuring your Freebuilder type:

    +
    +
    +

    jdbi.getConfig(JdbiFreebuilder.class).registerFreebuilder(MyFreeBuilderType.class)

    +
    +
    +

    The configuration will both register appropriate RowMappers as well as +configure the new bindPojo (or @BindPojo) binders:

    +
    +
    +
    +
    @FreeBuilder
    +public interface Train {
    +    String name();
    +    int carriages();
    +    boolean observationCar();
    +
    +    class Builder extends FreeBuildersTest_Train_Builder {}
    +}
    +
    +@Test
    +public void simpleTest() {
    +    jdbi.getConfig(JdbiFreeBuilders.class).registerFreeBuilder(Train.class);
    +    try (Handle handle = jdbi.open()) {
    +        handle.execute("create table train (name varchar, carriages int, observation_car boolean)");
    +
    +        Train train = new Train.Builder()
    +            .name("Zephyr")
    +            .carriages(8)
    +            .observationCar(true)
    +            .build();
    +
    +        assertThat(
    +            handle.createUpdate("insert into train(name, carriages, observation_car) values (:name, :carriages, :observationCar)")
    +                .bindPojo(train)
    +                .execute())
    +            .isOne();
    +
    +        assertThat(
    +            handle.createQuery("select * from train")
    +                .mapTo(Train.class)
    +                .one())
    +            .extracting("name", "carriages", "observationCar")
    +            .containsExactly("Zephyr", 8, true);
    +    }
    +}
    +
    +
    +
    +
    +

    16.6. JodaTime

    +
    +

    This plugin adds support for using joda-time’s DateTime type.

    +
    +
    +

    To use this plugin, add a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-jodatime2</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-jodatime2:3.45.2")
    +}
    +
    +
    +
    +

    Then install the plugin into the Jdbi instance:

    +
    +
    +
    +
    jdbi.installPlugin(new JodaTimePlugin());
    +
    +
    +
    +
    +

    16.7. Google Guice

    +
    +

    The Guice module adds support for configuring and injecting Jdbi instances in applications and services that use the Google Guice dependency injection framework.

    +
    +
    +

    Guice support for Jdbi is split into two module types:

    +
    +
    +
      +
    • +

      A Jdbi definition module extends the AbstractJdbiDefinitionModule class. Each of these modules creates a new Jdbi instance which is exposed into the Guice binding process using an annotation.

      +
    • +
    • +

      A Jdbi element configuration module extends the AbstractJdbiConfigurationModule. These modules contribute elements that are referenced in Jdbi definition modules.

      +
    • +
    +
    +
    + + + + + +
    + + +Jdbi definition modules are by far more common. Element configuration modules are completely optional. They are most useful in larger projects. +
    +
    +
    +

    16.7.1. JSR 330 vs. JEE 9+ annotations

    +
    +

    For a long time, Java used the JSR-330 annotations in the javax.inject namespace to define dependency injections. The Java Enterprise Edition 9 specification updated the dependency injection specification to version 2.0, which changed the namespace to jakarta.inject.

    +
    +
    +

    The jdbi3-guice module supports all Google Guice releases since 5.x including 6.x (which uses javax.inject annotations) and 7.x (which uses jakarta.inject).

    +
    +
    +
    +

    16.7.2. Definition modules

    +
    +

    Every Jdbi instance is defined in its own Guice module which extends the AbstractJdbiDefinitionModule base class.

    +
    +
    +

    The annotation instance or class used on the constructor is used to bind the resulting Jdbi object:

    +
    +
    +
    +
    class GuiceJdbiModule extends AbstractJdbiDefinitionModule {
    +
    +    public GuiceJdbiModule() {
    +        super(GuiceJdbi.class);
    +    }
    +
    +    @Override
    +    protected void configureJdbi() {
    +        // bind a custom row mapper
    +        bindRowMapper().to(CustomRowMapper.class);
    +
    +        // bind a custom column mapper
    +        bindColumnMapper().toInstance(new CustomColumnMapper());
    +
    +        // bind a Codec
    +        bindCodec(String.class).to(Key.get(CustomStringCodec.class, Custom.class));
    +
    +        // bind a custom array type
    +        bindArrayType(CustomArrayType.class).toInstance("custom_array");
    +
    +        // bind a jdbi plugin
    +        bindPlugin().toInstance(new SqlObjectPlugin());
    +
    +        // bind a customizer
    +        bindCustomizer().to(SpecialCustomizer.class);
    +    }
    +}
    +
    +class Application {
    +    @Inject
    +    @GuiceJdbi
    +    private Jdbi jdbi;
    +
    +    public static void main(String ... args) {
    +        Injector inj = Guice.createInjector(
    +            new GuiceJdbiModule(),
    +)           binder -> binder.bind(DataSource.class).annotatedWith(GuiceJdbi.class).toInstance(... data source instance ...);
    +        );
    +        inj.injectMembers(this);
    +    }
    +}
    +
    +
    +
    +

    In this example, a new Jdbi object is defined using specific mappers and other customizations. The Jdbi object is exposed to Guice using the annotation passed on the module constructor (GuiceJdbi in the example). The AbstractJdbiDefinitionModule supports both annotation instances and classes, similar to Guice itself.

    +
    +
    + + + + + +
    + + +A Jdbi definition module requires that a DataSource object is bound within Guice using the same annotation or annotation class as is passed into the module constructor. Creating this data source is outside the scope of a Jdbi definition module! +
    +
    +
    +

    When implementing the configureJdbi() method, a number of convenience methods are available as shown above. These methods return Guice LinkedBindingBuilder instances and allow the full range of bindings that guice supports (classes, instances, providers etc).

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2. Supported bindings
    MethodType of bindingJdbi function

    bindRowMapper()

    RowMapper<?>

    Row Mappers

    bindRowMapper(GenericType<?>)

    bindRowMapper(Type)

    bindColumnMapper()

    ColumnMapper<?>

    Column Mappers

    bindColumnMapper(QualifiedType<?>)

    bindColumnMapper(GenericType<?>)

    bindColumnMapper(Type)

    bindCodec(QualifiedType<?>)

    Codec<?>

    Codecs

    bindCodec(GenericType<?>)

    bindCodec(Type)

    bindArrayType(Class<?>)

    String

    Registering array types

    bindPlugin()

    JdbiPlugin

    Installing Plugins

    bindCustomizer()

    GuiceJdbiCustomizer

    Jdbi customization using Guice

    +
    +

    Each Jdbi definition module is completely independent and all definitions within the module only apply to the specific Jdbi instance.

    +
    +
    +
    +

    16.7.3. Using Guice injection in Jdbi classes

    +
    +

    The Jdbi related guice modules store the various related elements (mappers, codecs etc.) using Multibindings. As a result, it is not possible to use injection directly when constructing mapper instances.

    +
    +
    +

    The following example does not work:

    +
    +
    +
    +
    class JdbiModule extends AbstractJdbiDefinitionModule {
    +
    +    public JdbiModule() {
    +        super(Names.named("data"));
    +    }
    +
    +    @Override
    +    protected void configureJdbi() {
    +        bindRowMapper().to(BrokenRowMapper.class);
    +        bindColumnMapper().to(CustomStringMapper.class);
    +    }
    +}
    +
    +class CustomStringMapper implements ColumnMapper<String> {
    +
    +    @Override
    +    public String map(ResultSet r, int columnNumber, StatementContext ctx) {
    +        long x = r.getLong(columnNumber);
    +        return (x > 1000) ? "Huge" : "Small";
    +    }
    +}
    +
    +class BrokenRowMapper implements RowMapper<DataRow> {
    +
    +    private final ColumnMapper<String> stringMapper;
    +
    +    @Inject
    +    public BrokenRowMapper(CustomStringMapper stringMapper) {
    +        this.stringMapper = stringMapper;
    +    }
    +
    +    @Override
    +    public DataRow map(ResultSet rs, StatementContext ctx) {
    +        return new DataRow(rs.getInt("intValue"),
    +                stringMapper.map(rs, "longValue", ctx));
    +    }
    +}
    +
    +
    +
    +

    Guice will report an error that it cannot locate the CustomStringMapper instance. The Guice Jdbi integration manages mappers etc. as groups and the separate instances are not directly accessible for injection. The right way to compose mappers is using the Jdbi configuration (see JdbiConfig), which is configured through Guice:

    +
    +
    +
    +
    class JdbiModule extends AbstractJdbiDefinitionModule {
    +
    +    public JdbiModule() {
    +        super(Names.named("data"));
    +    }
    +
    +    @Override
    +    protected void configureJdbi() {
    +        bindRowMapper().to(WorkingRowMapper.class);
    +        bindColumnMapper(CustomStringMapper.TYPE).to(CustomStringMapper.class);
    +    }
    +}
    +
    +class CustomStringMapper implements ColumnMapper<String> {
    +
    +    public static QualifiedType<String> TYPE = QualifiedType.of(String.class).with(Names.named("data"));
    +
    +    @Override
    +    public String map(ResultSet r, int columnNumber, StatementContext ctx) throws SQLException {
    +        long x = r.getLong(columnNumber);
    +        return (x > 1000) ? "Huge" : "Small";
    +    }
    +}
    +
    +class WorkingRowMapper implements RowMapper<DataRow> {
    +
    +    private ColumnMapper<String> stringMapper;
    +
    +    @Override
    +    public void init(ConfigRegistry registry) {
    +        this.stringMapper = registry.get(ColumnMappers.class).findFor(CustomStringMapper.TYPE)
    +                .orElseThrow(IllegalStateException::new);
    +    }
    +
    +    @Override
    +    public DataRow map(ResultSet rs, StatementContext ctx) throws SQLException {
    +        return new DataRow(rs.getInt("intValue"),
    +            stringMapper.map(rs, "longValue", ctx));
    +    }
    +}
    +
    +
    +
    +

    This limitation only applies to bindings that are made in through the various bindXXX() methods in Jdbi specific modules. Any other binding is available for injection into Jdbi elements:

    +
    +
    +
    +
    class ThresholdMapper implements ColumnMapper<String> {
    +
    +    public static QualifiedType<String> TYPE = QualifiedType.of(String.class).with(Threshold.class);
    +
    +    private final long threshold;
    +
    +    // Injection of a named constant here.
    +    @Inject
    +    ThresholdMapper(@Threshold long threshold) {
    +        this.threshold = threshold;
    +    }
    +
    +    @Override
    +    public String map(ResultSet r, int columnNumber, StatementContext ctx) throws SQLException {
    +        long x = r.getLong(columnNumber);
    +        return (x > threshold) ? "Huge" : "Small";
    +    }
    +}
    +
    +class JdbiModule extends AbstractJdbiDefinitionModule {
    +
    +    public JdbiModule() {
    +        super(Data.class);
    +    }
    +
    +    @Override
    +    protected void configureJdbi() {
    +        bindColumnMapper(CustomStringMapper.TYPE).to(CustomStringMapper.class);
    +    }
    +}
    +
    +Injector inj = Guice.createInjector(
    +    new JdbiModule(),
    +    // define injected constant here
    +    binder -> binder.bindConstant().annotatedWith(Threshold.class).to(5000L);
    +)
    +
    +
    +
    +
    +

    16.7.4. Jdbi customization using Guice

    +
    +

    Many Jdbi specific settings can be configured through the bindXXX() methods available on Jdbi modules (row mappers, column mappers, codecs, plugins etc.)

    +
    +
    +

    However, there are additional features that may not be available through these methods. For these use cases, the GuiceJdbiCustomizer interface can be used.

    +
    +
    +

    Instances that implement this interface can be added to Jdbi modules using the bindCustomizer() method.

    +
    +
    +

    Every customizer will get the Jdbi instance passed at construction time and may modify any aspect before it gets exposed to other parts of the application.

    +
    +
    +
    +
    class GuiceCustomizationModule extends AbstractJdbiDefinitionModule {
    +
    +    public GuiceCustomizationModule() {
    +        super(Custom.class);
    +    }
    +
    +    @Override
    +    protected void configureJdbi() {
    +        bindCustomizer().to(MyCustomizer.class);
    +    }
    +}
    +
    +class MyCustomizer implements GuiceJdbiCustomizer {
    +
    +    @Override
    +    public void customize(Jdbi jdbi) {
    +        // set the logger to use Slf4j
    +        jdbi.setSqlLogger(new Slf4JSqlLogger());
    +    }
    +}
    +
    +
    +
    +

    In combination with Jdbi configuration modules, these customizers allow easy enforcement of standard configurations for all Jdbi instances in larger projects.

    +
    +
    +
    +

    16.7.5. Element configuration modules

    +
    + + + + + +
    + + +Element configuration modules are completely optional and should not be used when only a single Jdbi instance is required. They are intended to help with code organization in larger projects that have more complex needs. +
    +
    +
    +

    All bindings in a Jdbi module that defines a Jdbi object are local to that module. This is useful if all Jdbi related code can be grouped around the module. In larger projects, some parts of the code (and their Jdbi related elements such as row and column mappers) may be located in different part of the code base.

    +
    +
    +

    In larger projects, generic mappers should be available for multiple Jdbi instances. This leads often to a proliferation of small modules that only contain such generic code and is in turn imported into every code module that wants to use them.

    +
    +
    +

    To support modular code design, any part of a code base that wants to contribute Jdbi specific classes such as mappers to the overall system can use an element configuration module to expose these to all Jdbi instances in a project.

    +
    +
    +

    Jdbi element configuration modules extend AbstractJdbiConfigurationModule and can define mappers, plugins etc. similar to a Jdbi definition module. Anything that is registered in such a module is global and will be applied to all instances even if they are defined in another module.

    +
    +
    +
    +
    class DomainModule extends AbstractJdbiConfigurationModule {
    +
    +    @Override
    +    protected void configureJdbi() {
    +        bindRowMapper().to(DomainMapper.class);
    +    }
    +}
    +
    +class DomainMapper implements RowMapper<DomainObject> {
    +
    +    private ColumnMapper<UUID> uuidMapper;
    +
    +    @Override
    +    public void init(ConfigRegistry registry) {
    +        this.uuidMapper = registry.get(ColumnMappers.class).findFor(UUID.class)
    +                .orElseThrow(IllegalStateException::new);
    +    }
    +
    +    @Override
    +    public DomainObject map(ResultSet rs, StatementContext ctx) throws SQLException {
    +        return new DomainObject(
    +            uuidMapper.map(rs, "id", ctx),
    +            rs.getString("name"),
    +            rs.getString("data"),
    +            rs.getInt("value"),
    +            rs.getBoolean("flag"));
    +    }
    +}
    +
    +
    +
    +

    If the DomainModule is bound within Guice, then all configured Jdbi instances will be able to map DomainObject instances without having to configure them explicitly as a row mapper.

    +
    +
    +

    Multiple modules extending AbstractJdbiConfigurationModule can be installed in a single injector; the resulting bindings will be aggregated.

    +
    +
    + + + + + +
    + + +It is not possible to install a configuration module from within the configureJdbi method of a definition module using the install() or binder().install() methods! +Definition modules are Guice private modules and anything defined within them will not be exposed to the general dependency tree. This is a limitation due to the way Guice works. +
    +
    +
    +
    +

    16.7.6. Advanced Topics

    +
    +
    Exposing additional bindings
    +
    +

    Each definition module that defines a Jdbi instance keeps all bindings private and exposes only the actual Jdbi object itself. This allows the installation of multiple modules where each definition is completely independent. Sometimes it is useful to attach additional objects and expose them using the same annotations. The most common use cases are data access objects.

    +
    +
    +

    Consider a use case where two DataSource instances exist, one annotated as Writer and the other as Reader. Both are accessing databases with the same schema, and it makes sense to have two data access objects that are identical except that they are using the different data sources (this is often referred to as the "robot legs" problem of dependency injection).

    +
    +
    +
    +
    interface DatabaseAccess {
    +    @SqlUpdate("INSERT INTO data_table ....")
    +    int insert(...);
    +
    +    @SqlQuery("SELECT * FROM data_table")
    +    Data select();
    +}
    +
    +
    +
    +

    To bind two instances of this data access object and connect each to the appropriate Jdbi instance, add the binding to the Jdbi definition module and expose it with exposeBinding(Class<?>) or exposeBinding(TypeLiteral<?>):

    +
    +
    +
    +
    class DatabaseModule extends AbstractJdbiDefinitionModule {
    +    public DatabaseModule(Class<? extends Annotation> a) {
    +        super(a);
    +    }
    +
    +    @Provides
    +    @Singleton
    +    DatabaseAccess createDatabaseAccess(Jdbi jdbi) {
    +        return jdbi.onDemand(DatabaseAccess.class);
    +    }
    +
    +    @Override
    +    public void configureJdbi() {
    +        // ... bind mappers, plugins etc. ...
    +
    +        exposeBinding(DatabaseAccess.class);
    +    }
    +}
    +
    +
    +
    +

    Now install the module multiple times with different annotation classes:

    +
    +
    +
    +
    Injector injector = Guice.createInjector(
    +    // bind existing data sources
    +    binder -> binder.bind(DataSource.class).annotatedWith(Reader.class).toInstance(...);
    +    binder -> binder.bind(DataSource.class).annotatedWith(Writer.class).toInstance(...);
    +
    +    new DatabaseModule(Reader.class),
    +    new DatabaseModule(Writer.class)
    +);
    +
    +// fetch object directly from the injector
    +DatabaseAccess readerAccess = injector.getInstance(Key.get(DatabaseAccess.class, Reader.class));
    +DatabaseAccess writerAccess = injector.getInstance(Key.get(DatabaseAccess.class, Writer.class));
    +
    +
    +
    +
    +
    Importing external bindings
    +
    +

    The main use case of guice is code modularization and code reuse. Jdbi definition modules can pull dependencies out of the global dependency definitions and using the importBinding and importBindingLoosely methods.

    +
    +
    +

    importBinding requires a dependency to exist and pulls it into the definition module. The dependency must be defined using the same annotation or annotation class as the definition module uses.

    +
    +
    +

    This example shows how to define an external dependency (SpecialLogger, annotated with Store) in a different module and then pull it into the definition module using importBinding:

    +
    +
    +
    +
    //
    +// This is logging code that can be located e.g. in a specific part of the code base that
    +// deals with all aspects of logging. The Logging module creates the binding for the special
    +// logger depending on the environment that the code has been deployed in.
    +class LoggingModule extends AbstractModule {
    +
    +    private final boolean production;
    +    private final Class<? extends Annotation> annotation;
    +
    +    LoggingModule(boolean production, Class<? extends Annotation> annotation) {
    +        this.production = production;
    +        this.annotation = annotation;
    +    }
    +
    +    @Override
    +    public void configure() {
    +        if (production) {
    +            bind(SpecialLogger.class).annotatedWith(annotation).toInstance(new MaskingLogger());
    +        } else {
    +            bind(SpecialLogger.class).annotatedWith(annotation).toInstance(new DebugLogger());
    +        }
    +    }
    +}
    +
    +//
    +// This is Jdbi code that deals with the data store. It can be located in a different part of the
    +// application. It requires the "SpecialLogger" dependency to be bound somewhere.
    +//
    +@Singleton
    +class JdbiSpecialLogging implements GuiceJdbiCustomizer {
    +
    +    private final SpecialLogger logger;
    +
    +    @Inject
    +    JdbiSpecialLogging(SpecialLogger logger) {
    +        this.logger = logger;
    +    }
    +
    +    @Override
    +    public void customize(Jdbi jdbi) {
    +        jdbi.setSqlLogger(new SpecialSqlLogger(logger));
    +    }
    +}
    +
    +class DatabaseModule extends AbstractJdbiDefinitionModule {
    +    public DatabaseModule(Class<? extends Annotation> a) {
    +        super(a);
    +    }
    +
    +    @Override
    +    public void configureJdbi() {
    +        ... bind mappers, plugins etc. ...
    +
    +        // pull the "SpecialLogger" annotated with Store into the module scope
    +        importBinding(SpecialLogger.class).in(Scopes.SINGLETON);
    +        bindCustomizer().to(JdbiSpecialLogging.class);
    +    }
    +}
    +
    +
    +Injector injector = Guice.createInjector(
    +    new LoggingModule(production, Store.class),
    +    new DatabaseModule(Store.class)
    +)
    +
    +
    +
    +

    importBinding returns a binding builder, that allows different binding styles:

    +
    +
    +
    +
    class DatabaseModule extends AbstractJdbiDefinitionModule {
    +    @Override
    +    public void configureJdbi() {
    +         // simplest use case, pull in Foo.class using the same annotation
    +        importBinding(Foo.class);
    +
    +         // supports everything that a ScopedBindingBuilder does
    +        importBinding(Foo.class).in(Scopes.SINGLETON);
    +
    +         // supports "to()" to bind interfaces to implementation
    +        importBinding(Foo.class).to(FooImpl.class);
    +
    +         // supports type literals
    +        importBinding(new TypeLiteral<Set<Foo>>() {}).to(FooSet.class);
    +
    +        // supports binding into the various binder methods as well
    +
    +        // pull SpecialCustomizer using the same annotation as the module and add it to the set of customizers
    +        importBinding(bindCustomizer(), SpecialCustomizer.class).in(Scopes.SINGLETON);
    +
    +        // bind column mapper using a type literal
    +        importBinding(bindColumnMapper(), new TypeLiteral<Map<String, Object>>() {}).to(JsonMapper.class);
    +    }
    +}
    +
    +
    +
    +

    Static bindings require that the dependency is always defined. However, it is often desirable to have optional bindings that do not need to exist. This is supported using the importLooseBinding mechanism.

    +
    +
    +
    +
    class DropwizardStoreModule extends AbstractModule {
    +
    +    @Store
    +    @Provides
    +    @Singleton
    +    DropwizardJdbiSupport getDropwizardJdbiSupport(@Dropwizard DataSourcConfiguration configuration, @Dropwizard Environment environment) {
    +            return new DropwizardJdbiSupport("store", configuration, environment);
    +    }
    +
    +    static class DropwizardJdbiSupport implements GuiceJdbiCustomizer {
    +        private final String name;
    +        private final Environment environment;
    +        private final DataSourceConfiguration<?> configuration;
    +
    +
    +    DropwizardJdbiSupport(String name, DataSourceConfiguration configuration, Environment environment) {
    +        this.name = name;
    +        this.configuration = configuration;
    +        this.environment = environment;
    +    }
    +
    +    @Override
    +    public void customize(final Jdbi jdbi) {
    +        final String validationQuery = configuration.getValidationQuery();
    +        environment.healthChecks().register(name, new JdbiHealthCheck(
    +                environment.getHealthCheckExecutorService(),
    +                configuration.getValidationQueryTimeout().orElse(Duration.seconds(5)),
    +                jdbi,
    +                Optional.of(validationQuery)));
    +    }
    +}
    +
    +class StoreJdbiModule extends AbstractJdbiDefinitionModule {
    +    @Override
    +    public void configureJdbi() {
    +        // ... other Jdbi code bindings for the store ...
    +
    +        importBindingLoosely(bindCustomizer(), GuiceJdbiCustomizer.class)
    +                .withDefault(GuiceJdbiCustomizer.NOP)
    +                .to(DropwizardJdbiSupport.class);
    +    }
    +}
    +
    +// production code (running in dropwizard framework)
    +Injector injector = Guice.createInjector(
    +    new DropwizardModule(),      // binds @Dropwizard stuff
    +    new DropwizardStoreModule(), // binds dropwizard support for store jdbi
    +    new StoreDataSourceModule(), // binds @Store DataSource
    +    new StoreJdbiModule()        // Store Jdbi code
    +);
    +
    +// test code
    +Injector injector = Guice.createInjector(
    +    new StoreTestingDataSourceModule(), // testing datasource for store
    +    new StoreJdbiModule()               // store Jdbi code
    +);
    +
    +
    +
    +

    In this example there is code specific to the dropwizard framework that would not work in unit tests (that are not run within the framework). This code is only bound in the production environment using the DropwizardStoreModule and not present in testing.

    +
    +
    +

    The StoreJdbiModule uses importBindingLoosely to pull in the DropwizardJdbiSupport binding using the Store annotation if it exists or uses a No-Op otherwise.

    +
    +
    +

    importBindingLoosely allows for full decoupling of optional dependencies without having to resort to conditionals or separate testing modules.

    +
    +
    +
    +
    class DatabaseModule extends AbstractJdbiDefinitionModule {
    +    @Override
    +    public void configureJdbi() {
    +         // simplest use case, pull in Foo.class using the same annotation
    +        importBindingLoosely(Foo.class);
    +
    +         // supports everything that a ScopedBindingBuilder does
    +        importBindingLoosely(Foo.class).in(Scopes.SINGLETON);
    +
    +         // supports "to()" to bind interfaces to implementation
    +        importBindingLoosely(Foo.class).to(FooImpl.class);
    +
    +        // supports default value that is used if the binding
    +        // is not present
    +        importBindingLoosely(Foo.class)
    +            .withDefault(new Foo("default"));
    +
    +         // supports type literals
    +        importBindingLoosely(new TypeLiteral<Set<Foo>>() {}).to(FooSet.class);
    +
    +        // supports binding into the various binder methods as well
    +
    +        // pull SpecialCustomizer using the same annotation as the module and add it to the set of customizers
    +        importBindingLoosely(bindCustomizer(), SpecialCustomizer.class).in(Scopes.SINGLETON);
    +
    +        // bind column mapper using a type literal
    +        importBindingLoosely(bindColumnMapper(), new TypeLiteral<Map<String, Object>>() {}).to(JsonMapper.class);
    +
    +        // full example
    +        importBindingLoosely(bindCustomizer(), GuiceJdbiCustomizer.class)
    +            .withDefault(GuiceJdbiCustomizer.NOP)
    +            .to(SpecialCustomizer.class)
    +            .asEagerSingleton();
    +    }
    +}
    +
    +
    +
    +
    +
    Custom element configuration modules
    +
    +

    In larger projects, Element configuration modules help to organize the various Jdbi related elements. By default, all modules contribute their configuration to a single, global configuration that is used in all Jdbi definition modules.

    +
    +
    +

    Sometimes it is useful to create separate configurations that only affect a subset of Jdbi definitions. This can be done by using a custom annotation for both the Jdbi element configuration and the Jdbi definition modules:

    +
    +
    +
    +
    class CustomConfigurationModule extends AbstractJdbiConfigurationModule {
    +
    +    CustomModule() {
    +        super(CustomConfiguration.class); // definition modules must use this annotation explictly
    +    }
    +
    +    @Override
    +    public void configureJdbi() {
    +        bindColumnMapper().to(CustomColumnMapper.class);
    +        bindPlugin().to(SpecialDatabaseModule.class);
    +    }
    +}
    +
    +class SpecialDatabaseModule extends AbstractJdbiDefinitionModule {
    +
    +    SpecialDatabaseModule() {
    +        super(
    +            SpecialDatabase.class,     // The Jdbi instance is bound using this annotation class
    +            CustomConfiguration.class  // Use an explicit configuration
    +        );
    +    }
    +
    +    @Override
    +    public void configureJdbi() {
    +        ...
    +    }
    +}
    +
    +
    +
    +

    The Jdbi element bound with the SpecialDatabase annotation will have the SpecialDatabaseModule loaded and can use the CustomColumnMapper.

    +
    +
    +
    +
    +
    +

    16.8. JPA

    +
    +

    Using the JPA plugin is a great way to trick your boss into letting you try +Jdbi. "No problem boss, it already supports JPA annotations, easy-peasy!"

    +
    +
    +

    This plugin adds mapping support for a small subset of JPA entity annotations:

    +
    +
    +
      +
    • +

      Entity

      +
    • +
    • +

      MappedSuperclass

      +
    • +
    • +

      Column

      +
    • +
    +
    +
    +

    To use this plugin, add a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-jpa</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-jpa:3.45.2")
    +}
    +
    +
    +
    +

    Then install the plugin into the Jdbi instance:

    +
    +
    +
    +
    jdbi.installPlugin(new JpaPlugin());
    +
    +
    +
    +

    Honestly though…​ just tear off the bandage and switch to Jdbi proper.

    +
    +
    +
    +

    16.9. Kotlin

    +
    +

    Kotlin support is provided by jdbi3-kotlin and +jdbi3-kotlin-sqlobject modules.

    +
    +
    +

    Kotlin API documentation:

    +
    + +
    +

    16.9.1. ResultSet Mapping

    +
    +

    The jdbi3-kotlin plugin adds mapping to Kotlin data classes. It +supports data classes where all fields are present in the constructor as well +as classes with writable properties. Any fields not present in the constructor +will be set after the constructor call. The mapper supports nullable types. It +also uses default parameter values in the constructor if the parameter type is +not nullable and the value absent in the result set.

    +
    +
    +

    To use this plugin, add a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-kotlin</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-kotlin:3.45.2")
    +}
    +
    +
    +
    +

    Ensure the Kotlin compiler’s JVM target version is set to at least 11:

    +
    +
    +
    +
    <kotlin.compiler.jvmTarget>11</kotlin.compiler.jvmTarget>
    +
    +
    +
    +

    Then install the Kotlin Plugin into the Jdbi instance:

    +
    +
    +
    +
    jdbi.installPlugin(KotlinPlugin());
    +
    +
    +
    +

    The Kotlin mapper also supports @ColumnName annotation that allows to specify name for a property or parameter explicitly, as well as the @Nested annotation that allows mapping nested Kotlin objects.

    +
    +
    + + + + + +
    + + +Instead of using @BindBean, bindBean(), and @RegisterBeanMapper use @BindKotlin, bindKotlin(), and KotlinMapper +for qualifiers on constrictor parameters, getter, setters, and setter parameters of Kotlin class. +
    +
    +
    + + + + + +
    + + +The @ColumnName annotation only applies while mapping SQL data into Java objects. +When binding object properties (e.g. with bindBean()), bind the property name (:id) rather than the column name (:user_id). +
    +
    +
    +

    If you load all Jdbi plugins via Jdbi.installPlugins() this plugin will be +discovered and registered automatically. Otherwise, you can attach it using +Jdbi.installPlugin(KotlinPlugin()).

    +
    +
    +

    An example from the test class:

    +
    +
    +
    +
    data class IdAndName(val id: Int, val name: String)
    +data class Thing(
    +    @Nested val idAndName: IdAndName,
    +    val nullable: String?,
    +    val nullableDefaultedNull: String? = null,
    +    val nullableDefaultedNotNull: String? = "not null",
    +    val defaulted: String = "default value"
    +)
    +@Test
    +fun testFindById() {
    +    val qry = h2Extension.sharedHandle.createQuery("select id, name from something where id = :id")
    +    val things: List<Thing> = qry.bind("id", brian.idAndName.id).mapTo<Thing>().list()
    +    assertEquals(1, things.size)
    +    assertEquals(brian, things[0])
    +}
    +
    +
    +
    +

    There are two extensions to help:

    +
    +
    +
      +
    • +

      <reified T : Any>ResultBearing.mapTo()

      +
    • +
    • +

      <T : Any>ResultIterable<T>.useSequence(block: (Sequence<T>) → Unit)

      +
    • +
    +
    +
    +

    Allowing code like:

    +
    +
    +
    +
    val qry = handle.createQuery("SELECT id, name FROM something WHERE id = :id")
    +val things = qry.bind("id", brian.id).mapTo<Thing>.list()
    +
    +
    +
    +

    and for using a Sequence that is auto closed:

    +
    +
    +
    +
    qryAll.mapTo<Thing>.useSequence {
    +    it.forEach(::println)
    +}
    +
    +
    +
    +
    +

    16.9.2. Coroutine support

    +
    + + + + + +
    + + +Coroutine support is very much experimental and not yet proven. If you find a bug or see a problem, please file a bug report. +
    +
    +
    +

    Kotlin offers a coroutine extension to support asynchronous programming on the Kotlin platform.

    +
    +
    +

    Coroutines work similar to "green threads" where operations are mapped onto a thread pool and may be executed on multiple threads. This clashes with the internal model that Jdbi uses to manage Handles (which is by default local to each thread).

    +
    +
    +

    The Kotlin module offers support for coroutines with Jdbi. It allows handles to move across thread boundaries and +allows seamless use of handles in coroutines.

    +
    +
    +

    Coroutine support is disabled by default and is activated by passing the enableCoroutineSupport = true property to the constructor of the Kotlin Plugin.

    +
    +
    +
    +
    val jdbi = Jdbi.create( ... )
    +    .installPlugin(KotlinPlugin(enableCoroutineSupport = true))
    +
    +jdbi.inTransactionUnchecked { transactionHandle ->
    +    runBlocking(jdbi.inCoroutineContext()) { (1)
    +        withContext(Dispatchers.Default + jdbi.inCoroutineContext(transactionHandle)) { (2)
    +            launch () {
    +                jdbi.useHandleUnchecked { handle -> (3)
    +                    ...
    +                }
    +            }
    +        }
    +
    +        launch(Dispatchers.Default) { (4)
    +            jdbi.useHandleUnchecked { handle -> (5)
    +                ...
    +            }
    +        }
    +    }
    +}
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    1calling the Jdbi#inCoroutineContext() extension method without a parameter disconnects the coroutine scope from any existing thread local elements.
    2calling the Jdbi#inCoroutineContext() extension method with a handle object uses this handle for all coroutines in this scope.
    3calling Jdbi methods within the coroutine scope will use the handle that was provided above.
    4Launching a coroutine without an explicitly attached handle works as well, in this case, a new handle gets created
    5The handle here is a newly created handle that only exists within the jdbi callback.
    +
    +
    + + + + + +
    + + +Coroutines that are executed in parallel by different threads at the same time will get the same handle as they share the same coroutine context. While the Handle object can be shared by multiple threads (if the underlying connection object supports it), they are designed +to be used by "one thread at a time" so additional coordination is required in this case. +
    +
    +
    +

    Coroutines are also supported for extension objects such as the SQL Object extension:

    +
    +
    +
    +
    val jdbi = Jdbi.create( ... )
    +    .installPlugin(KotlinPlugin(enableCoroutineSupport = true))
    +    .installPlugin(SqlObjectPlugin())
    +
    +data class Something(
    +    val id: Int,
    +    val name: String
    +)
    +
    +@RegisterKotlinMapper(Something::class)
    +interface SomethingDao : SqlObject {
    +    @SqlUpdate("insert into something (id, name) values (:id, :name)")
    +    fun insert(@BindKotlin something: Something)
    +
    +    @SqlQuery("select id, name from something where id=:id")
    +    fun findById(@Bind("id") id: Int): Something
    +}
    +
    +jdbi.withExtensionUnchecked(SomethingDao::class) { dao ->
    +    runBlocking(Dispatchers.IO + jdbi.inCoroutineContext()) {
    +        coroutineScope {
    +            insertSomething(dao)
    +
    +            val first = selectSomething(dao, 1)
    +            delay(1000L)
    +        }
    +
    +        val second = selectSomething(dao, 2)
    +    }
    +}
    +
    +private suspend fun insertSomething(dao: SomethingDao): Unit = coroutineScope {
    +    dao.insert(Something(1, "first name"))
    +    dao.insert(Something(2, "second name"))
    +}
    +
    +private suspend fun selectSomething(dao: SomethingDao, id: Int): Something = coroutineScope {
    +    dao.findById(id)
    +}
    +
    +
    +
    +
    +

    16.9.3. SqlObject

    +
    +

    The jdbi3-kotlin-sqlobject plugin adds automatic parameter binding by name +for Kotlin methods in SqlObjects as well as support for Kotlin default methods.

    +
    +
    +

    To use it, add a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-kotlin-sqlobject</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-kotlin-sqlobject:3.45.2")
    +}
    +
    +
    +
    +

    Then install the plugin into the Jdbi instance:

    +
    +
    +
    +
    jdbi.installPlugin(KotlinSqlObjectPlugin());
    +
    +
    +
    +

    Parameter binding supports individual primitive types as well as Kotlin or +JavaBean style objects as a parameter (referenced in binding as +:paramName.propertyName). No annotations are needed.

    +
    +
    +

    If you load all Jdbi plugins via Jdbi.installPlugins() this plugin will be +discovered and registered automatically. Otherwise, you can attach the plugin +via: Jdbi.installPlugin(KotlinSqlObjectPlugin()).

    +
    +
    +

    An example from the test class:

    +
    +
    +
    +
    interface ThingDao {
    +    @SqlUpdate("insert into something (id, name) values (:something.idAndName.id, :something.idAndName.name)")
    +    fun insert(something: Thing)
    +
    +    @SqlQuery("select id, name from something")
    +    fun list(): List<Thing>
    +}
    +@BeforeEach
    +fun setUp() {
    +    val dao = h2Extension.jdbi.onDemand<ThingDao>()
    +
    +    val brian = Thing(IdAndName(1, "Brian"), null)
    +    val keith = Thing(IdAndName(2, "Keith"), null)
    +
    +    dao.insert(brian)
    +    dao.insert(keith)
    +}
    +@Test
    +fun testDao() {
    +    val dao = h2Extension.jdbi.onDemand<ThingDao>()
    +
    +    val rs = dao.list()
    +
    +    assertEquals(2, rs.size.toLong())
    +    assertEquals(brian, rs[0])
    +    assertEquals(keith, rs[1])
    +}
    +
    +
    +
    +
    +

    16.9.4. Jackson JSON Processing

    +
    +

    Jackson needs a specialized ObjectMapper instance in order to understand deserialization +of Kotlin types. Make sure to configure your Jackson plugin:

    +
    +
    +
    +
    import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
    +jdbi.getConfig(Jackson2Config::class.java).mapper = jacksonObjectMapper()
    +
    +
    +
    +
    +
    +

    16.10. Lombok

    +
    +

    Lombok is a tool for auto-generation of mutable and immutable data classes through annotations.

    +
    +
    +
    +
    @Data
    +public void DataClass {
    +    private Long id;
    +    private String name;
    +    // autogenerates default constructor, getters, setters, equals, hashCode, and toString
    +}
    +
    +@Value
    +public void ValueClass {
    +    private long id;
    +    private String name;
    +    // autogenerates all-args constructor, getters, equals, hashCode, and toString
    +}
    +
    +
    +
    +

    Classes annotated with @Value are immutable, classes annotated with @Data behave like standard, mutable Java Beans.

    +
    +
    + +
    +
    +

    Lombok must be configured to propagate annotations from the source code into the generated classes. Since version 1.18.4, lombok +supports the lombok.copyableAnnotations setting in its config file. To support all Jdbi features, the following lines must be added:

    +
    +
    +
    +
    lombok.copyableAnnotations += org.jdbi.v3.core.mapper.reflect.ColumnName
    +lombok.copyableAnnotations += org.jdbi.v3.core.mapper.Nested
    +lombok.copyableAnnotations += org.jdbi.v3.core.mapper.PropagateNull
    +lombok.copyableAnnotations += org.jdbi.v3.core.annotation.JdbiProperty
    +lombok.copyableAnnotations += org.jdbi.v3.core.mapper.reflect.JdbiConstructor
    +
    +
    +
    +

    Any additional annotation (such as the @HStore annotation for PostgreSQL support) can also be added:

    +
    +
    +
    +
    lombok.copyableAnnotations += org.jdbi.v3.postgres.HStore
    +
    +
    +
    +

    When using any of the Json mappers (Jackson 2, Gson 2 or Moshi ) with lombok, the @Json annotation must also be added to the lombok config file, otherwise Jdbi can not map json columns to lombok bean properties:

    +
    +
    +
    +
    lombok.copyableAnnotations += org.jdbi.v3.json.Json
    +
    +
    +
    +
    +

    16.11. Oracle 12

    +
    +

    This module adds support for Oracle RETURNING DML expressions.

    +
    +
    +

    To use this feature, add a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-oracle12</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-oracle12:3.45.2")
    +}
    +
    +
    +
    +

    Then, use the OracleReturning class with an Update or PreparedBatch +to get the returned DML.

    +
    +
    +
    +

    16.12. PostgreSQL

    +
    +

    The jdbi3-postgres plugin provides enhanced integration with the +PostgreSQL JDBC Driver.

    +
    +
    +

    To use this feature, add a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-postgres</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-postgres:3.45.2")
    +}
    +
    +
    +
    +

    Then install the plugin into the Jdbi instance.

    +
    +
    +
    +
    Jdbi jdbi = Jdbi.create("jdbc:postgresql://host:port/database")
    +                .installPlugin(new PostgresPlugin());
    +
    +
    +
    +

    The plugin configures mappings for java.time types like +Instant or Duration, InetAddress, UUID, typed enums, and hstore.

    +
    +
    +

    It also configures SQL array type support for int, long, float, double, +String, and UUID.

    +
    +
    +

    See the javadoc for an +exhaustive list.

    +
    +
    + + + + + +
    + + +Some Postgres operators, for example the ? query operator, collide +with Jdbi or JDBC specific special characters. In such cases, you may need to +escape operators to e.g. ?? or \:. +
    +
    +
    +

    16.12.1. hstore

    +
    +

    The Postgres plugin provides an hstore to Map<String, String> column mapper +and vice versa argument factory:

    +
    +
    +
    +
    Map<String, String> accountAttributes = handle
    +    .select("SELECT attributes FROM account WHERE id = ?", userId)
    +    .mapTo(new GenericType<Map<String, String>>() {})
    +    .one();
    +
    +
    +
    +

    With @HStore qualified type:

    +
    +
    +
    +
    QualifiedType<> HSTORE_MAP = QualifiedType.of(new GenericType<Map<String, String>>() {})
    +    .with(HStore.class);
    +
    +Map<String, String> caps = handle.createUpdate("UPDATE account SET attributes = :hstore")
    +    .bindByType("hstore", mapOfStrings, HSTORE_MAP)
    +    .execute();
    +
    +
    +
    +

    By default, SQL Object treats Map return types as a collection of Map.Entry +values. Use the @SingleValue annotation to override this, so that the return +type is treated as a single value instead of a collection:

    +
    +
    +
    +
    public interface AccountDao {
    +    @SqlQuery("SELECT attributes FROM account WHERE id = ?")
    +    @SingleValue
    +    Map<String, String> getAccountAttributes(long accountId);
    +}
    +
    +
    +
    + + + + + +
    + + +The default variant to install the plugin adds unqualified mappings of raw Map types from and to the hstore Postgres data type. There are situations where this interferes with other mappings of maps. It is recommended to always use the variant with the @HStore qualified type. +
    +
    +
    +

    To avoid binding the unqualified Argument and ColumnMapper bindings, install the plugin using the static factory method:

    +
    +
    +
    +
    Jdbi jdbi = Jdbi.create("jdbc:postgresql://host:port/database")
    +                .installPlugin(PostgresPlugin.noUnqualifiedHstoreBindings());
    +
    +
    +
    +
    +

    16.12.2. @GetGeneratedKeys Annotation

    +
    +

    In Postgres, @GetGeneratedKeys can return the entire modified row if you request generated keys without naming any columns.

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlUpdate("INSERT INTO users (id, name, created_on) VALUES (nextval('user_seq'), ?, now())")
    +    @GetGeneratedKeys
    +    @RegisterBeanMapper(User.class)
    +    User insert(String name);
    +}
    +
    +
    +
    +

    If a database operation modifies multiple rows (e.g. an update that will modify +several rows), your method can return all the modified rows in a collection:

    +
    +
    +
    +
    public interface UserDao {
    +    @SqlUpdate("UPDATE users SET active = false WHERE id = any(?)")
    +    @GetGeneratedKeys
    +    @RegisterBeanMapper(User.class)
    +    List<User> deactivateUsers(long... userIds);
    +}
    +
    +
    +
    +
    +

    16.12.3. Large Objects

    +
    +

    Postgres supports storing large character or binary data in separate storage from +table data. Jdbi allows you to stream this data in and out of the database as part +of an enclosing transaction. Operations for storing, reading, and a hook for deletions are provided. +The test case serves as a simple example:

    +
    +
    +
    +
    public void blobCrud(InputStream myStream) throws IOException {
    +    h.useTransaction(th -> {
    +        Lobject lob = th.attach(Lobject.class);
    +        lob.insert(1, myStream);
    +        readItBack = lob.readBlob(1);
    +        lob.deleteLob(1);
    +        assert lob.readBlob(1) == null;
    +    });
    +}
    +
    +public interface Lobject {
    +    // CREATE TABLE lob (id int, lob oid
    +    @SqlUpdate("INSERT INTO lob (id, lob) VALUES (:id, :blob)")
    +    void insert(int id, InputStream blob);
    +
    +    @SqlQuery("SELECT lob FROM lob WHERE id = :id")
    +    InputStream readBlob(int id);
    +
    +    @SqlUpdate("DELETE FROM lob WHERE id = :id RETURNING lo_unlink(lob)")
    +    void deleteLob(int id);
    +}
    +
    +
    +
    +

    Please refer to +Pg-JDBC docs +for upstream driver documentation.

    +
    +
    +
    +
    +

    16.13. Spring

    +
    +

    This module integrates Jdbi and Spring / Spring Boot, including JTA support.

    +
    +
    +

    The spring5 module supports Spring 5 (Spring Boot 2) and newer. +We currently test with Spring 5 and Spring 6.

    +
    +
    +

    To use jdbi-spring5, add a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-spring5</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-spring5:3.45.2")
    +}
    +
    +
    +
    +

    16.13.1. XML-based configuration

    +
    +

    For XML-based configurations the class JdbiFactoryBean is made available to set up a +Jdbi singleton in a Spring 5 (or Spring Boot) application context.

    +
    +
    +

    Then configure the Jdbi factory bean in your Spring container, e.g.:

    +
    +
    +
    +
    <beans xmlns="http://www.springframework.org/schema/beans"
    +       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    +       xmlns:aop="http://www.springframework.org/schema/aop"
    +       xmlns:tx="http://www.springframework.org/schema/tx"
    +       xsi:schemaLocation="
    +       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    +       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
    +       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
    +
    +  (1)
    +  <bean id="db" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    +    <property name="url" value="jdbc:h2:mem:testing"/>
    +  </bean>
    +
    +  (2)
    +  <bean id="transactionManager"
    +    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    +    <property name="dataSource" ref="db"/>
    +  </bean>
    +  <tx:annotation-driven transaction-manager="transactionManager"/>
    +
    +  (3)
    +  <bean id="jdbi"
    +    class="org.jdbi.v3.spring5.JdbiFactoryBean">
    +    <property name="dataSource" ref="db"/>
    +  </bean>
    +
    +  (4)
    +  <bean id="service"
    +    class="com.example.service.MyService">
    +    <constructor-arg ref="jdbi"/>
    +  </bean>
    +</beans>
    +
    +
    +
    + + + + + + + + + + + + + + + + + +
    1The SQL data source that Jdbi will connect to. In this example we use an H2 +database, but it can be any JDBC-compatible database.
    2Enable configuration of transactions via annotations.
    3Configure JdbiFactoryBean using the data source configured earlier.
    4Inject a Jdbi instance into a service class. Alternatively, use standard JSR-330 @Inject annotations on the target class instead of configuring it in your beans.xml.
    +
    +
    +
    Installing Plugins
    +
    +

    Plugins may be automatically installed by scanning the classpath for +ServiceLoader manifests.

    +
    +
    +
    +
    <bean id="jdbi" class="org.jdbi.v3.spring5.JdbiFactoryBean">
    +  ...
    +  <property name="autoInstallPlugins" value="true"/>
    +</bean>
    +
    +
    +
    +

    Plugins may also be installed explicitly:

    +
    +
    +
    +
    <bean id="jdbi" class="org.jdbi.v3.spring5.JdbiFactoryBean">
    +  ...
    +  <property name="plugins">
    +    <list>
    +      <bean class="org.jdbi.v3.sqlobject.SqlObjectPlugin"/>
    +      <bean class="org.jdbi.v3.guava.GuavaPlugin"/>
    +    </list>
    +  </property>
    +</bean>
    +
    +
    +
    +

    Not all plugins are automatically installable. In these situations, you can +auto-install some plugins and manually install the rest:

    +
    +
    +
    +
    <bean id="jdbi" class="org.jdbi.v3.spring5.JdbiFactoryBean">
    +  ...
    +  <property name="autoInstallPlugins" value="true"/>
    +  <property name="plugins">
    +    <list>
    +      <bean class="org.jdbi.v3.core.h2.H2DatabasePlugin"/>
    +    </list>
    +  </property>
    +</bean>
    +
    +
    +
    +
    +
    Global Attributes
    +
    +

    Global defined attributes may be configured on the factory bean:

    +
    +
    +
    +
    <bean id="jdbi" class="org.jdbi.v3.spring5.JdbiFactoryBean">
    +  <property name="dataSource" ref="db"/>
    +  <property name="globalDefines">
    +    <map>
    +      <entry key="foo" value="bar"/>
    +    </map>
    +  </property>
    +</bean>
    +
    +
    +
    +
    +
    +

    16.13.2. Annotation-based configuration

    +
    +

    For annotation based configurations you can add the following method in a +@Configuration class:

    +
    +
    +
    +
    @Configuration
    +public class JdbiConfiguration {
    +    @Bean
    +    public Jdbi jdbi(DataSource ds) {
    +        ConnectionFactory cf = new SpringConnectionFactory(dataSource); (1)
    +        final Jdbi jdbi = Jdbi.create(cf);
    +        /* additional configuration goes here */
    +        return jdbi;
    +    }
    +}
    +
    +
    +
    + + + + + +
    1This connection factory will enable JTA support.
    +
    +
    +
    +

    16.13.3. Synchronization between Jdbi and JTA

    +
    +

    If you use Spring and databases, you will most likely also use the Java Transaction API (JTA) +to manage the transactions. The JdbiUtil utility can be used to obtain Handles +synchronized with Spring’s JTA, as can be seen in the following fragment:

    +
    +
    +
    +
    Handle handle = JdbiUtil.getHandle(jdbi); (1)
    +try {
    +    /* Use the handle */
    +} finally {
    +    JdbiUtil.closeIfNeeded(handle); (2)
    +}
    +
    +
    +
    + + + + + + + + + +
    1Creates or reuses a handle, optionally synchronizing it with the current transaction
    2Closes the handle if it is not bound to a Spring transaction.
    +
    +
    +

    This utility will also make sure that the handle is released when it was bound to a Spring transaction +and that transaction is closed.

    +
    +
    +
    +

    16.13.4. Jdbi Repositories

    +
    +

    When using SQL objects it might be preferable to have them available for injection. +This can be realized using the @EnableJdbiRepositories annotation (generally placed on your main class). +This annotation will enable the detection of SQL objects annotated with @JdbiRepository and create a Spring +bean for each of them. +Beans created like this will also synchronize with JTA.

    +
    +
    +

    Example usage:

    +
    +
    +
    +
    @JdbiRepository
    +public interface UserDao {
    +    /* SQL Object functionality goes here */
    +}
    +
    +
    +
    +
    +
    @Component
    +public class UserService {
    +    @Autowired
    +    private UserDao userDao;
    +}
    +
    +
    +
    +
    +
    +

    16.14. SQLite

    +
    +

    The jdbi3-sqlite plugin provides support for using the +SQLite JDBC Driver +with Jdbi.

    +
    +
    +

    The plugin configures mapping for the Java URL type which is not +supported by driver.

    +
    +
    +

    To use this plugin, first add a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-sqlite</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-sqlite:3.45.2")
    +}
    +
    +
    +
    +

    Then install the plugin into the Jdbi instance.

    +
    +
    +
    +
    Jdbi jdbi = Jdbi.create("jdbc:sqlite:database")
    +                .installPlugin(new SQLitePlugin());
    +
    +
    +
    +
    +

    16.15. StringTemplate 4

    +
    +

    This module allows you to plug in the StringTemplate 4 templating engine, in place of the standard Jdbi templating engine.

    +
    +
    +

    String Template is a separate dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-stringtemplate4</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-stringtemplate4:3.45.2")
    +}
    +
    +
    +
    +

    16.15.1. Using String template for parsing

    +
    +

    To use StringTemplate format in SQL statements, set the template engine to StringTemplateEngine.

    +
    +
    +

    Defined attributes are provided to the StringTemplate engine to render the SQL:

    +
    +
    +
    +
    String sortColumn = "name";
    +String sql = "SELECT id, name " +
    +             "FROM account " +
    +             "ORDER BY <if(sort)> <sortBy>, <endif> id";
    +
    +List<Account> accounts = handle
    +    .createQuery(sql)
    +    .setTemplateEngine(new StringTemplateEngine())
    +    .define("sort", true)
    +    .define("sortBy", sortColumn)
    +    .mapTo(Account.class)
    +    .list();
    +
    +
    +
    +

    Since StringTemplate by default uses the < character to mark ST expressions, +you might need to escape some SQL:

    +
    +
    +
    +
    String datePredicateSql = "<if(datePredicate)> <dateColumn> \\< :dateFilter <endif>";
    +
    +
    +
    +

    When using SQL Objects, the @UseStringTemplateEngine annotation activates parsing using StringTemplate:

    +
    +
    +
    +
    package com.foo;
    +
    +public interface AccountDao {
    +    @SqlQuery("SELECT id, name " +
    +              "FROM account " +
    +              "ORDER BY <if(sort)> <sortBy>, <endif> id")
    +    @UseStringTemplateEngine
    +    List<Account> selectAll(@Define boolean sort,
    +                            @Define String sortBy);
    +}
    +
    +
    +
    +
    +

    16.15.2. Locating Stringtemplate files on the class path

    +
    +

    SQL templates can be loaded from StringTemplate group files on the classpath by using the StringTemplateSqlLocator:

    +
    +
    +
    com/foo/AccountDao.sql.stg
    +
    +
    group AccountDao;
    +
    +selectAll(sort,sortBy) ::= <<
    +  SELECT id, name
    +  FROM account
    +  ORDER BY <if(sort)> <sortBy>, <endif> id
    +>>
    +
    +
    +
    +
    +
    ST template = StringTemplateSqlLocator.findStringTemplate(
    +                  "com/foo/AccountDao.sql.stg", "selectAll");
    +
    +String sql = template.add("sort", true)
    +                     .add("sortBy", sortColumn)
    +                     .render();
    +
    +
    +
    +

    In this example, since the fully qualified class name is com.foo.AccountDao, +SQL will be loaded from the file com/foo/AccountDao.sql.stg on the +classpath. In the String template group file, the selectAll group will be located and used for rendering.

    +
    +
    +

    In SQL objects, the @UseStringTemplateSqlLocator annotation supports loading templates from the classpath:

    +
    +
    +
    +
    package com.foo;
    +
    +public interface AccountDao {
    +    @SqlQuery
    +    @UseStringTemplateSqlLocator
    +    List<Account> selectAll(@Define boolean sort,
    +                            @Define String sortBy);
    +}
    +
    +
    +
    +

    Here, since the fully qualified class name is com.foo.AccountDao, +SQL will be rendered by loading the selectAll template from the com/foo/AccountDao.sql.stg String template group file on the classpath.

    +
    +
    +

    By default, the method name is used to locate a template in the template group file. This can be overridden by setting a name in the sql method annotation:

    +
    +
    +
    +
    package com.foo;
    +
    +public interface AccountDao {
    +    @SqlQuery("listSorted")
    +    @UseStringTemplateSqlLocator
    +    List<Account> selectAll(@Define boolean sort,
    +                            @Define String sortBy);
    +}
    +
    +
    +
    +

    In this example, the SQL template will still be loaded from the template group file +com/foo/AccountDao.sql.stg on the classpath, however the listSorted +template will be used, regardless of the method name.

    +
    +
    +

    There are some options for StringTemplateEngine on the +StringTemplates configuration class, +like whether missing attributes are considered an error or not.

    +
    +
    + + + + + +
    + + +The @UseStringTemplateEngine annotation activates parsing of the value of a SQL method annotation using the String Template engine while the @UseStringTemplateSqlLocator uses string template group files on the class path to load and parse templates. These annotations are mutually exclusive and the behavior, if these annotations are used simultaneously, is undefined. +
    +
    +
    +
    +
    +

    16.16. Apache Freemarker

    +
    +

    This module allows you to plug in the Apache Freemarker templating engine, in place of the standard Jdbi templating engine.

    +
    +
    +

    Freemarker support is a separate module that needs to be added as a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-freemarker</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-freemarker:3.45.2")
    +}
    +
    +
    +
    +

    16.16.1. Using Freemarker for parsing

    +
    +

    To use the Freemarker format in SQL statements, set the template engine to FreemarkerEngine.

    +
    +
    +

    Defined attributes are provided to the Freemarker template engine to render the SQL:

    +
    +
    +
    +
    String sortColumn = "name";
    +String sql = "SELECT id, name " +
    +             "FROM account " +
    +             "ORDER BY <#if sort> ${sortBy}, </#if> id";
    +
    +List<Account> accounts = handle
    +    .createQuery(sql)
    +    .setTemplateEngine(FreemarkerEngine.instance())
    +    .define("sort", true)
    +    .define("sortBy", sortColumn)
    +    .mapTo(Account.class)
    +    .list();
    +
    +
    +
    +

    When using SQL Objects, the @UseFreemarkerEngine annotation activates parsing using Apache Freemarker.

    +
    +
    +
    +
    package com.foo;
    +
    +public interface AccountDao {
    +    @SqlQuery("SELECT id, name " +
    +              "FROM account " +
    +              "ORDER BY <#if sort> ${sortBy}, </#if> id")
    +    @UseFreemarkerEngine
    +    List<Account> selectAll(@Define boolean sort,
    +                            @Define String sortBy);
    +}
    +
    +
    +
    +
    +

    16.16.2. Locating Freemarker templates on the class path

    +
    +

    SQL templates can be loaded from files on the classpath by using the FreemarkerSqlLocator:

    +
    +
    +
    com/foo/AccountDao/selectAll.sql.ftl
    +
    +
      SELECT id, name FROM account ORDER BY <#if sort> ${sortBy}, </#if> id
    +
    +
    +
    +
    +
    FreemarkerSqlLocator locator = new FreemarkerSqlLocator(new FreemarkerConfig());
    +Template template = locator.locate(AccountDao.class, "selectAll");
    +
    +Map<String, Object> attributes = Map.of(
    +    "sort", true,
    +    "sortBy", sortColumn);
    +
    +final String sql;
    +try (StringWriter writer = new StringWriter()) {
    +    template.process(attributes, writer);
    +    sql = writer.toString();
    +} catch (TemplateException | IOException e) {
    +    throw new IllegalStateException("Failed to render template " + templateName, e);
    +}
    +
    +
    +
    +

    In SQL Objects, the @UseFreemarkerSqlLocator annotation supports loading templates:

    +
    +
    +
    +
    package com.foo;
    +
    +public interface AccountDao {
    +    @SqlQuery
    +    @UseFreemarkerSqlLocator
    +    List<Account> selectAll(@Define boolean sort,
    +                            @Define String sortBy);
    +}
    +
    +
    +
    +

    In this example, since the fully qualified class name is com.foo.AccountDao, +SQL will be loaded from the file com/foo/AccountDao/selectAll.sql.ftl on the +classpath. By default, every template must be a separate file on the class path.

    +
    +
    +
    +
    package com.foo;
    +
    +public interface AccountDao {
    +    @SqlQuery("listSorted")
    +    @UseFreemarkerSqlLocator
    +    List<Account> selectAll(@Define boolean sort,
    +                            @Define String sortBy);
    +}
    +
    +
    +
    +

    Setting a value in the SQL operation affects the file loaded. In this example, changing the name to listSorted will load the file com/foo/AccountDao/listSorted.sql.ftl from the classpath.

    +
    +
    +

    Freemarker has a wealth of configuration options, please see the Freemarker Website for details.

    +
    +
    + + + + + +
    + + +The @UseFreemarkerEngine annotation activates parsing of the value of a SQL method annotation using the Freemarker engine while the @UseFreemarkerSqlLocator uses files on the class path to load and parse FreeMarker templates. These annotations are mutually exclusive and the behavior, if these annotations are used simultaneously, is undefined. +
    +
    +
    +
    +
    +

    16.17. Vavr

    +
    +

    The Vavr Plugin offers deep integration of Jdbi with the Vavr functional library:

    +
    +
    +
      +
    • +

      Supports argument resolution of sever Vavr Value types such as +Option<T>, Either<L, T>, Lazy<T>, Try<T> and Validation<T>. +Given that for the wrapped type T a Mapper is registered.

      +
    • +
    • +

      Return Vavr collection types from queries. Supported are Seq<T>, Set<T>, +Map<K, T> and Multimap<K, T> as well as all subtypes thereof. +It is possible to collect into a Traversable<T>, in this case a List<T> +will be returned. +For all interface types a sensible default implementation will be used +(e.q. List<T> for Seq<T>). Furthermore Multimap<K, T>s are backed by a Seq<T> +as default value container.

      +
    • +
    • +

      Columns can be mapped into Vavr’s Option<T> type.

      +
    • +
    • +

      Tuple projections for Jdbi! Yey! Vavr offers Tuples up to a maximum arity of 8. +you can map your query results e.g. to Tuple3<Integer, String, Long>. +If you select more columns than the arity of the projection the columns +up to that index will be used.

      +
    • +
    +
    +
    +

    To use the plugin, add a dependency:

    +
    +
    +

    For Apache Maven:

    +
    +
    +
    +
    <dependency>
    +    <groupId>org.jdbi</groupId>
    +    <artifactId>jdbi3-vavr</artifactId>
    +    <version>3.45.2</version>
    +</dependency>
    +
    +
    +
    +

    For Gradle:

    +
    +
    +
    +
    dependencies {
    +    implementation("org.jdbi:jdbi3-vavr:3.45.2")
    +}
    +
    +
    +
    + + + + + +
    + + +Vavr introduced binary incompatibilities between 0.10.x and 1.0.0-alpha. The Jdbi plugin only supports 0.9.x and 0.10.x and requires recompilation for vavr 1.0.0. +
    +
    +
    +
    +
    jdbi.installPlugin(new VavrPlugin());
    +
    +
    +
    +

    Here are some usage examples of the features listed above:

    +
    +
    +
    +
    String query = "SELECT * FROM users WHERE :name is null or name = :name";
    +Option<String> param = Option.of("eric");
    +
    +// will fetch first user with given name or first user with any name (Option.none)
    +return handle
    +    .createQuery(query)
    +    .bind("name", param)
    +    .mapToBean(User.class)
    +    .findFirst();
    +
    +
    +
    +

    where param may be one of Option<T>, Either<L, T>, Lazy<T>, Try<T> +or Validation<T>. Note that in the case of these types, the nested value must +be 'present' otherwise a null value is used (e.g. for Either.Left or +Validation.Invalid).

    +
    +
    +
    +
    handle.createQuery("SELECT name FROM users")
    +      .collectInto(new GenericType<Seq<String>>() {});
    +
    +
    +
    +

    This works for all the collection types supported. For the nested value +row and column mappers already installed in Jdbi will be used. +Therefore, the following would work and can make sense if the column is nullable:

    +
    +
    +
    +
    handle.createQuery("SELECT middle_name FROM users") // nulls incoming!
    +      .collectInto(new GenericType<Seq<Option<String>>>() {});
    +
    +
    +
    +

    The plugin will obey configured key and value columns for Map<K, T> +and Multimap<K, T> return types. In the next example we will key users +by their name, which is not necessarily unique.

    +
    +
    +
    +
    Multimap<String, User> usersByName = handle
    +    .createQuery("SELECT * FROM users")
    +    .setMapKeyColumn("name")
    +    .collectInto(new GenericType<Multimap<String, User>>() {});
    +
    +
    +
    +

    Last but not least we can now project simple queries to Vavr tuples like that:

    +
    +
    +
    +
    // given a 'tuples' table with t1 int, t2 varchar, t3 varchar, ...
    +List<Tuple3<Integer, String, String>> tupleProjection = handle
    +    .createQuery("SELECT t1, t2, t3 FROM tuples")
    +    .mapTo(new GenericType<Tuple3<Integer, String, String>>() {})
    +    .list();
    +
    +
    +
    +

    You can also project complex types into a tuple as long as a row mapper is +registered.

    +
    +
    +
    +
    // given that there are row mappers registered for both complex types
    +Tuple2<City, Address> tupleProjection = handle
    +    .createQuery("SELECT cityname, zipcode, street, housenumber FROM " +
    +                 "addresses WHERE user_id = 1")
    +    .mapTo(new GenericType<Tuple2<City, Address>>() {})
    +    .one();
    +
    +
    +
    +

    If you want to mix complex types and simple ones we also got you covered. +Using the TupleMappers class you can configure your projections.(In fact, +you have to - read below!)

    +
    +
    +
    +
    handle.configure(TupleMappers.class, c -> c.setColumn(2, "street").setColumn(3, "housenumber"));
    +
    +Tuple3<City, String, Integer> result = handle
    +    .createQuery("SELECT cityname, zipcode, street, housenumber " +
    +                 "FROM addresses WHERE user_id = 1")
    +    .mapTo(new GenericType<Tuple3<City, String, Integer>>() {})
    +    .one();
    +
    +
    +
    +

    Bear in mind:

    +
    +
    +
      +
    • +

      The configuration of the columns is 1-based, since they reflect +the tuples' values (which you would query by e.g. ._1).

      +
    • +
    • +

      Tuples are always mapped fully column-wise or fully via row mappers. +If you want to mix row-mapped types and single-column mappings the +TupleMappers must be configured properly i.e. all non row-mapped +tuple indices must be provided with a column configuration!

      +
    • +
    +
    +
    +
    +
    +
    +

    17. Cookbook

    +
    +
    +

    This section includes examples of various things you might like to do with Jdbi.

    +
    +
    +

    17.1. Simple Dependency Injection

    +
    +

    Jdbi tries to be independent of using a dependency injection framework, +but it’s straightforward to integrate yours. Just do field injection on a simple custom config type:

    +
    +
    +
    +
    class InjectedDependencies implements JdbiConfig<InjectedDependencies> {
    +    @Inject
    +    SomeDependency dep;
    +
    +    public InjectedDependencies() {}
    +
    +    @Override
    +    public InjectedDependencies createCopy() {
    +        return this; // effectively immutable
    +    }
    +}
    +
    +Jdbi jdbi = Jdbi.create(myDataSource);
    +myIoC.inject(jdbi.getConfig(InjectedDependencies.class));
    +
    +// Then, in any component that needs to access it:
    +getHandle().getConfig(InjectedDependencies.class).dep
    +
    +
    +
    +
    +

    17.2. LIKE clauses with Parameters

    +
    +

    Since JDBC (and therefore Jdbi) does not allow binding parameters into the middle of string literals, +you cannot interpolate bindings into LIKE clauses (LIKE '%:param%').

    +
    +
    +

    Incorrect usage:

    +
    +
    +
    +
    handle.createQuery("SELECT name FROM things WHERE name like '%:search%'")
    +    .bind("search", "foo")
    +    .mapTo(String.class)
    +    .list()
    +
    +
    +
    +

    This query would try to select where name like '%:search%' literally, without binding any arguments. +This is because JDBC drivers will not bind arguments inside string literals.

    +
    +
    +

    It never gets that far, though — this query will throw an exception, +because we don’t allow unused argument bindings by default.

    +
    +
    +

    The solution is to use SQL string concatenation:

    +
    +
    +
    +
    handle.createQuery("SELECT name FROM things WHERE name like '%' || :search || '%'")
    +    .bind("search", "foo")
    +    .mapTo(String.class)
    +    .list()
    +
    +
    +
    +

    Now, search can be properly bound as a parameter to the statement, and it all works as desired.

    +
    +
    + + + + + +
    + + +Check the string concatenation syntax of your database before doing this. +
    +
    +
    +
    +
    +
    +

    18. The Extension Framework

    +
    +
    +

    The Jdbi core provides a rich, programmatic interface for database operations. It is possible to extend this core by writing extensions that plug into the +Jdbi core framework and provide new functionality.

    +
    +
    +

    The Extension framework is generic and supports any type of extension that can be registered with the Jdbi core.

    +
    +
    +

    Jdbi provides the SQLObject plugin, which offers a declarative API by placing annotations on interface methods.

    +
    +
    +

    18.1. Using Jdbi extensions

    +
    +

    Extension types are usually java interface classes. Any interface can be an extension type.

    +
    +
    +

    Jdbi offers multiple ways to obtain an extension type implementation:

    +
    +
    +
      +
    • +

      Calling either +Jdbi#withExtension() or +Jdbi#useExtension() methods with an extension type will pass an extension type implementation to a callback that contains user code.

      +
    • +
    • +

      The Handle#attach() attaches an extension type implementation directly to an existing Handle object.

      +
    • +
    • +

      Finally, the Jdbi#onDemand() method creates an on-demand implementation of an extension type that is not limited to a callback.

      +
    • +
    +
    +
    +

    This is an extension type for the SQL Object extension which uses annotations to identify functionality:

    +
    +
    +
    +
    interface SomethingDao {
    +    @SqlUpdate("INSERT INTO something (id, name) VALUES (:s.id, :s.name)")
    +    int insert(@BindBean("s") Something s);
    +
    +    @SqlQuery("SELECT id, name FROM something WHERE id = ?")
    +    Optional<Something> findSomething(int id);
    +}
    +
    +
    +
    +

    If any of the SQL method annotations (@SqlBatch, +@SqlCall, @SqlQuery, +@SqlScript and @SqlUpdate) is present on either the +extension type itself or any extension type method, the SQL Object extension will be used.

    +
    +
    +

    The Jdbi#withExtension() and +Jdbi#useExtension() methods are used to access +SQLObject functionality:

    +
    +
    +
    +
    jdbi.useExtension(SomethingDao.class, dao -> {
    +    dao.insert(new Something(1, "apple"));
    +});
    +
    +Optional<Something> result = jdbi.withExtension(SomethingDao.class, dao -> dao.findSomething(1));
    +
    +
    +
    +

    If a handle has already been created, an extension type can be directly attached with the +Handle#attach() method:

    +
    +
    +
    +
    SomethingDao dao = handle.attach(SomethingDao.class);
    +Optional<Something> result = dao.findSomething(1);
    +
    +
    +
    +

    The Jdbi#withExtension(), Jdbi#useExtension() and Handle#attach() methods are the most common way to use extension type implementations.

    +
    +
    +

    18.1.1. On-demand extensions

    +
    +

    An extension type implementation can be acquired by calling the Jdbi#onDemand() method which returns +an implementation of the extension type that will transparently create a new handle instance when a method on the extension type is called.

    +
    +
    +

    This is an example for an on-demand extension:

    +
    +
    +
    +
    SomethingDao dao = jdbi.onDemand(SomethingDao.class);
    +dao.insert(new Something(1, "apple"));
    +
    +Optional<Something> result = dao.findSomething(1);
    +
    +
    +
    + + + + + +
    + + +The Jdbi#onDemand() uses a Java proxy object to provide +the on-demand handle object. Java proxies only support Java interface classes as extension types and may not be compatible with +GraalVM when creating native code. +
    +
    +
    +
    +

    18.1.2. Handle lifecycle for extensions

    +
    +

    The difference between the methods to acquire an extension type implementation is the handle (and database connection) lifecycle:

    +
    +
    +
      +
    • +

      Jdbi#withExtension() and +Jdbi#useExtension() provides a managed handle object when the callback is entered and reuses it for any extension type method call as long as the code does not return from the callback.

      +
    • +
    • +

      The Handle#attach() does not manage the handle at all. Any extension type method call will use the handle that the object was attached to and be part of its lifecycle.

      +
    • +
    • +

      The Jdbi#onDemand() provides a managed handle object for every extension type method call. When the method call returns, the handle is closed.

      +
    • +
    +
    +
    +
    +
    +

    18.2. How an extension works

    +
    +

    Any interface class can be an extension type. There is nothing special to an extension type unless an extension requires some specific information +(e.g. annotations present or specific naming).

    +
    +
    +

    Extensions should document which information is needed for the extension framework to determine that a specific interface class represents an extension type that they accept.

    +
    +
    +

    The extension type creation methods (Jdbi#withExtension(), +Jdbi#useExtension(), +Handle#attach() and Jdbi#onDemand()) all take the extension type as a parameter and provide an implementation either to the caller or within a callback object.

    +
    +
    +

    The extension framework selects an ExtensionFactory to handle the extension type and create an implementation. Extension factories must be registered ahead of time with the Jdbi core using the +Extensions#register() method.

    +
    +
    +

    The extension factory then creates an ExtensionMetadata object that contains information about each +method on the extension type:

    +
    +
    + +
    +
    +

    Extension metadata is created once for each extension type and then reused.

    +
    +
    +

    Jdbi usually returns a Java proxy object to user code. Calling a method on that proxy will invoke per-method extension handlers. For each extension handler, objects specific to the invocation +(Handle, configuration) are managed separately .

    +
    +
    +
    +Diagram +
    +
    +
    +

    ExtensionHandler, +ExtensionHandlerCustomizer and +ConfigCustomizer are the three main extension framework objects to implement:

    +
    +
    +
      +
    • +

      An ExtensionHandler object is created by an +ExtensionHandlerFactory, which can be registered either globally (with the +Extensions configuration) and then applied to all extensions types, or directly with an extension factory. It is also possible to specify extension handlers through annotations.

      +
    • +
    • +

      ExtensionHandlerCustomizer objects can modify the behavior of an extension handler. They are +registered globally or provided by an extension factory. They can also be specified through annotations.

      +
    • +
    • +

      ConfigCustomizer objects are created by a +ConfigCustomizerFactory and modify the configuration that is used when an extension handler is +executed. Factory instances are registered globally or with an extension factory. Config customization +can also be specified through annotations.

      +
    • +
    +
    +
    +
    +

    18.3. Extension framework SDK

    +
    + + + + + +
    + + +This chapter is intended for developers who want to write a new extension for Jdbi and need to understand the Extension framework details. This chapter is only +relevant if you plan to write an extension or implement specific extension objects. +
    +
    +
    +

    This chapter lists all the classes that make up the extension framework, their function and how to use them when writing a new extension. Not all pieces are +needed for every extension.

    +
    +
    +

    18.3.1. Extension configuration

    +
    +

    The Extensions class is the configuration object for the extension framework. It contains a registry for +extension factories and global extension objects (ExtensionHandlerFactory, +ExtensionHandlerCustomizer and +ConfigCustomizerFactory).

    +
    +
    +

    Any extension object registered here will be applied to all extension types, independent of the extension factory which is ultimately chosen to process an +extension type.

    +
    +
    +

    By default, the following extension objects are globally registered and can not be removed. These are always processed last (after all user registered extension +objects):

    +
    +
    + +
    +
    + + + + + +
    + + +Order matters with extension objects! For each extension object, the extension specific instances are applied first, then the globally registered ones. +
    +
    +
    +
    +

    18.3.2. The Extension factory

    +
    +

    Extension factories are the core piece for any extension. An ExtensionFactory object can provide all the +specific pieces that make up the extension functionality or delegate to annotations.

    +
    +
    +

    The only method that must be implemented in this interface is +ExtensionFactory#accepts(). If this method returns true, then the given +extension type is handled by this factory. E.g. the SQL Object factory accepts any interface that has at least +one SQL annotation on the class itself or a method.

    +
    +
    + + + + + +
    + + +Even though it is possible to implement all the functions of an extension with annotations, there still needs to be an extension factory that accepts the +extension type. Without such a factory, the extension framework will throw a +NoSuchExtensionException. +
    +
    +
    +

    Any extension factory can provide specific extension objects (by returning instances of +ExtensionHandlerFactory, +ExtensionHandlerCustomizer and +ConfigCustomizerFactory) which are only applied when the factory has accepted an extension +type. The extension factory provides the +ExtensionFactory#getExtensionHandlerFactories(), +ExtensionFactory#getExtensionHandlerCustomizers() +and +ExtensionFactory#getConfigCustomizerFactories() +getters that a factory can implement. By default, each returns an empty collection.

    +
    +
    +
    Java Object methods
    +
    +

    When the extension framework returns an implementation of an extension type, it usually returns a Java proxy +object which will invoke an extension handler for every method on the extension type.

    +
    +
    +

    In addition to the methods defined by the extension type, the following methods also invoke extension handlers:

    +
    +
    + +
    +
    +

    All methods except finalize() can be overridden by the extension type (e.g. through an interface default method).

    +
    +
    +
    +
    Non-virtual factories
    +
    +

    Normally, a factory will use extension handlers to provide functionality when an extension type method is called and a +Java proxy object is returned as an implementation of the extension type. This is a virtual +factory (because there is no actual object implementing the interface). Extension factories are by default virtual factories.

    +
    +
    +

    The SQL Object extension is an example of a virtual factory because it never provides an implementation for extension types but dispatches any method calls to a specific handler to execute SQL operations.

    +
    +
    +

    The extension framework also supports non-virtual factories. These factories produce a backing object that implements the extension type. A non-virtual factory will still return a proxy object to the caller but calling any method on the proxy object may call the corresponding method on the backing object through a special extension handler.

    +
    +
    +

    This is an example of a non-virtual factory that provides an implementation for a specific extension type:

    +
    +
    +
    +
    public static class NonVirtualExtensionFactory implements ExtensionFactory {
    +
    +    @Override
    +    public Set<FactoryFlag> getFactoryFlags() {
    +        return EnumSet.of(NON_VIRTUAL_FACTORY); (1)
    +    }
    +
    +    @Override
    +    public boolean accepts(Class<?> extensionType) {
    +        return extensionType == NonVirtualDao.class;
    +    }
    +
    +    @Override
    +    public <E> E attach(Class<E> extensionType, HandleSupplier handleSupplier) {
    +        return (E) new NonVirtualDaoImpl(handleSupplier); (2)
    +    }
    +}
    +
    +
    +
    + + + + + + + + + +
    1An extension factory declares itself non-virtual by returning the +NON_VIRTUAL_FACTORY flag on the +ExtensionFactory#getFactoryFlags() method.
    2The extension framework calls the +ExtensionFactory#attach() method with +the current extension type and a handle supplier. The factory is expected to return an instance of the extension type. Methods on the instance will be wrapped +in extension handlers and a proxy object is returned to the caller.
    +
    +
    +
    +
    Extensions without Java proxy objects
    +
    +

    A drawback of the standard extension factories is that returning a Java proxy object limits factory functionality +and is incompatible with some use cases (e.g. using GraalVM +for native compilation).

    +
    +
    +

    A factory can return the DONT_USE_PROXY flag on the +ExtensionFactory#getFactoryFlags() method to signal that the extension framework should +return the backing object as-is.

    +
    +
    +

    This is an example of a factory that supports abstract classes in addition to interfaces. Abstract classes are incompatible with java proxies, so the factory +must use the DONT_USE_PROXY flag:

    +
    +
    +
    +
    abstract static class AbstractDao {
    +
    +    public abstract Optional<Something> findSomething(int id);
    +
    +    Something findFirstSomething() {
    +        return findSomething(1).orElseGet(Assertions::fail);
    +    }
    +}
    +
    +public static class DontUseProxyExtensionFactory implements ExtensionFactory {
    +
    +    @Override
    +    public Set<FactoryFlag> getFactoryFlags() {
    +        return EnumSet.of(DONT_USE_PROXY); (1)
    +    }
    +
    +    @Override
    +    public boolean accepts(Class<?> extensionType) {
    +        return extensionType == AbstractDao.class;
    +    }
    +
    +    @Override
    +    public <E> E attach(Class<E> extensionType, HandleSupplier handleSupplier) {
    +        return extensionType.cast(new DaoImpl(handleSupplier)); (2)
    +    }
    +}
    +
    +
    +
    + + + + + + + + + +
    1An extension factory declares that it does not want to use the proxy mechanism by returning the +DONT_USE_PROXY flag from the +ExtensionFactory#getFactoryFlags() method. Using this flag bypasses all the extension +framework proxy mechanism and calls the +ExtensionFactory#attach() method +immediately.
    2The extension factory creates an instance that must be compatible with the extension type. It can provide the current extension type and a handle supplier +if needed. Unlike a non-virtual factory, this instance is returned as-is to the caller. Neither proxy object nor extension handlers are created.
    +
    +
    +

    Jdbi provides an annotation processor that creates java implementations of extension types. In addition, it +provides an extension factory which does not use proxy objects and returns these as extension type implementations. Calling a method on the extension type will invoke the methods on the generated classes directly.

    +
    +
    +
    +
    +

    18.3.3. Extension handlers and their factories

    +
    +

    ExtensionHandler objects are the main place for extension functionality. Each method on an extension type +is mapped to an extension handler. Extension handlers are executed by calling the +ExtensionHandler#invoke() +method.

    +
    +
    +

    This is an example of an extension handler that provides a value whenever a method on the extension type is called:

    +
    +
    +
    +
    public static class TestExtensionHandler implements ExtensionHandler {
    +    @Override
    +    public Object invoke(HandleSupplier handleSupplier, Object target, Object... args) {
    +        return new Something((int) args[0], (String) args[1]); (1)
    +    }
    +}
    +
    +
    +
    + + + + + +
    1Invoking this handler returns a Something instance.
    +
    +
    +

    Extension handlers are not shared, so every extension type method maps onto a separate instance. The +ExtensionHandlerFactory interface provides the +ExtensionHandlerFactory#accepts() method which +is called for each method that needs to be mapped. If a factory accepts a method, the +ExtensionHandlerFactory#createExtensionHandler() +method is called, which should return an extension handler instance.

    +
    +
    +

    This is an example for an extension handler factory that returns an extension handler for methods named getSomething:

    +
    +
    +
    +
    public static class TestExtensionHandlerFactory implements ExtensionHandlerFactory {
    +    @Override
    +    public boolean accepts(Class<?> extensionType, Method method) {
    +        return method.getName().equals("getSomething"); (1)
    +    }
    +
    +    @Override
    +    public Optional<ExtensionHandler> createExtensionHandler(Class<?> extensionType, Method method) {
    +        return Optional.of(new TestExtensionHandler()); (2)
    +    }
    +}
    +
    +interface ExtensionType {
    +    Something getSomething(int id, String name);
    +}
    +
    +
    +
    + + + + + + + + + +
    1The extension handler factory tests that the method has the right name.
    2If the factory accepts the method, it returns a new instance of the extension handler shown above.
    +
    +
    +

    The +ExtensionHandlerFactory#createExtensionHandler() +method returns an Optional<ExtensionHandler> object for backwards compatibility reasons. While it is legal for a +factory to accept a method on an extension type and then return an Optional.empty() object, it is discouraged +in new code.

    +
    +
    + + + + + +
    + + +The extension framework provides extension handlers for interface default methods and synthetic methods. +
    +
    +
    +

    An extension handler for a specific extension type can be either registered globally by adding a factory using the +Extensions#registerHandlerFactory() +method, or it can be returned on the +ExtensionFactory#getExtensionHandlerFactories() +method of the extension factory for the extension type. It can also be configured through an annotation.

    +
    +
    +

    This is the extension factory for the ExtensionType extension type defined above:

    +
    +
    +
    +
    public static class TestExtensionFactory implements ExtensionFactory {
    +    @Override
    +    public boolean accepts(Class<?> extensionType) {
    +        return extensionType == ExtensionType.class; (1)
    +    }
    +
    +    @Override
    +    public Collection<ExtensionHandlerFactory> getExtensionHandlerFactories(ConfigRegistry config) {
    +        return Collections.singleton(new TestExtensionHandlerFactory()); (2)
    +    }
    +}
    +
    +
    +
    + + + + + + + + + +
    1The factory will accept the ExtensionType extension type.
    2When processing the type, the TestExtensionHandlerFactory shown above will be used when creating the extension handlers.
    +
    +
    +
    +

    18.3.4. Extension handler customizers

    +
    +

    ExtensionHandlerCustomizer objects can modify extension handler execution. They are +either registered globally with the +Extensions#registerHandlerCustomizer() +and will augment any extension handler, or they can be provided by an extension factory by implementing the +ExtensionFactory#getConfigCustomizerFactories() +method.

    +
    +
    +

    Here is an example for an extension handler customizer that logs every method handler invocation. It gets registered as a global extension handler customizer +with the Extensions configuration object and will then log every method invocation on an extension type.

    +
    +
    +
    +
        jdbi.configure(Extensions.class, e ->
    +            e.registerHandlerCustomizer(new LoggingExtensionHandlerCustomizer())); (1)
    +
    +static class LoggingExtensionHandlerCustomizer implements ExtensionHandlerCustomizer {
    +
    +    @Override
    +    public ExtensionHandler customize(ExtensionHandler handler, Class<?> extensionType, Method method) {
    +        return (handleSupplier, target, args) -> {
    +            LOG.info(format("Entering %s on %s", method, extensionType.getSimpleName()));
    +            try {
    +                return handler.invoke(handleSupplier, target, args);
    +            } finally {
    +                LOG.info(format("Leaving %s on %s", method, extensionType.getSimpleName()));
    +            }
    +        };
    +    }
    +}
    +
    +
    +
    + + + + + +
    1Register as a global ExtensionHandlerCustomizer instance to log every method invocation.
    +
    +
    + + + + + +
    + + +This is example code. Jdbi actually offers better logging facilities with SqlLogger and the +SqlStatements#setSqlLogger() method. +
    +
    +
    +

    ExtensionHandlerCustomizer instances usually wrap or replace an existing extension +handler. They must be stateless and can only modify or operate on the ExtensionHandler object +that was passed into the ExtensionHandlerCustomizer#customize() +method.

    +
    +
    +
    +

    18.3.5. Config customizers and their factories

    +
    +

    ConfigCustomizer instances modify the configuration +registry object which is used when an extension type method is invoked. This configuration object is passed to all extension handler customizers and the +extension handler itself.

    +
    +
    +

    Config customizer instances are created by ConfigCustomizerFactory instances which decide whether +to provide a config customizer for every method on an extension type by implementing the +ConfigCustomizerFactory#forExtensionType() method, or it can +implement +ConfigCustomizerFactory#forExtensionMethod() +for per-method selection.

    +
    +
    +

    This is an example for a global configuration customizer that registers a specific row mapper for all methods on every extension type.

    +
    +
    +
    +
        jdbi.configure(Extensions.class, e ->
    +            e.registerConfigCustomizerFactory(new SomethingMapperConfigCustomizerFactory())); (1)
    +
    +static class SomethingMapperConfigCustomizerFactory implements ConfigCustomizerFactory {
    +
    +    @Override
    +    public Collection<ConfigCustomizer> forExtensionType(Class<?> extensionType) {
    +        return Collections.singleton(
    +                config -> config.get(RowMappers.class).register(new SomethingMapper()) (2)
    +        );
    +    }
    +}
    +
    +
    +
    + + + + + + + + + +
    1Register a global config customizer. It will be applied to all extension types.
    2Register the SomethingMapper to the every extension handler for every extension type.
    +
    +
    +
    +
    +

    18.4. Annotations

    +
    +

    A Jdbi extension like the SQL Object extension uses annotations on the extension types. It is possible to implement a large part of the +functionality directly as annotation related objects without having to provide extension objects through an extension factory.

    +
    +
    +

    The extension framework offers meta-annotations to configure ExtensionHandler and +ExtensionHandlerCustomizer instances directly and another meta-annotation to define +ExtensionConfigurer instances which allows configuration modification similar to +ConfigCustomizer).

    +
    +
    +

    Meta-annotations are used to annotate other annotation classes for processing by the extension framework.

    +
    +
    +

    18.4.1. Extension handler annotation

    +
    +

    The @UseExtensionHandler meta-annotation marks any other annotation as defining an +extension handler.

    +
    +
    +

    These annotations must be placed on a method in an extension type, therefore annotations that are marked with the meta-annotation should use the +@Target({ElementType.METHOD}) annotation to limit their scope.

    +
    +
    +

    The extension framework processes all annotations that use this meta-annotation. It will instantiate the extension handler by locating

    +
    +
    +
      +
    • +

      a constructor that takes both the extension type and a method object

      +
    • +
    • +

      a constructor that takes only the extension type

      +
    • +
    • +

      a no-argument constructor

      +
    • +
    +
    +
    +

    If none of those can be found, an exception will be thrown.

    +
    +
    +

    When using this meta-annotation, the UseExtensionHandler#id() method must return an id +value that is specific for the extension factory that should process the annotation. This allows multiple extensions that use annotations to co-exist.

    +
    +
    +

    This is an example of an annotation that provides the handler for the getSomething method on an extension type:

    +
    +
    +
    +
        jdbi.configure(Extensions.class, extensions ->  (1)
    +            extensions.register(extensionType ->
    +                    Stream.of(extensionType.getMethods())
    +                            .anyMatch(method ->
    +                                    Stream.of(method.getAnnotations())
    +                                            .map(annotation -> annotation.annotationType()
    +                                                    .getAnnotation(UseExtensionHandler.class)) (2)
    +                                            .anyMatch(a -> a != null && "test".equals(a.id())) (3)
    +                            )));
    +
    +interface ExtensionType {
    +
    +    @SomethingAnnotation (4)
    +    Something getSomething(int id, String name);
    +}
    +
    +@Retention(RetentionPolicy.RUNTIME)
    +@Target({ElementType.METHOD}) (5)
    +@UseExtensionHandler(id = "test", (6)
    +        value = SomethingExtensionHandler.class) (7)
    +@interface SomethingAnnotation {}
    +
    +public static class SomethingExtensionHandler implements ExtensionHandler {
    +
    +    @Override
    +    public Object invoke(HandleSupplier handleSupplier, Object target, Object... args) {
    +        return new Something((int) args[0], (String) args[1]);
    +    }
    +}
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    1An extension factory that implements only the ExtensionFactory#accepts() method can be written as a lambda.
    2The factory accepts this extension type if it has at least one method that is annotated with the +@UseExtensionHandler meta-annotation.
    3Ensure that the annotation uses the test id value.
    4The @SomethingAnnotation provides the extension handler. Any method with this annotation will use the same extension handler.
    5The custom annotation targets only methods.
    6The test id value ensures that the registered factory will accept the extension type. Any extension type must be accepted by a factory, otherwise the +extension framework will reject the extension type.
    7The annotation provides the extension handler class. An instance of this class is created by the extension framework directly without an extension handler +factory.
    +
    +
    + + + + + +
    + + +Even though multiple extensions can can be used at the same time, they can not share an extension type. Every extension type will only get extension handlers +associated with a single factory. It is not possible to have an extension type where methods are processed by extension handlers that are annotated with +annotations that use different id values. Any extension handler must be provided either by annotations that match the id value of the +ExtensionFactory or an extension handler factory. +
    +
    +
    +

    All SQL method annotations in the Jdbi SQL Object extension (@SqlBatch, +@SqlCall, @SqlQuery, +@SqlScript and @SqlUpdate) are marked with this +meta-annotation.

    +
    +
    +
    +

    18.4.2. Extension handler customizer annotation

    +
    +

    The @UseExtensionHandlerCustomizer meta-annotation marks any other annotation +as defining an extension handler customizer.

    +
    +
    +

    An example in the SQL object extension is the @Transaction annotation which allows +wrapping multiple SQL operations into a database transaction.

    +
    +
    +

    Extension handler customizers either apply to all methods in an extension type by adding an annotation to the extension type, or to specific methods by adding +the annotation to a method:

    +
    +
    +
    +
    @Retention(RetentionPolicy.RUNTIME)
    +@Target({ElementType.METHOD, ElementType.TYPE}) (1)
    +@UseExtensionHandlerCustomizer(
    +        value = LoggingExtensionHandlerCustomizer.class)
    +@interface LogThis {}
    +
    +interface MethodExtensionType {
    +
    +    @LogThis  (2)
    +    @SomethingAnnotation
    +    Something getSomething(int id, String name);
    +}
    +
    +@LogThis (3)
    +interface InstanceExtensionType {
    +
    +    @SomethingAnnotation
    +    Something getSomething(int id, String name);
    +}
    +
    +
    +
    + + + + + + + + + + + + + +
    1An annotation that uses the @UseExtensionHandlerCustomizer annotation can +be placed on a method or the extension type itself.
    2The extension handler customizer is only applied to an annotated method.
    3The extension handler customizer is applied to all methods on the extension type.
    +
    +
    +

    The extension framework processes all annotations that use this meta-annotation. It will instantiate the extension handler customizer by locating

    +
    +
    +
      +
    • +

      a constructor that takes both the extension type and a method object

      +
    • +
    • +

      a constructor that takes only the extension type

      +
    • +
    • +

      a no-argument constructor

      +
    • +
    +
    +
    +

    If none of those can be found, an exception will be thrown.

    +
    +
    +

    This is an example for an annotation that provides a handler customizer which logs method entry and exit for any extension handler:

    +
    +
    +
    +
    public static class LoggingExtensionHandlerCustomizer implements ExtensionHandlerCustomizer {
    +
    +    @Override
    +    public ExtensionHandler customize(ExtensionHandler handler, Class<?> extensionType, Method method) {
    +        return (handleSupplier, target, args) -> {
    +            LOG.info(format("Entering %s on %s", method, extensionType.getSimpleName()));
    +            try {
    +                return handler.invoke(handleSupplier, target, args);
    +            } finally {
    +                LOG.info(format("Leaving %s on %s", method, extensionType.getSimpleName()));
    +            }
    +        };
    +    }
    +}
    +
    +
    +
    +

    Extension handler customizer objects are not tied to a specific extension factory. This is an example where SQL Object method annotations are +used with the custom logging annotation:

    +
    +
    +
    +
    interface SomethingDao {
    +
    +    @SqlUpdate("INSERT INTO something (id, name) VALUES (:s.id, :s.name)")
    +    int insert(@BindBean("s") Something s);
    +
    +    @SqlQuery("SELECT id, name FROM something WHERE id = ?")
    +    @LogThis
    +    Optional<Something> findSomething(int id);
    +}
    +
    +
    +
    +
    Specifying extension handler customization order
    +
    +

    When multiple extension customizers are used on the same extension type method, the order in which they are applied is undefined. If a specific order is +required (e.g. because one customization depends on another), the +@ExtensionHandlerCustomizationOrder annotation may be used to enforce a +specific order.

    +
    +
    +

    Listing the annotation classes orders the extension customizers from outermost to innermost (outermost is called first). Any unlisted annotation will still be +applied but its position is undefined. It is recommended to list all applicable annotation classes when specifying the order.

    +
    +
    +
    +
    interface OrderedCustomizers {
    +    @Bar
    +    @Foo
    +    @ExtensionHandlerCustomizationOrder({Foo.class, Bar.class}) (1)
    +    void execute();
    +}
    +
    +
    +
    + + + + + +
    1The annotation ensures that the Foo extension customizer is called first, then the Bar extension customizer. Otherwise, the order is undefined.
    +
    +
    +
    +
    +

    18.4.3. Extension handler configurer annotation

    +
    +

    The @UseExtensionConfigurer meta-annotation marks any other annotation as defining an +extension configurer.

    +
    +
    +

    Similar to extension handler customizers, configurers either apply to all methods in an extension type by adding an annotation to the extension type, or to +specific methods by adding the annotation to a method.

    +
    +
    +

    The meta-annotation provides an implementation of the ExtensionConfigurer.

    +
    +
    + +
    + +
    +

    The extension framework processes all annotations that use this meta-annotation.

    +
    +
    +

    It will instantiate the extension configurer by locating

    +
    +
    +
      +
    • +

      a constructor that takes the annotation, the extension type, and a method object

      +
    • +
    • +

      a constructor that takes the annotation and the extension type

      +
    • +
    • +

      a constructor that takes the annotation only

      +
    • +
    • +

      a no-argument constructor

      +
    • +
    +
    +
    +

    If none can be found, an exception will be thrown.

    +
    +
    +

    This is an example of an extension configurer annotation that adds a specific row mapper:

    +
    +
    +
    +
    @Retention(RetentionPolicy.RUNTIME)
    +@Target({ElementType.METHOD, ElementType.TYPE})
    +@UseExtensionConfigurer(value = SomethingMapperExtensionConfigurer.class) (1)
    +@interface RegisterSomethingMapper {}
    +
    +interface SomethingDao {
    +
    +    @SqlUpdate("INSERT INTO something (id, name) VALUES (:s.id, :s.name)")
    +    int insert(@BindBean("s") Something s);
    +
    +    @SqlQuery("SELECT id, name FROM something WHERE id = ?")
    +    @RegisterSomethingMapper (2)
    +    Optional<Something> findSomething(int id);
    +}
    +
    +public static class SomethingMapperExtensionConfigurer extends SimpleExtensionConfigurer { (3)
    +
    +    @Override
    +    public void configure(ConfigRegistry config, Annotation annotation, Class<?> extensionType) {
    +        config.get(RowMappers.class).register(new SomethingMapper());
    +    }
    +}
    +
    +
    +
    + + + + + + + + + + + + + +
    1define the extension configurer class in the annotation
    2add the custom annotation to a method in a SQL Object extension type
    3The implementation extends SimpleExtensionConfigurer as it should behave the same when used +on an extension type or an extension type method.
    +
    +
    +

    Similar to extension handler customizer objects, extension configurers are also not tied to a specific extension factory. In the example above, a custom +extension configurer is used in combination with the SQL Object extension annotations.

    +
    +
    + + + + + +
    + + +If an extension configurer should behave the same way independent of its position, the implementation should extend +SimpleExtensionConfigurer and implement the +SimpleExtensionConfigurer#configure() +method. +
    +
    +
    +

    The SQL Object extension implements all per-method and per-class registration of specific objects +(e.g. @RegisterColumnMapper or +@RegisterRowMapper) through extension configurer objects which in turn create config customizer +instances.

    +
    +
    +
    +
    +

    18.5. Extension metadata

    +
    + + + + + +
    + + +Interacting directly with the ExtensionMetadata and +ExtensionHandlerInvoker is an advanced use case when writing specific extension +code. For most extensions, all metadata interactions are handled by the framework and don’t require anything special. +
    +
    +
    +

    For every extension type that is processed by the framework, an ExtensionMetadata object is created. It +collects all the information that is required to create the java proxy object:

    +
    +
    +
      +
    • +

      extension handlers for each extension type method including optional extension handler customizers.

      +
    • +
    • +

      instance config customizers which are applied to every method

      +
    • +
    • +

      method specific config customizers

      +
    • +
    +
    +
    +

    Extension metadata is created using a builder when an extension type is processed for the first time. It is possible for an +ExtensionFactory to participate in the metadata creation. E.g. the SQL Object extension +uses this to add extension handlers for the SqlObject interface methods.

    +
    +
    +

    If an extension factory wants to participate in the metadata creation, it needs to implement the +ExtensionFactory#buildExtensionMetadata() +method which is called with the extension metadata builder right before the actual metadata object is created. See the +ExtensionMetadata.Builder documentation for all available methods.

    +
    +
    +

    Metadata for an extension type can be retrieved from the Extensions configuration object by calling the +Extensions#findMetadata().

    +
    +
    +

    A metadata object can create ExtensionHandlerInvoker instances for all methods +on the extension type that is represents. An extension handler invoker binds the actual extension handler instance to a specific configuration object (and the +config customizers applied to that configuration object).

    +
    +
    +

    The main use case is within an extension type implementation class as it requires a HandlerSupplier +instance, which is only available through the +ExtensionFactory#attach() method. By +creating extension handler invokers and metadata manually, an implementation can sidestep all the proxy logic and directly wire up method invocation or redirect +invocations between methods. The jdbi SQL object generator uses this mechanism to create implementation classes that do not need the java proxy +logic (which is problematic with GraalVM).

    +
    +
    +

    This is an example of creating and calling an extension handler invoker directly:

    +
    +
    +
    +
    @Test
    +public void testIdOne() {
    +    Something idOne = jdbi.withExtension(ExtensionType.class, ExtensionType::getIdOne);
    +    assertThat(idOne).isEqualTo(new Something(1, "apple"));
    +}
    +
    +interface ExtensionType {
    +
    +    Something getSomething(int id, String name);
    +
    +    Something getIdOne();  (1)
    +}
    +
    +public static class TestExtensionFactory implements ExtensionFactory {
    +
    +    @Override
    +    public boolean accepts(Class<?> extensionType) {
    +        return extensionType == ExtensionType.class;
    +    }
    +
    +    @Override
    +    public <E> E attach(Class<E> extensionType, HandleSupplier handleSupplier) {
    +
    +        ExtensionMetadata extensionMetadata = handleSupplier.getConfig() (2)
    +                .get(Extensions.class).findMetadata(extensionType, this);
    +
    +        return extensionType.cast(new ExtensionTypeImpl(extensionMetadata, handleSupplier)); (3)
    +    }
    +
    +    @Override
    +    public Set<FactoryFlag> getFactoryFlags() {
    +        return EnumSet.of(DONT_USE_PROXY); (4)
    +    }
    +
    +    @Override
    +    public Collection<ExtensionHandlerFactory> getExtensionHandlerFactories(ConfigRegistry config) {
    +        return Collections.singleton(new TestExtensionHandlerFactory()); (5)
    +    }
    +}
    +
    +public static class TestExtensionHandlerFactory implements ExtensionHandlerFactory {
    +
    +    @Override
    +    public boolean accepts(Class<?> extensionType, Method method) {
    +        return method.getName().equals("getSomething");  (6)
    +    }
    +
    +    @Override
    +    public Optional<ExtensionHandler> createExtensionHandler(Class<?> extensionType, Method method) {
    +        return Optional.of((handleSupplier, target, args) -> new Something((int) args[0], (String) args[1]));
    +    }
    +}
    +
    +static class ExtensionTypeImpl implements ExtensionType {
    +
    +    private final ExtensionHandlerInvoker getSomethingInvoker;
    +
    +    private ExtensionTypeImpl(ExtensionMetadata extensionMetadata, HandleSupplier handleSupplier) {
    +
    +        ConfigRegistry config = handleSupplier.getConfig();
    +        this.getSomethingInvoker = extensionMetadata.createExtensionHandlerInvoker(this,
    +                JdbiClassUtils.methodLookup(ExtensionType.class, "getSomething", int.class, String.class), (7)
    +                handleSupplier, config);
    +    }
    +
    +    @Override
    +    public Something getSomething(int id, String name) {
    +        return (Something) getSomethingInvoker.invoke(id, name);
    +    }
    +
    +    @Override
    +    public Something getIdOne() {
    +        return (Something) getSomethingInvoker.invoke(1, "apple"); (8)
    +    }
    +}
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    1The getIdOne method takes no parameters and returns a constant Something object
    2The extension factory retrieves the metadata for the ExtensionType class. This call is usually done by the extension framework but can be done manually +when implementing the +ExtensionFactory#attach().
    3The extension factory returns an implementation of the extension type.
    4The extension factory requests that the framework returns the implementation as is and not wrap it into extension handlers.
    5The extension factory adds an extension handler factory that provides the actual implementation.
    6The extension handler factory only accepts the getSomething method, it does not create an extension handler for getIdOne.
    7The extension type uses the metadata object to create an extension handler invoker for the getSomething method. This is handled by the custom extension +handler factory.
    8The getIdOne method now invokes the extension handler for the getSomething method and passes constant values to the +ExtensionHandlerInvoker#invoke() method.
    +
    +
    +
    +
    +
    +

    19. Advanced Topics

    +
    +
    +

    19.1. High Availability

    +
    +

    Jdbi can be combined with connection pools and high-availability features in your database driver. +We’ve used HikariCP in combination +with the PgJDBC connection load balancing +features with good success.

    +
    +
    +
    +
    PGSimpleDataSource ds = new PGSimpleDataSource();
    +ds.setServerName("host1,host2,host3");
    +ds.setLoadBalanceHosts(true);
    +
    +HikariConfig hc = new HikariConfig();
    +hc.setDataSource(ds);
    +hc.setMaximumPoolSize(6);
    +
    +Jdbi jdbi = Jdbi.create(new HikariDataSource(hc)).installPlugin(new PostgresPlugin());
    +
    +
    +
    +

    Each Jdbi may be backed by a pool of any number of hosts, but the connections should all be alike. +Exactly which parameters must stay the same and which may vary depends on your database and driver.

    +
    +
    +

    If you want to have two separate pools, for example a read-only set that connects to read replicas +and a smaller pool of writers that go only to a single host, you currently should have separate +Jdbi instances each pointed at a separate DataSource.

    +
    +
    +
    +

    19.2. Compiling with Parameter Names

    +
    +

    By default, the Java compiler does not write parameter names of constructors and +methods to class files. At runtime, using reflection to find parameter names +will return values like "arg0", "arg1", etc.

    +
    +
    +

    Out of the box, Jdbi uses annotations to name parameters, e.g.:

    +
    +
    +
      +
    • +

      ConstructorMapper uses the @ConstructorProperties annotation.

      +
    • +
    • +

      SQL Object method arguments use the @Bind annotation.

      +
    • +
    +
    +
    +
    +
    @SqlUpdate("INSERT INTO users (id, name) VALUES (:id, :name)")
    +void insert(@Bind("id") long id, @Bind("name") String name);
    +
    +
    +
    +

    If you compile your code with the -parameters compiler flag, then the need for +these annotations is removed — Jdbi automatically uses the method parameter name:

    +
    +
    +
    +
    @SqlUpdate("INSERT INTO users (id, name) VALUES (:id, :name)")
    +void insert(long id, String name);
    +
    +
    +
    +

    19.2.1. Maven Setup

    +
    +

    Configure the maven-compiler-plugin in your POM:

    +
    +
    +
    +
    <plugin>
    +  <groupId>org.apache.maven.plugins</groupId>
    +  <artifactId>maven-compiler-plugin</artifactId>
    +  <configuration>
    +    <compilerArgs>
    +      <arg>-parameters</arg>
    +    </compilerArgs>
    +  </configuration>
    +</plugin>
    +
    +
    +
    +
    +

    19.2.2. IntelliJ IDEA setup

    +
    +
      +
    • +

      File → Settings

      +
    • +
    • +

      Build, Execution, Deployment → Compiler → Java Compiler

      +
    • +
    • +

      Additional command-line parameters: -parameters

      +
    • +
    • +

      Click Apply, then OK.

      +
    • +
    • +

      Build → Rebuild Project

      +
    • +
    +
    +
    +
    +

    19.2.3. Eclipse Setup

    +
    +
      +
    • +

      Window → Preferences

      +
    • +
    • +

      Java → Compiler

      +
    • +
    • +

      Under "Classfile Generation," check the option "Store information about +method parameters (usable via reflection)."

      +
    • +
    +
    +
    +
    +
    +

    19.3. Working with Generic Types

    +
    +

    Jdbi provides utility classes to make it easier to work with Java generic types.

    +
    +
    +

    19.3.1. GenericType

    +
    +

    GenericType represents a generic +type signature that can be passed around in a type-safe way.

    +
    +
    +

    Create a generic type reference by instantiating an anonymous inner class:

    +
    +
    +
    +
    new GenericType<Optional<String>>() {}
    +
    +
    +
    +

    This type reference can be passed to any Jdbi method that accepts a +GenericType<T>, e.g.:

    +
    +
    +
    +
    List<Optional<String>> middleNames = handle
    +    .select("SELECT middle_name FROM contacts")
    +    .mapTo(new GenericType<Optional<String>>() {})
    +    .list();
    +
    +
    +
    +

    The GenericType.getType() returns the raw +java.lang.reflect.Type object used +to represent generics in Java.

    +
    +
    +
    +

    19.3.2. The GenericTypes helper

    +
    +

    GenericTypes provides methods +for working with Java generic types signatures.

    +
    +
    +

    All methods in GenericTypes operate in terms of java.lang.reflect.Type.

    +
    +
    +

    The getErasedType(Type) method accepts a Type and returns the raw Class +for that type, with any generic parameters erased:

    +
    +
    +
    +
    Type listOfInteger = new GenericType<List<Integer>>() {}.getType();
    +GenericTypes.getErasedType(listOfInteger); // => List.class
    +
    +GenericTypes.getErasedType(String.class); // => String.class
    +
    +
    +
    +

    The resolveType(Type, Type) method takes a generic type, and a context type in +which to resolve it.

    +
    +
    +

    For example, given the type variable T from Optional<T>:

    +
    +
    +
    +
    Type t = Optional.class.getTypeParameters()[0];
    +
    +
    +
    +

    And given the context type Optional<String>:

    +
    +
    +
    +
    Type optionalOfString = new GenericType<Optional<String>>() {}.getType();
    +
    +
    +
    +

    The resolveType() method answers the question: "what is type T, in the context +of type Optional<String>?"

    +
    +
    +
    +
    GenericTypes.resolveType(t, optionalOfString);
    +// => String.class
    +
    +
    +
    +

    This scenario of resolving the first type parameter of some generic supertype is +so common that we made a separate method for it:

    +
    +
    +
    +
    GenericTypes.findGenericParameter(optionalOfString, Optional.class);
    +// => Optional.of(String.class)
    +
    +Type listOfInteger = new GenericType<List<Integer>>() {}.getType();
    +GenericTypes.findGenericParameter(listOfInteger, Collection.class);
    +// => Optional.of(Integer.class)
    +
    +
    +
    +

    Note that this method will return Optional.empty() if the type parameter +cannot be resolved, or the types have nothing to do with each other:

    +
    +
    +
    +
    GenericTypes.findGenericParameter(optionalOfString, List.class);
    +// => Optional.empty();
    +
    +
    +
    +
    +
    +

    19.4. NamedArgumentFinder

    +
    +

    The NamedArgumentFinder +interface, as its name suggests, finds arguments by name from some source. +Typically, a single NamedArgumentFinder instance will provide arguments for +several names.

    +
    +
    +

    In cases where neither bindBean(), bindFields(), bindMethods(), nor +bindMap() are a good fit, you can implement your own NamedArgumentFinder and +bind that, instead of extracting and binding each argument individually.

    +
    +
    +
    +
    Cache cache = ... // e.g. Guava Cache
    +NamedArgumentFinder cacheFinder = (name, ctx) ->
    +    Optional.ofNullable(cache.getIfPresent(name))
    +            .map(value -> ctx.findArgumentFor(Object.class, value));
    +
    +stmt.bindNamedArgumentFinder(cacheFinder);
    +
    +
    +
    + + + + + +
    + + +Under the hood, the +SqlStatement.bindBean(), +SqlStatement.bindMethods(), +SqlStatement.bindFields(), +and +SqlStatement.bindMap() +methods are just creating and binding custom implementations of +NamedArgumentFinder for beans, methods, fields, and maps, respectively. +
    +
    +
    +
    +

    19.5. JdbiConfig

    +
    +

    Configuration is managed by the +ConfigRegistry class. +Each Jdbi object that represents a distinct database context (for +example, Jdbi itself, a +Handle instance, or an attached +SqlObject class) has a +separate config registry instance.

    +
    +
    +

    A context implements the +Configurable interface +which allows modification of its configuration as well as retrieving +the current context’s configuration for use by Jdbi core or +extensions.

    +
    +
    +

    When a new context is created, it inherits a copy of its parent +configuration at the time of creation - further modifications to the +original will not affect already created configuration contexts. +Configuration context copies happen when creating a +Handle from +Jdbi, when opening a +SqlStatement from +the Handle, and when attaching or creating an on-demand extension such +as SqlObject.

    +
    +
    +

    The configuration itself is stored in implementations of the +JdbiConfig interface. +Each implementation must adhere to the contract of the interface; in +particular it must have a public no-argument constructor that provides +useful defaults and an implementation of the +JdbiConfig#createCopy +method that is invoked when a configuration registry is cloned.

    +
    +
    +

    Configuration should be set on a context before that context is used, +and not changed later. Some configuration classes may be thread-safe but most are +not. Configuration objects should be implemented so that they are cheap to copy, +for example the base ones use copy-on-write collections.

    +
    +
    +

    Many of Jdbi’s core features, for example argument or mapper +registries, are simply implementations of +JdbiConfig that store the +registered mappings for later use during query execution.

    +
    +
    +
    +
    public class ExampleConfig implements JdbiConfig<ExampleConfig> {
    +
    +    private String color;
    +    private int number;
    +
    +    public ExampleConfig() {
    +        color = "purple";
    +        number = 42;
    +    }
    +
    +    private ExampleConfig(ExampleConfig other) {
    +        this.color = other.color;
    +        this.number = other.number;
    +    }
    +
    +    public ExampleConfig setColor(String color) {
    +        this.color = color;
    +        return this;
    +    }
    +
    +    public String getColor() {
    +        return color;
    +    }
    +
    +    public ExampleConfig setNumber(int number) {
    +        this.number = number;
    +        return this;
    +    }
    +
    +    public int getNumber() {
    +        return number;
    +    }
    +
    +    @Override
    +    public ExampleConfig createCopy() {
    +        return new ExampleConfig(this);
    +    }
    +
    +}
    +
    +
    +
    +

    19.5.1. Creating a custom JdbiConfig type

    +
    +
      +
    • +

      Create a public class that implements JdbiConfig.

      +
    • +
    • +

      Add a public, no-argument constructor

      +
    • +
    • +

      Add a private, copy constructor.

      +
    • +
    • +

      Implement createCopy() to call the copy constructor.

      +
    • +
    • +

      Add config properties, and provide sane defaults for each property.

      +
    • +
    • +

      Ensure that all config properties get copied to the new instance in the copy +constructor.

      +
    • +
    • +

      Override setConfig(ConfigRegistry) if your config class wants to be able to +use other config classes in the registry. E.g. RowMappers registry delegates +to ColumnMappers registry, if it does not have a mapper registered for a given +type.

      +
    • +
    • +

      Use that configuration object from other classes that are interested in it.

      +
      +
        +
      • +

        e.g. BeanMapper, FieldMapper, and ConstructorMapper all use the +ReflectionMappers config class to keep common configuration.

        +
      • +
      +
      +
    • +
    +
    +
    +
    +
    +

    19.6. JdbiPlugin

    +
    +

    JdbiPlugin can be used to bundle bulk configuration. +Plugins may be installed explicitly via Jdbi.installPlugin(JdbiPlugin), or +may be installed automagically from the classpath using the ServiceLoader mechanism +via installPlugins().

    +
    +
    +

    Jars may provide a file in META-INF/services/org.jdbi.v3.core.spi.JdbiPlugin +containing the fully qualified class name of your plugin.

    +
    +
    +

    In general, Jdbi’s separate artifacts each provide a single relevant plugin (e.g. jdbi3-sqlite), +and such modules will be auto-loadable. Modules that provide no (e.g. jdbi3-commons-text) +or multiple (e.g. jdbi3-core) plugins typically will not be.

    +
    +
    + + + + + +
    + + +The developers encourage you to install plugins explicitly. Code with declared dependencies +on the module it uses is more robust to refactoring and provides useful data +for static analysis tools about what code is or is not used. +
    +
    +
    +
    +

    19.7. StatementContext

    +
    +

    The StatementContext class holds the state for all statements. It is a stateful object that should not be shared between threads. It may be used by different threads as long as this happens sequentially.

    +
    +
    +

    The statement context object is passed into most user extension points, e.g. RowMapper, ColumnMapper, or CollectorFactory.

    +
    +
    +

    The StatementContext is not intended to be extended and extension points should use it to get access to other parts of the system (especially the config registry). They rarely need to make changes to it.

    +
    +
    +
    +

    19.8. TemplateEngine

    +
    +

    Jdbi uses a TemplateEngine +implementation to render templates into SQL. Template engines take a SQL +template string and the StatementContext as input, and produce a parseable +SQL string as output.

    +
    +
    +

    Out of the box, Jdbi is configured to use DefinedAttributeTemplateEngine, which replaces angle-bracked tokens like <name> in SQL statements with +the string value of the named attribute:

    +
    +
    +
    +
    String tableName = "customers";
    +Class<?> entityClass = Customer.class;
    +
    +handle.createQuery("SELECT <columns> FROM <table>")
    +      .define("table", "customers")
    +      .defineList("columns", "id", "name")
    +      .mapToMap()
    +      .list() // => "SELECT id, name FROM customers"
    +
    +
    +
    + + + + + +
    + + +The defineList method defines a list of elements as the comma-separated +splice of String values of the individual elements. In the above example, +the columns attribute is defined as "id, name". +
    +
    +
    +

    Jdbi supports custom template engines through the TemplateEngine +interface. By calling Configurable#setTemplateEngine() method on the Jdbi, Handle, or any SQL statement like Update or Query, the template engine used to render SQL can be changed:

    +
    +
    +
    +
    TemplateEngine templateEngine = (template, ctx) -> {
    +  ...
    +};
    +
    +jdbi.setTemplateEngine(templateEngine);
    +
    +
    +
    + + + + + +
    + + +Jdbi also provides StringTemplateEngine, +which renders templates using the StringTemplate library. See StringTemplate 4. +
    +
    +
    +

    Template engines interact with the SQL template caching. A template engine may implement the TemplateEngine#parse() methods to create an intermediary representation of a template that can be used to render a template faster. The output of this method will be cached. Depending on the implementation, defined attributes may be resolved at parse time and not at render time.

    +
    +
    +

    The most commonly used template engines (DefinedAttributeTemplateEngine and StringTemplateEngine do not support caching).

    +
    +
    +
    +

    19.9. SqlParser

    +
    +

    After the SQL template has been rendered, Jdbi uses a SqlParser to parse out any named parameters from the SQL statement. This Produces a ParsedSql object, which +contains all the information Jdbi needs to bind parameters and execute the SQL statement.

    +
    +
    +

    Out of the box, Jdbi is configured to use ColonPrefixSqlParser, which +recognizes colon-prefixed named parameters, e.g. :name.

    +
    +
    +
    +
    handle.createUpdate("INSERT INTO characters (id, name) VALUES (:id, :name)")
    +      .bind("id", 1)
    +      .bind("name", "Dolores Abernathy")
    +      .execute();
    +
    +
    +
    +

    Jdbi also provides HashPrefixSqlParser, which recognizes hash-prefixed +parameters, e.g. #hashtag. Other custom parsers implement the SqlParser +interface.

    +
    +
    +

    By calling Configurable#setSqlParser() method on the Jdbi, Handle, or any SQL statement like Update or Query, the parser used to define named arguments can be changed:

    +
    +
    +
    +
    handle.setSqlParser(new HashPrefixSqlParser())
    +      .createUpdate("INSERT INTO characters (id, name) VALUES (#id, #name)")
    +      .bind("id", 2)
    +      .bind("name", "Teddy Flood")
    +      .execute();
    +
    +
    +
    +

    The default parsers recognize any Java identifier character and the dot (.) as a valid characters in a parameter or attribute name. Even some strange cases like emoji are allowed, although the Jdbi authors encourage appropriate discretion 🧐.

    +
    +
    + + + + + +
    + + +The default parsers try to ignore parameter-like constructions inside of string literals, +since JDBC drivers wouldn’t let you bind parameters there anyway. +
    +
    +
    +
    +

    19.10. SqlLogger

    +
    +

    The SqlLogger interface +is called before and after executing each statement, +and given the current StatementContext, to log any relevant information desired: +mainly the query in various compilation stages, +attributes and bindings, and important timestamps.

    +
    +
    +

    There’s a simple Slf4JSqlLogger +implementation that logs all executed statements for debugging.

    +
    +
    +
    +

    19.11. ResultProducer

    +
    +

    A ResultProducer takes a lazily supplied PreparedStatement and +produces a result. The most common producer path, execute(), +retrieves the ResultSet over the query results and then uses a +ResultSetScanner or higher level mapper to produce results.

    +
    +
    +

    An example alternate use is to just return the number of rows modified, +as in an UPDATE or INSERT statement:

    +
    +
    +
    +
    public static ResultProducer<Integer> returningUpdateCount() {
    +    return (statementSupplier, ctx) -> {
    +        try {
    +            return statementSupplier.get().getUpdateCount();
    +        } finally {
    +            ctx.close();
    +        }
    +    };
    +}
    +
    +
    +
    +

    If you acquire the lazy statement, you are responsible for ensuring +that the context is closed eventually to release database resources.

    +
    +
    +

    Most users will not need to implement the ResultProducer interface.

    +
    +
    +
    +

    19.12. Jdbi SQL object code generator

    +
    +

    Jdbi includes an experimental SqlObject code generator. If you +include the jdbi3-generator artifact as an annotation processor and +annotate your SqlObject definitions with @GenerateSqlObject, the +generator will produce an implementing class and avoids using +Java proxy instances. +This may be useful for graal-native compilation.

    +
    +
    +
    +

    19.13. HandleCallbackDecorator

    +
    +

    Jdbi allows specifying a decorator that can be applied to all callbacks passed to +useHandle, +withHandle, +useTransaction, +or inTransaction. +This is for use-cases where you need to perform an action on all callbacks used in +Jdbi. For instance, you might want to have global retries whether a transaction is used +or not. Jdbi already provides retry handlers for transactions, but you might want to retry auto-commit +(non-transaction) queries as well. E.g.

    +
    +
    +
    +
    public class ExampleJdbiPlugin
    +        implements JdbiPlugin, HandleCallbackDecorator
    +{
    +    @Override
    +    public void customizeJdbi(Jdbi jdbi)
    +    {
    +        jdbi.setHandleCallbackDecorator(this);
    +    }
    +
    +    @Override
    +    public <R, X extends Exception> HandleCallback<R, X> decorate(HandleCallback<R, X> callback)
    +    {
    +        return handle -> {
    +            try {
    +                if (handle.getConnection().getAutoCommit()) {
    +                    // do retries for auto-commit
    +                    return withRetry(handle, callback);
    +                }
    +            }
    +            catch (SQLException e) {
    +                throw new ConnectionException(e);
    +            }
    +
    +            // all others get standard behavior
    +            return callback.withHandle(handle);
    +        };
    +    }
    +
    +    private <R, X extends Exception> R withRetry(Handle handle, HandleCallback<R, X> callback)
    +            throws X
    +    {
    +        while (true) {
    +            try {
    +                return callback.withHandle(handle);
    +            }
    +            catch (Exception last) {
    +                // custom auto-commit retry behavior goes here
    +            }
    +        }
    +    }
    +}
    +
    +
    +
    +

    19.13.1. Nesting Callbacks with managed Handles and Transactions

    +
    +

    Jdbi has a number of methods that provide a managed handle or use a managed handle, e.g. Jdbi#withHandle(), Jdbi#useHandle(), Jdbi#inTransaction(), Jdbi#useTransaction(), Handle#inTransaction(), HandleuseTransaction(), SqlObject#withHandle(), SqlObject#useHandle() and methods that use the SQL Object Transactions annotations.

    +
    +
    +

    All of these methods use the same underlying mechanism to reuse the handle object if one of these methods is called from another within a callback. In this case, there is no new handle object or transaction created but the same Handle object is passed into the nested callback:

    +
    +
    +
    +
    jdbi.useHandle(outerHandle -> {
    +    jdbi.useTransaction(nestedHandle -> {
    +        jdbi.useHandle(innerHandle -> {
    +            // all three variables (outerHandle, nestedHandle and innerHandle)
    +            // refer to the same object
    +            assertThat(innerHandle).isSame(nestedHandle);
    +            assertThat(innerHandle).isSame(outerHandleHandle);
    +        });
    +    });
    +}
    +
    +
    +
    + + + + + +
    + + +Nesting callback methods is possible but should be avoided. Reusing the Handle object in nested calls is based on the thread identity, executing methods asynchronously (on another thread) may lead to surprising results, especially when using a thread pool that may execute code on the main thread (where the nested handle would be reused) or from another thread (where a new handle object would be created). The experimental Kotlin Coroutine support manages handle objects transparently between threads for co-routines. +
    +
    +
    +
    +
    +
    +
    +

    20. Appendix

    +
    +
    +

    20.1. Best Practices

    +
    +
      +
    • +

      Test your SQL Objects (DAOs) against real databases when possible. +Jdbi tries to be defensive and fail eagerly when you hold it wrong.

      +
    • +
    • +

      Use the -parameters compiler flag to avoid all those +@Bind("foo") String foo redundant qualifiers in SQL Object method +parameters. See Compiling with Parameter Names.

      +
    • +
    • +

      Use a profiler! The true root cause of performance problems can often be a +surprise. Measure first, then tune for performance. And then measure again +to be sure it made a difference.

      +
    • +
    • +

      Don’t forget to bring a towel!

      +
    • +
    +
    +
    + +
    + +
    +

    Embedded Postgres +makes testing against a real database quick and easy.

    +
    +
    +

    dropwizard-jdbi3 +provides integration with DropWizard.

    +
    +
    +

    metrics-jdbi3 +instruments using DropWizard-Metrics to emit statement timing statistics.

    +
    +
    +

    Do you know of a project related to Jdbi? Send us an issue, and we’ll add a link +here!

    +
    +
    +
    +

    20.4. Upgrading from v2 to v3

    +
    +

    Already using Jdbi v2?

    +
    +
    +

    Here’s a quick summary of differences to help you upgrade:

    +
    +
    +

    General:

    +
    +
    +
      +
    • +

      Maven artifacts renamed and split out:

      +
    • +
    • +

      Old: org.jdbi:jdbi

      +
    • +
    • +

      New: org.jdbi:jdbi3-core, org.jdbi:jdbi3-sqlobject, etc.

      +
    • +
    • +

      Root package renamed: org.skife.jdbi.v2org.jdbi.v3

      +
    • +
    +
    +
    +

    Core API:

    +
    +
    +
      +
    • +

      DBI, IDBIJdbi

      +
      +
        +
      • +

        Instantiate with Jdbi.create() factory methods instead of constructors.

        +
      • +
      +
      +
    • +
    • +

      DBIExceptionJdbiException

      +
    • +
    • +

      Handle.select(String, …​) now returns a Query for further method +chaining, instead of a List<Map<String, Object>>. Call +Handle.select(sql, …​).mapToMap().list() for the same effect as v2.

      +
    • +
    • +

      Handle.insert() and Handle.update() have been coalesced into +Handle.execute().

      +
    • +
    • +

      ArgumentFactory is no longer generic.

      +
    • +
    • +

      AbstractArgumentFactory is a generic implementation of ArgumentFactory +for factories that handle a single argument type.

      +
    • +
    • +

      Argument and mapper factories now operate in terms of +java.lang.reflect.Type instead of java.lang.Class. This allows Jdbi to +handle arguments and mappers for generic types.

      +
    • +
    • +

      Argument and mapper factories now have a single build() method that returns +an Optional, instead of separate accepts() and build() methods.

      +
    • +
    • +

      ResultSetMapperRowMapper. The row index parameter was also removed +from RowMapper--the current row number can be retrieved directly from the +ResultSet.

      +
    • +
    • +

      ResultColumnMapperColumnMapper

      +
    • +
    • +

      ResultSetMapperFactoryRowMapperFactory

      +
    • +
    • +

      ResultColumnMapperFactoryColumnMapperFactory

      +
    • +
    • +

      Query no longer maps to Map<String, Object> by default. Call +Query.mapToMap(), .mapToBean(type), .map(mapper) or .mapTo(type).

      +
    • +
    • +

      ResultBearing<T> was refactored into ResultBearing (no generic parameter) +and ResultIterable<T>. Call .mapTo(type) to get a ResultIterable<T>.

      +
    • +
    • +

      TransactionConsumer and TransactionCallback only take a Handle now—​the +TransactionStatus argument is removed. Just rollback the handle now.

      +
    • +
    • +

      TransactionStatus class removed.

      +
    • +
    • +

      CallbackFailedException class removed. The functional interfaces like +HandleConsumer, HandleCallback, TransactionCallback, etc. can now throw +any exception type. Methods like Jdbi.inTransaction that take these +callbacks use exception transparency to throw only the exception thrown by +the callback. If your callback throws no checked exceptions, you don’t need +a try/catch block.

      +
    • +
    • +

      StatementLocator interface removed from core. All core statements expect to +receive the actual SQL string now. A similar concept, SqlLocator was added +but is specific to SQL Object.

      +
    • +
    • +

      StatementRewriter refactored into TemplateEngine, and SqlParser.

      +
    • +
    • +

      StringTemplate no longer required to process <name>-style tokens in SQL.

      +
    • +
    • +

      Custom SqlParser implementations must now provide a way to transform raw +parameter names to names that will be properly parsed out as named params.

      +
    • +
    +
    +
    +

    SQL Object API:

    +
    +
    +
      +
    • +

      SQL Object support is not installed by default. It must be added as a +separate dependency, and the plugin installed into the Jdbi object:

      +
    • +
    +
    +
    +
    +
    Jdbi jdbi = Jdbi.create(...);
    +jdbi.installPlugin(new SqlObjectPlugin());
    +
    +
    +
    +
      +
    • +

      SQL Object types in v3 must be public interfaces—​no classes. Method return +types must likewise be public. This is due to SQL Object implementation +switching from CGLIB to java.lang.reflect.Proxy, which only supports +interfaces.

      +
    • +
    • +

      GetHandleSqlObject

      +
    • +
    • +

      SqlLocator replaces StatementLocator, and only applies to SQL Objects.

      +
    • +
    • +

      @RegisterMapper divided into @RegisterRowMapper and +@RegisterColumnMapper.

      +
    • +
    • +

      @Bind annotations on SQL Object method parameters can be made optional, +by compiling your code with the -parameters compiler flag enabled.

      +
    • +
    • +

      @BindIn@BindList, and no longer requires StringTemplate

      +
    • +
    • +

      On-demand SQL objects don’t play well with methods that return Iterable +or FluentIterable. On-demand objects strictly close the handle after each +method call, and no longer "hold the door open" for you to finish consuming +the interable as they did in v2. This forecloses a major source of connection +leaks.

      +
    • +
    • +

      SQL Objects are no longer closeable — they are either on-demand, or their +lifecycle is tied to the lifecycle of the Handle they are attached to.

      +
    • +
    • +

      @BindAnnotation meta-annotation removed. Use +@SqlStatementCustomizingAnnotation instead.

      +
    • +
    • +

      @SingleValueResult@SingleValue. The annotation may be used for method +return types, or on @SqlBatch parameters.

      +
    • +
    +
    +
    +
    +
    +
    + + + \ No newline at end of file