From: David ‘Bombe’ Roden Date: Thu, 8 Aug 2013 00:07:41 +0000 (+0200) Subject: Add comparator that uses the “isArchive” predicate. X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=55c7c1e4b98b06091b5053af4a9157e4a3428b32;p=xudocci.git Add comparator that uses the “isArchive” predicate. --- diff --git a/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java b/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java index 95425d0..abef80e 100644 --- a/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java +++ b/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java @@ -330,6 +330,23 @@ public class CommandReader extends AbstractExecutionThreadService { }; /** + * {@link Comparator} for {@link Result}s that sorts archives (as per {@link + * #isArchive} to the back of the list. + */ + private static final Comparator packArchiveComparator = new Comparator() { + @Override + public int compare(Result leftResult, Result rightResult) { + if (isArchive.apply(leftResult) && !isArchive.apply(rightResult)) { + return 1; + } + if (!isArchive.apply(leftResult) && isArchive.apply(rightResult)) { + return -1; + } + return 0; + } + }; + + /** * {@link Comparator} for bot nicknames. It comprises different strategies: * one name pattern is preferred (and thus listed first), one pattern is * disliked (and thus listed last), the rest is sorted alphabetically.