blob: 452f95f646ba334fd15ea389e9291bbcd60389d1 [file] [log] [blame]
package com.intellij.xdebugger;
import com.intellij.openapi.util.AsyncResult;
import com.intellij.util.Consumer;
import com.intellij.util.PairConsumer;
import org.jetbrains.annotations.NotNull;
public final class ObsolescentAsyncResults {
@NotNull
public static <T> AsyncResult<T> consume(@NotNull final AsyncResult<T> result,
@NotNull final Obsolescent obsolescent,
@NotNull final Consumer<T> consumer) {
result.doWhenDone(new Runnable() {
@Override
public void run() {
if (!obsolescent.isObsolete()) {
consumer.consume(result.getResult());
}
}
});
return result;
}
@NotNull
public static <O extends Obsolescent, T> AsyncResult<T> consume(@NotNull final AsyncResult<T> result,
@NotNull final O obsolescent,
@NotNull final PairConsumer<T, O> consumer) {
result.doWhenDone(new Runnable() {
@Override
public void run() {
if (!obsolescent.isObsolete()) {
consumer.consume(result.getResult(), obsolescent);
}
}
});
return result;
}
}