Example usage for com.google.common.util.concurrent Futures addCallback

List of usage examples for com.google.common.util.concurrent Futures addCallback

Introduction

In this page you can find the example usage for com.google.common.util.concurrent Futures addCallback.

Prototype

public static <V> void addCallback(final ListenableFuture<V> future, final FutureCallback<? super V> callback,
        Executor executor) 

Source Link

Document

Registers separate success and failure callbacks to be run when the Future 's computation is java.util.concurrent.Future#isDone() complete or, if the computation is already complete, immediately.

Usage

From source file:com.orangerhymelabs.helenus.cassandra.table.TableService.java

public void readAll(String database, FutureCallback<List<Table>> callback) {
    Futures.addCallback(readAll(database), callback, MoreExecutors.directExecutor());
}

From source file:io.v.v23.InputChannels.java

private static <T> FutureCallback<T> newCallbackForDone(final InputChannel<T> channel,
        final SettableFuture<Void> future, final Executor executor) {
    return new FutureCallback<T>() {
        @Override/*ww  w.ja  v  a2  s  .  c om*/
        public void onSuccess(T result) {
            Futures.addCallback(channel.recv(), newCallbackForDone(channel, future, executor), executor);
        }

        @Override
        public void onFailure(Throwable t) {
            if (t instanceof EndOfFileException) {
                future.set(null);
            } else {
                future.setException(t);
            }
        }
    };
}