Class AbstractJdbiExecutor
- java.lang.Object
-
- org.jdbi.v3.core.async.AbstractJdbiExecutor
-
- All Implemented Interfaces:
JdbiExecutor
- Direct Known Subclasses:
JdbiExecutorImpl
@Beta public abstract class AbstractJdbiExecutor extends java.lang.Object implements JdbiExecutor
-
-
Constructor Summary
Constructors Constructor Description AbstractJdbiExecutor()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description <R,X extends java.lang.Exception>
java.util.concurrent.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.<R,X extends java.lang.Exception>
java.util.concurrent.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.protected java.util.concurrent.CompletionStage<java.lang.Void>useExecute(CheckedConsumer<Jdbi> callback)Single method through which all other use* methods converge.<E,X extends java.lang.Exception>
java.util.concurrent.CompletionStage<java.lang.Void>useExtension(java.lang.Class<E> extensionType, ExtensionConsumer<E,X> callback)A convenience method which opens an extension of the given type, and yields it to a callback.<X extends java.lang.Exception>
java.util.concurrent.CompletionStage<java.lang.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.<X extends java.lang.Exception>
java.util.concurrent.CompletionStage<java.lang.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.<X extends java.lang.Exception>
java.util.concurrent.CompletionStage<java.lang.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.protected abstract <T> java.util.concurrent.CompletionStage<T>withExecute(CheckedFunction<Jdbi,T> callback)Single method through which all other with* methods converge.<R,E,X extends java.lang.Exception>
java.util.concurrent.CompletionStage<R>withExtension(java.lang.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.<R,X extends java.lang.Exception>
java.util.concurrent.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.
-
-
-
Method Detail
-
withExecute
protected abstract <T> java.util.concurrent.CompletionStage<T> withExecute(CheckedFunction<Jdbi,T> callback)
Single method through which all other with* methods converge. Since useExecute also calls this, any implementation of AbstractJdbiExecutor only needs to implement this method- Type Parameters:
T- type returned by the callback- Parameters:
callback- the callback that takes a Jdbi instance and returns a value- Returns:
- a completion stage that will complete when the handler returns a value or throws an exception
-
useExecute
protected java.util.concurrent.CompletionStage<java.lang.Void> useExecute(CheckedConsumer<Jdbi> callback)
Single method through which all other use* methods converge. This method callswithExecute(CheckedFunction)- Parameters:
callback- the callback that takes a Jdbi instance- Returns:
- a completion stage that will complete when the handler returns or throws an exception
-
withHandle
public <R,X extends java.lang.Exception> java.util.concurrent.CompletionStage<R> withHandle(HandleCallback<R,X> callback)
Description copied from interface:JdbiExecutorA 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:
withHandlein interfaceJdbiExecutor- Type Parameters:
R- type returned by the callbackX- 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 java.lang.Exception> java.util.concurrent.CompletionStage<R> inTransaction(HandleCallback<R,X> callback)
Description copied from interface:JdbiExecutorA 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:
inTransactionin interfaceJdbiExecutor- Type Parameters:
R- type returned by the callbackX- 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 java.lang.Exception> java.util.concurrent.CompletionStage<R> inTransaction(TransactionIsolationLevel level, HandleCallback<R,X> callback)
Description copied from interface:JdbiExecutorA 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:
inTransactionin interfaceJdbiExecutor- Type Parameters:
R- type returned by the callbackX- 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 java.lang.Exception> java.util.concurrent.CompletionStage<java.lang.Void> useHandle(HandleConsumer<X> consumer)
Description copied from interface:JdbiExecutorA 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:
useHandlein interfaceJdbiExecutor- 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 java.lang.Exception> java.util.concurrent.CompletionStage<java.lang.Void> useTransaction(HandleConsumer<X> callback)
Description copied from interface:JdbiExecutorA 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:
useTransactionin interfaceJdbiExecutor- 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 java.lang.Exception> java.util.concurrent.CompletionStage<java.lang.Void> useTransaction(TransactionIsolationLevel level, HandleConsumer<X> callback)
Description copied from interface:JdbiExecutorA 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:
useTransactionin interfaceJdbiExecutor- 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 java.lang.Exception> java.util.concurrent.CompletionStage<R> withExtension(java.lang.Class<E> extensionType, ExtensionCallback<R,E,X> callback)Description copied from interface:JdbiExecutorA 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:
withExtensionin interfaceJdbiExecutor- Type Parameters:
R- the return typeE- the extension typeX- 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
ExtensionFactoryis registered which supports the given extension type.
-
useExtension
public <E,X extends java.lang.Exception> java.util.concurrent.CompletionStage<java.lang.Void> useExtension(java.lang.Class<E> extensionType, ExtensionConsumer<E,X> callback)Description copied from interface:JdbiExecutorA 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:
useExtensionin interfaceJdbiExecutor- Type Parameters:
E- the extension typeX- the exception type optionally thrown by the callback- Parameters:
extensionType- the type of extensioncallback- 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
ExtensionFactoryis registered which supports the given extension type.
-
-