Skip to content

Instantly share code, notes, and snippets.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@robertbraeutigam
robertbraeutigam / CompletionOrderStream.java
Last active March 24, 2020 15:41
Converting a collection of CompletableFutures to completion order Streams.
public static <T> Stream<T> inCompletionOrder(Collection<CompletableFuture<T>> futures) {
BlockingQueue<CompletableFuture<T>> queue = new LinkedBlockingQueue<>();
for (CompletableFuture<T> future: futures) {
future.whenComplete((value,exception) -> queue.add(future));
}
return Stream.generate(noException(queue::take))
.map(CompletableFuture::join)
.limit(futures.size());
}
@robertbraeutigam
robertbraeutigam / pdep
Created May 2, 2018 20:03
Small shell-script to visualize import dependencies between Java classes.
#!/bin/sh
cat >dependencies.dot <<EOF
digraph g {
graph [
rankdir = "LR"
];
node [
fontsize = "12"
fontname = "Courier"