summaryrefslogtreecommitdiffstats
path: root/vespajlib
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2023-01-27 09:17:28 +0100
committerjonmv <venstad@gmail.com>2023-01-27 09:17:28 +0100
commit78a42e1cf9735f58e7f204f34e0cb2bd7c1a3674 (patch)
treeb6c5f1b15ad3729fd8cf10a5e8dd10b2e72d9f0e /vespajlib
parentb44b2ce5fd913f56d781dba9efe7cb6006584a7d (diff)
Refactor endpoint verification during deployments
Diffstat (limited to 'vespajlib')
-rw-r--r--vespajlib/src/main/java/com/yahoo/yolean/Exceptions.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/yolean/Exceptions.java b/vespajlib/src/main/java/com/yahoo/yolean/Exceptions.java
index 89b4e76368b..4f3f048eb0c 100644
--- a/vespajlib/src/main/java/com/yahoo/yolean/Exceptions.java
+++ b/vespajlib/src/main/java/com/yahoo/yolean/Exceptions.java
@@ -4,6 +4,7 @@ package com.yahoo.yolean;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.util.Optional;
+import java.util.function.Function;
/**
* Helper methods for handling exceptions
@@ -129,6 +130,14 @@ public class Exceptions {
@FunctionalInterface public interface RunnableThrowingInterruptedException { void run() throws InterruptedException; }
/**
+ * Wraps any IOException thrown from a function in an UncheckedIOException.
+ */
+ public static <T, R> Function<T, R> uncheck(FunctionThrowingIOException<T, R> function) {
+ return t -> uncheck(() -> function.map(t));
+ }
+ @FunctionalInterface public interface FunctionThrowingIOException<T, R> { R map(T t) throws IOException; }
+
+ /**
* Wraps any IOException thrown from a supplier in an UncheckedIOException.
*/
public static <T> T uncheck(SupplierThrowingIOException<T> supplier) {