diff --git a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingBiConsumer.java b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingBiConsumer.java index 22a2b08..73f0f94 100644 --- a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingBiConsumer.java +++ b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingBiConsumer.java @@ -8,6 +8,11 @@ import java.util.function.*; @FunctionalInterface public interface ThrowingBiConsumer { + static @NotNull ThrowingBiConsumer of(@NotNull BiConsumer consumer) { + Objects.requireNonNull(consumer); + return consumer::accept; + } + void accept(T var1, U var2) throws TEx; @Contract(value = "-> new", pure = true) diff --git a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingBiFunction.java b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingBiFunction.java index 0324be8..30ab8af 100644 --- a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingBiFunction.java +++ b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingBiFunction.java @@ -9,6 +9,11 @@ import java.util.function.Function; @FunctionalInterface public interface ThrowingBiFunction { + static @NotNull ThrowingBiFunction of(@NotNull BiFunction function) { + Objects.requireNonNull(function); + return function::apply; + } + R apply(T var1, U var2) throws TEx; @Contract(value = "-> new", pure = true) diff --git a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingBooleanSupplier.java b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingBooleanSupplier.java index d4f6e0c..df75b93 100644 --- a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingBooleanSupplier.java +++ b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingBooleanSupplier.java @@ -7,6 +7,11 @@ import java.util.function.*; @FunctionalInterface public interface ThrowingBooleanSupplier { + static @NotNull ThrowingBooleanSupplier of(@NotNull BooleanSupplier supplier) { + Objects.requireNonNull(supplier); + return supplier::getAsBoolean; + } + boolean get() throws TEx; @Contract(value = "_ -> new", pure = true) diff --git a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingConsumer.java b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingConsumer.java index a50d81f..3399de9 100644 --- a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingConsumer.java +++ b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingConsumer.java @@ -8,6 +8,11 @@ import java.util.function.Function; @FunctionalInterface public interface ThrowingConsumer { + static @NotNull ThrowingConsumer of(@NotNull Consumer consumer) { + Objects.requireNonNull(consumer); + return consumer::accept; + } + void accept(T var1) throws TEx; @Contract(value = "_ -> new", pure = true) diff --git a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingFunction.java b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingFunction.java index 329c998..2f1f405 100644 --- a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingFunction.java +++ b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingFunction.java @@ -7,6 +7,11 @@ import java.util.function.Function; @FunctionalInterface public interface ThrowingFunction { + static @NotNull ThrowingFunction of(@NotNull Function function) { + Objects.requireNonNull(function); + return function::apply; + } + R apply(T var1) throws TEx; @Contract(value = "_ -> new", pure = true) diff --git a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingPredicate.java b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingPredicate.java index 9b4adc2..9859897 100644 --- a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingPredicate.java +++ b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingPredicate.java @@ -8,6 +8,11 @@ import java.util.function.Predicate; @FunctionalInterface public interface ThrowingPredicate { + static @NotNull ThrowingPredicate of(@NotNull Predicate predicate) { + Objects.requireNonNull(predicate); + return predicate::test; + } + boolean test(T var1) throws TEx; @Contract(value = "_ -> new", pure = true) diff --git a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingRunnable.java b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingRunnable.java index d14dae7..0d2b4da 100644 --- a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingRunnable.java +++ b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingRunnable.java @@ -8,6 +8,11 @@ import java.util.function.Function; @FunctionalInterface public interface ThrowingRunnable { + static @NotNull ThrowingRunnable of(@NotNull Runnable runnable) { + Objects.requireNonNull(runnable); + return runnable::run; + } + void run() throws TEx; @Contract(value = "_ -> new", pure = true) diff --git a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingSupplier.java b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingSupplier.java index e1eeeae..13c5150 100644 --- a/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingSupplier.java +++ b/commons/src/main/java/io/gitlab/jfronny/commons/throwable/ThrowingSupplier.java @@ -8,6 +8,11 @@ import java.util.function.Supplier; @FunctionalInterface public interface ThrowingSupplier { + static @NotNull ThrowingSupplier of(@NotNull Supplier supplier) { + Objects.requireNonNull(supplier); + return supplier::get; + } + T get() throws TEx; @Contract(value = "_ -> new", pure = true)