org.async.rmi.client.ClientCompletableFuture Maven / Gradle / Ivy
package org.async.rmi.client;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
/**
* Created by Barak Bar Orion
* 12/18/14.
*/
public class ClientCompletableFuture extends CompletableFuture {
private final Consumer sendCancelRequest;
public ClientCompletableFuture(Consumer sendCancelRequest) {
super();
this.sendCancelRequest = sendCancelRequest;
}
@Override
public synchronized boolean cancel(boolean mayInterruptIfRunning) {
boolean res = super.cancel(mayInterruptIfRunning);
if (res) {
sendCancelRequest.accept(mayInterruptIfRunning);
}
return res;
}
}