global.maplink.helpers.FutureHelper Maven / Gradle / Ivy
The newest version!
package global.maplink.helpers;
import lombok.RequiredArgsConstructor;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import static lombok.AccessLevel.PRIVATE;
@RequiredArgsConstructor(access = PRIVATE)
public class FutureHelper {
public static T await(CompletableFuture future) {
try {
return future.get();
} catch (InterruptedException | ExecutionException e) {
if (e instanceof ExecutionException && e.getCause() instanceof RuntimeException) {
throw (RuntimeException) e.getCause();
}
throw new RuntimeException(e);
}
}
}