From 9ddc17aaa10c93cb0b87fcfc81fd01b8b8efd35f Mon Sep 17 00:00:00 2001 From: Niclas Thobaben Date: Fri, 4 Dec 2020 20:02:23 +0100 Subject: [PATCH] FEAT FIX Checked missing CheckedSupplier interface --- .../java/de/nclazz/commons/func/Checked.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/nclazz/commons/func/Checked.java b/src/main/java/de/nclazz/commons/func/Checked.java index 041c030..f9a9d18 100644 --- a/src/main/java/de/nclazz/commons/func/Checked.java +++ b/src/main/java/de/nclazz/commons/func/Checked.java @@ -42,6 +42,11 @@ public abstract class Checked { void run() throws Exception; } + @FunctionalInterface + public interface CheckedSupplier { + T get() throws Exception; + } + public static Consumer checked(CheckedConsumer consumer) { return t -> { try { @@ -103,7 +108,7 @@ public abstract class Checked { } - public static Runnable checked(Runnable runnable) { + public static Runnable checked(CheckedRunnable runnable) { return () -> { try { runnable.run(); @@ -113,5 +118,15 @@ public abstract class Checked { }; } + public static Supplier checked(CheckedSupplier supplier) { + return () -> { + try { + return supplier.get(); + }catch(Exception e) { + throw new RuntimeException(e); + } + }; + } + }