package com.librato.metrics.client; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; public class ReturningFuture<T> implements Future<T> { private final T result; public ReturningFuture(T result) { this.result = result; } public static <T> ReturningFuture<T> of(T result) { return new ReturningFuture<T>(result); } public boolean cancel(boolean mayInterruptIfRunning) { return false; } public boolean isCancelled() { return false; } public boolean isDone() { return true; } public T get() throws InterruptedException, ExecutionException { return result; } public T get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException { return result; } }