Package org.multiverse.api
Interface OrElseBlock
- All Superinterfaces:
MultiverseConstants
- All Known Implementing Classes:
GammaOrElseBlock
The OrElse is responsible for executing the either block, or in case of a retry, the orelse block is executed.
Another useful features of this design is that for certain primitives it doesn't require any form of boxing.
It also provides an atomicChecked for a TxnVoidCallable which doesn't force a developer to return something when
nothing needs to be returned.
-
Field Summary
Fields inherited from interface org.multiverse.MultiverseConstants
LOCKMODE_EXCLUSIVE, LOCKMODE_NONE, LOCKMODE_READ, LOCKMODE_WRITE, SHAKE_BUGS, SPIN_YIELD, TRACING_ENABLED
-
Method Summary
Modifier and TypeMethodDescriptionboolean
execute
(TxnBooleanCallable either, TxnBooleanCallable orelse) Executes the either, or when it is retried, the orelse block.<E> E
execute
(TxnCallable<E> either, TxnCallable<E> orelse) Executes the either, or when it is retried, the orelse block.double
execute
(TxnDoubleCallable either, TxnDoubleCallable orelse) Executes the either, or when it is retried, the orelse block.int
execute
(TxnIntCallable either, TxnIntCallable orelse) Executes the either, or when it is retried, the orelse block.long
execute
(TxnLongCallable either, TxnLongCallable orelse) Executes the either, or when it is retried, the orelse block.void
execute
(TxnVoidCallable either, TxnVoidCallable orelse) Executes the either, or when it is retried, the orelse block.boolean
executeChecked
(TxnBooleanCallable either, TxnBooleanCallable orelse) Executes the either, or when it is retried, the orelse block.<E> E
executeChecked
(TxnCallable<E> either, TxnCallable<E> orelse) Executes the either, or when it is retried, the orelse block.double
executeChecked
(TxnDoubleCallable either, TxnDoubleCallable orelse) Executes the either, or when it is retried, the orelse block.int
executeChecked
(TxnIntCallable either, TxnIntCallable orelse) Executes the either, or when it is retried, the orelse block.long
executeChecked
(TxnLongCallable either, TxnLongCallable orelse) Executes the either, or when it is retried, the orelse block.void
executeChecked
(TxnVoidCallable either, TxnVoidCallable orelse) Executes the either, or when it is retried, the orelse block.
-
Method Details
-
execute
Executes the either, or when it is retried, the orelse block. This operation makes composable blocking operations possible. If in the execution of the closure a checked exception is thrown, the exception is wrapped in a InvisibleCheckedException. The original exception can be retrieved by calling the getCause method.- Parameters:
either
-orelse
-- Returns:
- the result of the execution.
- Throws:
NullPointerException
- if either or orelse is null.TxnMandatoryException
- if no transaction is found on the TxnThreadLocal.InvisibleCheckedException
- if a checked exception is thrown by the closure.
-
executeChecked
Executes the either, or when it is retried, the orelse block. This operation makes composable blocking operations possible.- Parameters:
either
-orelse
-- Returns:
- the result of the execution.
- Throws:
NullPointerException
- if either or orelse is null.TxnMandatoryException
- if no transaction is found on the TxnThreadLocal.Exception
- if the atomicChecked call fails.
-
execute
Executes the either, or when it is retried, the orelse block. This operation makes composable blocking operations possible. If in the execution of the closure a checked exception is thrown, the exception is wrapped in a InvisibleCheckedException. The original exception can be retrieved by calling the getCause method.- Parameters:
either
-orelse
-- Returns:
- the result of the execution.
- Throws:
NullPointerException
- if either or orelse is null.TxnMandatoryException
- if no transaction is found on the TxnThreadLocal.InvisibleCheckedException
- if a checked exception is thrown by the closure.
-
executeChecked
Executes the either, or when it is retried, the orelse block. This operation makes composable blocking operations possible.- Parameters:
either
-orelse
-- Returns:
- the result of the execution.
-
execute
Executes the either, or when it is retried, the orelse block. This operation makes composable blocking operations possible. If in the execution of the closure a checked exception is thrown, the exception is wrapped in a InvisibleCheckedException. The original exception can be retrieved by calling the getCause method.- Parameters:
either
-orelse
-- Returns:
- the result of the execution.
-
executeChecked
Executes the either, or when it is retried, the orelse block. This operation makes composable blocking operations possible.- Parameters:
either
-orelse
-- Returns:
- the result of the execution.
-
execute
Executes the either, or when it is retried, the orelse block. This operation makes composable blocking operations possible. If in the execution of the closure a checked exception is thrown, the exception is wrapped in a InvisibleCheckedException. The original exception can be retrieved by calling the getCause method.- Parameters:
either
-orelse
-- Returns:
- the result of the execution.
-
executeChecked
Executes the either, or when it is retried, the orelse block. This operation makes composable blocking operations possible.- Parameters:
either
-orelse
-- Returns:
- the result of the execution.
-
execute
Executes the either, or when it is retried, the orelse block. This operation makes composable blocking operations possible. If in the execution of the closure a checked exception is thrown, the exception is wrapped in a InvisibleCheckedException. The original exception can be retrieved by calling the getCause method.- Parameters:
either
-orelse
-- Returns:
- the result of the execution.
-
executeChecked
Executes the either, or when it is retried, the orelse block. This operation makes composable blocking operations possible.- Parameters:
either
-orelse
-- Returns:
- the result of the execution.
-
execute
Executes the either, or when it is retried, the orelse block. This operation makes composable blocking operations possible. If in the execution of the closure a checked exception is thrown, the exception is wrapped in a InvisibleCheckedException. The original exception can be retrieved by calling the getCause method.- Parameters:
either
-orelse
-
-
executeChecked
Executes the either, or when it is retried, the orelse block. This operation makes composable blocking operations possible.- Parameters:
either
-orelse
-
-