package com.virjar.dungproxy.client.ningclient.http; /** * Description: GuavaListenableFuture * * @author lingtong.fu * @version 2016-09-04 22:57 */ import com.google.common.util.concurrent.ListenableFuture; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; public class GuavaListenableFuture<T> implements ListenableFuture<T> { private final com.ning.http.client.ListenableFuture<T> future; public GuavaListenableFuture(com.ning.http.client.ListenableFuture<T> future) { this.future = future; } @Override public void addListener(Runnable listener, Executor executor) { future.addListener(listener, executor); } @Override public boolean cancel(boolean mayInterruptIfRunning) { return future.cancel(mayInterruptIfRunning); } @Override public boolean isCancelled() { return future.isCancelled(); } @Override public boolean isDone() { return future.isDone(); } @Override public T get() throws InterruptedException, ExecutionException { return future.get(); } @Override public T get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException { return future.get(timeout, unit); } }