public final class RunnableUtil
extends java.lang.Object
Runnable-related utility methods.| Modifier and Type | Field and Description |
|---|---|
static java.lang.Runnable |
NOP
A
Runnable that does simply nothing. |
| Modifier and Type | Method and Description |
|---|---|
static <EX extends java.lang.RuntimeException> |
asRunnable(RunnableWhichThrows<EX> delegate)
Converts a
RunnableWhichThrows into a Runnable, which is possible iff the source runnable's
exception is a subclass of RuntimeException. |
static <EX extends java.lang.Throwable> |
asRunnableWhichThrows(java.lang.Runnable delegate)
Converts a
Runnable into a RunnableWhichThrows. |
static <EX extends java.lang.Throwable> |
ignoreExceptions(java.lang.Class<EX> exceptionClass,
RunnableWhichThrows<EX> delegate)
Wraps the delegate such that its declared exception is caught and ignored.
|
static <EX extends java.lang.Throwable> |
runSequentially(java.util.Collection<RunnableWhichThrows<EX>> delegates)
Runs the given
delegates in the current thread, in the order of the collection's iterator. |
static <EX extends java.lang.Throwable> |
runSequentially(RunnableWhichThrows<EX> delegate1,
RunnableWhichThrows<EX> delegate2)
Runs
delegate1, then delegate2 in the current thread. |
static <ST> java.lang.Runnable |
sparingRunnable(java.lang.Runnable delegate,
Predicate<? super ST> condition,
ST subject)
The returned
Runnable runs the delegate iff the condition evaluates to true. |
static java.lang.Runnable |
sparingRunnable(java.lang.Runnable delegate,
Producer<? extends java.lang.Boolean> condition)
The returned
Runnable runs the delegate iff the condition produces Boolean.TRUE. |
static <EX extends java.lang.Throwable> |
swapIf(boolean swap,
RunnableWhichThrows<EX> runnable1,
RunnableWhichThrows<EX> runnable2)
Runs runnable1 and then runnable2, unless swap is
true, when the
running order is swapped (runnable2, then runnable1). |
public static <EX extends java.lang.Throwable> RunnableWhichThrows<EX> runSequentially(RunnableWhichThrows<EX> delegate1, RunnableWhichThrows<EX> delegate2)
delegate1, then delegate2 in the current thread.delegate1 and then delegate2RunnableWhichThrows.run()public static <EX extends java.lang.Throwable> RunnableWhichThrows<EX> runSequentially(java.util.Collection<RunnableWhichThrows<EX>> delegates)
delegates in the current thread, in the order of the collection's iterator.delegates in strict sequenceRunnableWhichThrows.run()public static <EX extends java.lang.RuntimeException> java.lang.Runnable asRunnable(RunnableWhichThrows<EX> delegate)
RunnableWhichThrows into a Runnable, which is possible iff the source runnable's
exception is a subclass of RuntimeException.EX - The source runnable's exceptionpublic static <EX extends java.lang.Throwable> RunnableWhichThrows<EX> asRunnableWhichThrows(java.lang.Runnable delegate)
Runnable into a RunnableWhichThrows.public static <ST> java.lang.Runnable sparingRunnable(java.lang.Runnable delegate,
Predicate<? super ST> condition,
ST subject)
Runnable runs the delegate iff the condition evaluates to true.
(The condition is evaluated with null as the subject argument.)
subject - The subject for the conditionpublic static java.lang.Runnable sparingRunnable(java.lang.Runnable delegate,
Producer<? extends java.lang.Boolean> condition)
Runnable runs the delegate iff the condition produces Boolean.TRUE.public static <EX extends java.lang.Throwable> void swapIf(boolean swap,
RunnableWhichThrows<EX> runnable1,
RunnableWhichThrows<EX> runnable2)
throws EX extends java.lang.Throwable
true, when the
running order is swapped (runnable2, then runnable1).EX extends java.lang.Throwablepublic static <EX extends java.lang.Throwable> java.lang.Runnable ignoreExceptions(java.lang.Class<EX> exceptionClass,
RunnableWhichThrows<EX> delegate)