From e23a2a9e59408fce266a6cac4b11cb5b311881e1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Thu, 8 Aug 2013 02:19:05 +0200 Subject: [PATCH] Add comparators for sorting downloads. --- .../java/net/pterodactylus/xdcc/data/Download.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/main/java/net/pterodactylus/xdcc/data/Download.java b/src/main/java/net/pterodactylus/xdcc/data/Download.java index 12b0129..560e7f9 100644 --- a/src/main/java/net/pterodactylus/xdcc/data/Download.java +++ b/src/main/java/net/pterodactylus/xdcc/data/Download.java @@ -21,6 +21,7 @@ import static com.google.common.base.Preconditions.checkNotNull; import java.io.OutputStream; import java.net.InetAddress; +import java.util.Comparator; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; @@ -44,6 +45,24 @@ public class Download { } }; + /** {@link Comparator} that sorts downloads by their name. */ + public static final Comparator BY_NAME = new Comparator() { + + @Override + public int compare(Download leftDownload, Download rightDownload) { + return leftDownload.pack().name().compareToIgnoreCase(rightDownload.pack().name()); + } + }; + + /**  {@link Comparator} that sorts running downloads first. */ + public static final Comparator BY_RUNNING = new Comparator() { + + @Override + public int compare(Download leftDownload, Download rightDownload) { + return (leftDownload.dccReceiver() != null) ? -1 : (rightDownload.dccReceiver() != null) ? 1 : 0; + } + }; + /** The bot that is being downloaded from. */ private final Bot bot; -- 2.7.4