package de.otto.flummi; import org.asynchttpclient.ListenableFuture; import java.util.concurrent.*; public final class CompletedFuture<T> implements ListenableFuture<T> { private T result; public CompletedFuture(T result) { this.result = result; } @Override public void done() { } @Override public void abort(Throwable t) { } @Override public void touch() { } @Override public ListenableFuture<T> addListener(Runnable listener, Executor exec) { return null; } @Override public boolean cancel(boolean mayInterruptIfRunning) { return false; } @Override public boolean isCancelled() { return false; } @Override public boolean isDone() { return true; } @Override public T get() throws InterruptedException, ExecutionException { return result; } @Override public T get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException { return result; } @Override public CompletableFuture<T> toCompletableFuture() { return null; } }