X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FSone.java;h=a1aa6ee68728c8d08a06f977d0cfe44d3baba52b;hb=ec71e06d5c77825301236fff06558c9c9e92ad23;hp=f183b390636c8c4984e59a3c5d37ac2b4412aabb;hpb=07ca98b45465f7a442e695fbfb6f59100260f39b;p=Sone.git
diff --git a/src/main/java/net/pterodactylus/sone/data/Sone.java b/src/main/java/net/pterodactylus/sone/data/Sone.java
index f183b39..a1aa6ee 100644
--- a/src/main/java/net/pterodactylus/sone/data/Sone.java
+++ b/src/main/java/net/pterodactylus/sone/data/Sone.java
@@ -29,6 +29,7 @@ import java.util.logging.Logger;
import net.pterodactylus.sone.freenet.wot.Identity;
import net.pterodactylus.sone.template.SoneAccessor;
+import net.pterodactylus.util.filter.Filter;
import net.pterodactylus.util.logging.Logging;
import freenet.keys.FreenetURI;
@@ -40,7 +41,7 @@ import freenet.keys.FreenetURI;
*
* @author David âBombeâ Roden
*/
-public class Sone implements Fingerprintable {
+public class Sone implements Fingerprintable, Comparable {
/** comparator that sorts Sones by their nice name. */
public static final Comparator NICE_NAME_COMPARATOR = new Comparator() {
@@ -56,6 +57,15 @@ public class Sone implements Fingerprintable {
};
+ /** Filter to remove Sones that have not been downloaded. */
+ public static final Filter EMPTY_SONE_FILTER = new Filter() {
+
+ @Override
+ public boolean filterObject(Sone sone) {
+ return sone.getTime() != 0;
+ }
+ };
+
/** The logger. */
private static final Logger logger = Logging.getLogger(Sone.class);
@@ -626,6 +636,18 @@ public class Sone implements Fingerprintable {
}
//
+ // INTERFACE Comparable
+ //
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public int compareTo(Sone sone) {
+ return NICE_NAME_COMPARATOR.compare(this, sone);
+ }
+
+ //
// OBJECT METHODS
//