java.lang.Object
org.jooq.lambda.Sneaky
Improved interoperability between checked exceptions and Java 8.
Similar to Unchecked, except that Unchecked.RETHROW_ALL is
used as the default way to re-throw checked exceptions.
- Author:
- Lukas Eder
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T,U> BiConsumer<T, U> biConsumer(CheckedBiConsumer<T, U> consumer) Wrap aCheckedBiConsumerin aBiConsumer.static <T,U, R> BiFunction<T, U, R> biFunction(CheckedBiFunction<T, U, R> function) Wrap aCheckedBiFunctionin aBiFunction.static <T> BinaryOperator<T>binaryOperator(CheckedBinaryOperator<T> operator) Wrap aCheckedBinaryOperatorin aBinaryOperator.static <T,U> BiPredicate<T, U> biPredicate(CheckedBiPredicate<T, U> predicate) Wrap aCheckedBiPredicatein aBiPredicate.static BooleanSupplierbooleanSupplier(CheckedBooleanSupplier supplier) Wrap aCheckedBooleanSupplierin aBooleanSupplier.static <T> Callable<T>callable(CheckedCallable<T> callable) Wrap aCheckedCallablein aCallable.static <T> Comparator<T>comparator(CheckedComparator<T> comparator) Wrap aCheckedComparatorin aComparator.static <T> Consumer<T>consumer(CheckedConsumer<T> consumer) Wrap aCheckedConsumerin aConsumer.static DoubleBinaryOperatorWrap aCheckedDoubleBinaryOperatorin aDoubleBinaryOperator.static DoubleConsumerdoubleConsumer(CheckedDoubleConsumer consumer) Wrap aCheckedDoubleConsumerin aDoubleConsumer.static <R> DoubleFunction<R>doubleFunction(CheckedDoubleFunction<R> function) Wrap aCheckedDoubleFunctionin aDoubleFunction.static DoublePredicatedoublePredicate(CheckedDoublePredicate predicate) Wrap aCheckedDoublePredicatein aDoublePredicate.static DoubleSupplierdoubleSupplier(CheckedDoubleSupplier supplier) Wrap aCheckedDoubleSupplierin aDoubleSupplier.static DoubleToIntFunctionWrap aCheckedDoubleToIntFunctionin aDoubleToIntFunction.static DoubleToLongFunctionWrap aCheckedDoubleToLongFunctionin aDoubleToLongFunction.static DoubleUnaryOperatorWrap aCheckedDoubleUnaryOperatorin aDoubleUnaryOperator.static <T,R> Function<T, R> function(CheckedFunction<T, R> function) Wrap aCheckedFunctionin aFunction.static IntBinaryOperatorintBinaryOperator(CheckedIntBinaryOperator operator) Wrap aCheckedIntBinaryOperatorin aIntBinaryOperator.static IntConsumerintConsumer(CheckedIntConsumer consumer) Wrap aCheckedIntConsumerin aIntConsumer.static <R> IntFunction<R>intFunction(CheckedIntFunction<R> function) Wrap aCheckedIntFunctionin aIntFunction.static IntPredicateintPredicate(CheckedIntPredicate predicate) Wrap aCheckedPredicatein aIntPredicate.static IntSupplierintSupplier(CheckedIntSupplier supplier) Wrap aCheckedIntSupplierin aIntSupplier.static IntToDoubleFunctionWrap aCheckedIntToDoubleFunctionin aIntToDoubleFunction.static IntToLongFunctionintToLongFunction(CheckedIntToLongFunction function) Wrap aCheckedIntToLongFunctionin aIntToLongFunction.static IntUnaryOperatorintUnaryOperator(CheckedIntUnaryOperator operator) Wrap aCheckedIntUnaryOperatorin aIntUnaryOperator.static LongBinaryOperatorlongBinaryOperator(CheckedLongBinaryOperator operator) Wrap aCheckedLongBinaryOperatorin aLongBinaryOperator.static LongConsumerlongConsumer(CheckedLongConsumer consumer) Wrap aCheckedLongConsumerin aLongConsumer.static <R> LongFunction<R>longFunction(CheckedLongFunction<R> function) Wrap aCheckedLongFunctionin aLongFunction.static LongPredicatelongPredicate(CheckedLongPredicate predicate) Wrap aCheckedLongPredicatein aLongPredicate.static LongSupplierlongSupplier(CheckedLongSupplier supplier) Wrap aCheckedLongSupplierin aLongSupplier.static LongToDoubleFunctionWrap aCheckedLongToDoubleFunctionin aLongToDoubleFunction.static LongToIntFunctionlongToIntFunction(CheckedLongToIntFunction function) Wrap aCheckedLongToIntFunctionin aLongToIntFunction.static LongUnaryOperatorlongUnaryOperator(CheckedLongUnaryOperator operator) Wrap aCheckedLongUnaryOperatorin aLongUnaryOperator.static <T> ObjDoubleConsumer<T>objDoubleConsumer(CheckedObjDoubleConsumer<T> consumer) Wrap aCheckedObjDoubleConsumerin aObjDoubleConsumer.static <T> ObjIntConsumer<T>objIntConsumer(CheckedObjIntConsumer<T> consumer) Wrap aCheckedObjIntConsumerin aObjIntConsumer.static <T> ObjLongConsumer<T>objLongConsumer(CheckedObjLongConsumer<T> consumer) Wrap aCheckedObjLongConsumerin aObjLongConsumer.static <T> Predicate<T>predicate(CheckedPredicate<T> predicate) Wrap aCheckedPredicatein aPredicate.static Runnablerunnable(CheckedRunnable runnable) Wrap aCheckedRunnablein aRunnable.static <T> Supplier<T>supplier(CheckedSupplier<T> supplier) Wrap aCheckedSupplierin aSupplier.static void"sneaky-throw" a checked exception or throwable.static <T,U> ToDoubleBiFunction<T, U> toDoubleBiFunction(CheckedToDoubleBiFunction<T, U> function) Wrap aCheckedToDoubleBiFunctionin aToDoubleBiFunction.static <T> ToDoubleFunction<T>toDoubleFunction(CheckedToDoubleFunction<T> function) Wrap aCheckedToDoubleFunctionin aToDoubleFunction.static <T,U> ToIntBiFunction<T, U> toIntBiFunction(CheckedToIntBiFunction<T, U> function) Wrap aCheckedToIntBiFunctionin aToIntBiFunction.static <T> ToIntFunction<T>toIntFunction(CheckedToIntFunction<T> function) Wrap aCheckedToIntFunctionin aToIntFunction.static <T,U> ToLongBiFunction<T, U> toLongBiFunction(CheckedToLongBiFunction<T, U> function) Wrap aCheckedToLongBiFunctionin aToLongBiFunction.static <T> ToLongFunction<T>toLongFunction(CheckedToLongFunction<T> function) Wrap aCheckedToLongFunctionin aToLongFunction.static <T> UnaryOperator<T>unaryOperator(CheckedUnaryOperator<T> operator) Wrap aCheckedUnaryOperatorin aUnaryOperator.
-
Method Details
-
throwChecked
"sneaky-throw" a checked exception or throwable. -
runnable
Wrap aCheckedRunnablein aRunnable.Example:
new Thread(Unchecked.runnable(() -> { throw new Exception("Cannot run this thread"); })).start(); -
callable
Wrap aCheckedCallablein aCallable.Example:
Executors.newFixedThreadPool(1).submit(Unchecked.callable(() -> { throw new Exception("Cannot execute this task"); })).get(); -
comparator
Wrap aCheckedComparatorin aComparator. -
biConsumer
Wrap aCheckedBiConsumerin aBiConsumer.Example:
map.forEach(Unchecked.biConsumer((k, v) -> { if (k == null || v == null) throw new Exception("No nulls allowed in map"); })); -
objIntConsumer
Wrap aCheckedObjIntConsumerin aObjIntConsumer. -
objLongConsumer
Wrap aCheckedObjLongConsumerin aObjLongConsumer. -
objDoubleConsumer
Wrap aCheckedObjDoubleConsumerin aObjDoubleConsumer. -
biFunction
Wrap aCheckedBiFunctionin aBiFunction.Example:
map.computeIfPresent("key", Unchecked.biFunction((k, v) -> { if (k == null || v == null) throw new Exception("No nulls allowed in map"); return 42; })); -
toIntBiFunction
Wrap aCheckedToIntBiFunctionin aToIntBiFunction. -
toLongBiFunction
Wrap aCheckedToLongBiFunctionin aToLongBiFunction. -
toDoubleBiFunction
public static <T,U> ToDoubleBiFunction<T,U> toDoubleBiFunction(CheckedToDoubleBiFunction<T, U> function) Wrap aCheckedToDoubleBiFunctionin aToDoubleBiFunction. -
biPredicate
Wrap aCheckedBiPredicatein aBiPredicate. -
binaryOperator
Wrap aCheckedBinaryOperatorin aBinaryOperator.Example:
Stream.of("a", "b", "c").reduce(Unchecked.binaryOperator((s1, s2) -> { if (s2.length() > 10) throw new Exception("Only short strings allowed"); return s1 + s2; })); -
intBinaryOperator
Wrap aCheckedIntBinaryOperatorin aIntBinaryOperator.Example:
IntStream.of(1, 2, 3).reduce(Unchecked.intBinaryOperator((i1, i2) -> { if (i2 < 0) throw new Exception("Only positive numbers allowed"); return i1 + i2; })); -
longBinaryOperator
Wrap aCheckedLongBinaryOperatorin aLongBinaryOperator.Example:
LongStream.of(1L, 2L, 3L).reduce(Unchecked.longBinaryOperator((l1, l2) -> { if (l2 < 0L) throw new Exception("Only positive numbers allowed"); return l1 + l2; })); -
doubleBinaryOperator
Wrap aCheckedDoubleBinaryOperatorin aDoubleBinaryOperator.Example:
DoubleStream.of(1.0, 2.0, 3.0).reduce(Unchecked.doubleBinaryOperator((d1, d2) -> { if (d2 < 0.0) throw new Exception("Only positive numbers allowed"); return d1 + d2; })); -
consumer
Wrap aCheckedConsumerin aConsumer.Example:
Arrays.asList("a", "b").stream().forEach(Unchecked.consumer(s -> { if (s.length() > 10) throw new Exception("Only short strings allowed"); })); -
intConsumer
Wrap aCheckedIntConsumerin aIntConsumer.Example:
Arrays.stream(new int[] { 1, 2 }).forEach(Unchecked.intConsumer(i -> { if (i < 0) throw new Exception("Only positive numbers allowed"); })); -
longConsumer
Wrap aCheckedLongConsumerin aLongConsumer.Example:
Arrays.stream(new long[] { 1L, 2L }).forEach(Unchecked.longConsumer(l -> { if (l < 0) throw new Exception("Only positive numbers allowed"); })); -
doubleConsumer
Wrap aCheckedDoubleConsumerin aDoubleConsumer.Example:
Arrays.stream(new double[] { 1.0, 2.0 }).forEach(Unchecked.doubleConsumer(d -> { if (d < 0.0) throw new Exception("Only positive numbers allowed"); })); -
function
Wrap aCheckedFunctionin aFunction.Example:
map.computeIfAbsent("key", Unchecked.function(k -> { if (k.length() > 10) throw new Exception("Only short strings allowed"); return 42; })); -
toIntFunction
Wrap aCheckedToIntFunctionin aToIntFunction.Example:
map.computeIfAbsent("key", Unchecked.toIntFunction(k -> { if (k.length() > 10) throw new Exception("Only short strings allowed"); return 42; })); -
toLongFunction
Wrap aCheckedToLongFunctionin aToLongFunction.Example:
map.computeIfAbsent("key", Unchecked.toLongFunction(k -> { if (k.length() > 10) throw new Exception("Only short strings allowed"); return 42L; })); -
toDoubleFunction
Wrap aCheckedToDoubleFunctionin aToDoubleFunction.Example:
map.computeIfAbsent("key", Unchecked.toDoubleFunction(k -> { if (k.length() > 10) throw new Exception("Only short strings allowed"); return 42.0; })); -
intFunction
Wrap aCheckedIntFunctionin aIntFunction.Example:
IntStream.of(1, 2, 3).mapToObj(Unchecked.intFunction(i -> { if (i < 0) throw new Exception("Only positive numbers allowed"); return "" + i; }); -
intToLongFunction
Wrap aCheckedIntToLongFunctionin aIntToLongFunction.Example:
IntStream.of(1, 2, 3).mapToLong(Unchecked.intToLongFunction(i -> { if (i < 0) throw new Exception("Only positive numbers allowed"); return (long) i; }); -
intToDoubleFunction
Wrap aCheckedIntToDoubleFunctionin aIntToDoubleFunction.Example:
IntStream.of(1, 2, 3).mapToDouble(Unchecked.intToDoubleFunction(i -> { if (i < 0) throw new Exception("Only positive numbers allowed"); return (double) i; }); -
longFunction
Wrap aCheckedLongFunctionin aLongFunction.Example:
LongStream.of(1L, 2L, 3L).mapToObj(Unchecked.longFunction(l -> { if (l < 0L) throw new Exception("Only positive numbers allowed"); return "" + l; }); -
longToIntFunction
Wrap aCheckedLongToIntFunctionin aLongToIntFunction.Example:
LongStream.of(1L, 2L, 3L).mapToInt(Unchecked.longToIntFunction(l -> { if (l < 0L) throw new Exception("Only positive numbers allowed"); return (int) l; }); -
longToDoubleFunction
Wrap aCheckedLongToDoubleFunctionin aLongToDoubleFunction.Example:
LongStream.of(1L, 2L, 3L).mapToInt(Unchecked.longToDoubleFunction(l -> { if (l < 0L) throw new Exception("Only positive numbers allowed"); return (double) l; }); -
doubleFunction
Wrap aCheckedDoubleFunctionin aDoubleFunction.Example:
DoubleStream.of(1.0, 2.0, 3.0).mapToObj(Unchecked.doubleFunction(d -> { if (d < 0.0) throw new Exception("Only positive numbers allowed"); return "" + d; }); -
doubleToIntFunction
Wrap aCheckedDoubleToIntFunctionin aDoubleToIntFunction.Example:
DoubleStream.of(1.0, 2.0, 3.0).mapToInt(Unchecked.doubleToIntFunction(d -> { if (d < 0.0) throw new Exception("Only positive numbers allowed"); return (int) d; }); -
doubleToLongFunction
Wrap aCheckedDoubleToLongFunctionin aDoubleToLongFunction.Example:
DoubleStream.of(1.0, 2.0, 3.0).mapToLong(Unchecked.doubleToLongFunction(d -> { if (d < 0.0) throw new Exception("Only positive numbers allowed"); return (long) d; }); -
predicate
Wrap aCheckedPredicatein aPredicate.Example:
Stream.of("a", "b", "c").filter(Unchecked.predicate(s -> { if (s.length() > 10) throw new Exception("Only short strings allowed"); return true; })); -
intPredicate
Wrap aCheckedPredicatein aIntPredicate.Example:
IntStream.of(1, 2, 3).filter(Unchecked.intPredicate(i -> { if (i < 0) throw new Exception("Only positive numbers allowed"); return true; })); -
longPredicate
Wrap aCheckedLongPredicatein aLongPredicate.Example:
LongStream.of(1L, 2L, 3L).filter(Unchecked.longPredicate(l -> { if (l < 0L) throw new Exception("Only positive numbers allowed"); return true; })); -
doublePredicate
Wrap aCheckedDoublePredicatein aDoublePredicate.Example:
DoubleStream.of(1.0, 2.0, 3.0).filter(Unchecked.doublePredicate(d -> { if (d < 0.0) throw new Exception("Only positive numbers allowed"); return true; })); -
supplier
Wrap aCheckedSupplierin aSupplier.Example:
ResultSet rs = statement.executeQuery(); Stream.generate(Unchecked.supplier(() -> rs.getObject(1))); -
intSupplier
Wrap aCheckedIntSupplierin aIntSupplier.Example:
ResultSet rs = statement.executeQuery(); Stream.generate(Unchecked.intSupplier(() -> rs.getInt(1))); -
longSupplier
Wrap aCheckedLongSupplierin aLongSupplier.Example:
ResultSet rs = statement.executeQuery(); Stream.generate(Unchecked.longSupplier(() -> rs.getLong(1))); -
doubleSupplier
Wrap aCheckedDoubleSupplierin aDoubleSupplier.Example:
ResultSet rs = statement.executeQuery(); Stream.generate(Unchecked.doubleSupplier(() -> rs.getDouble(1))); -
booleanSupplier
Wrap aCheckedBooleanSupplierin aBooleanSupplier.Example:
ResultSet rs = statement.executeQuery(); Stream.generate(Unchecked.booleanSupplier(() -> rs.getBoolean(1))); -
unaryOperator
Wrap aCheckedUnaryOperatorin aUnaryOperator.Example:
Stream.of("a", "b", "c").map(Unchecked.unaryOperator(s -> { if (s.length() > 10) throw new Exception("Only short strings allowed"); return s; })); -
intUnaryOperator
Wrap aCheckedIntUnaryOperatorin aIntUnaryOperator.Example:
IntStream.of(1, 2, 3).map(Unchecked.intUnaryOperator(i -> { if (i < 0) throw new Exception("Only positive numbers allowed"); return i; })); -
longUnaryOperator
Wrap aCheckedLongUnaryOperatorin aLongUnaryOperator.Example:
LongStream.of(1L, 2L, 3L).map(Unchecked.longUnaryOperator(l -> { if (l < 0L) throw new Exception("Only positive numbers allowed"); return l; })); -
doubleUnaryOperator
Wrap aCheckedDoubleUnaryOperatorin aDoubleUnaryOperator.Example:
LongStream.of(1.0, 2.0, 3.0).map(Unchecked.doubleUnaryOperator(d -> { if (d < 0.0) throw new Exception("Only positive numbers allowed"); return d; }));
-