X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FSone.kt;fp=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FSone.kt;h=c44d6e8b81f9b5009ec42e0f88cacf683504113e;hp=78a17f55ddcbefa75f0998218931821b4c8a1afb;hb=9b0b5b760adf41d52603a4b65f3e5f3220da28eb;hpb=afa3d007f883a710a94f74d21c179a006974bc7e diff --git a/src/main/kotlin/net/pterodactylus/sone/data/Sone.kt b/src/main/kotlin/net/pterodactylus/sone/data/Sone.kt index 78a17f5..c44d6e8 100644 --- a/src/main/kotlin/net/pterodactylus/sone/data/Sone.kt +++ b/src/main/kotlin/net/pterodactylus/sone/data/Sone.kt @@ -37,3 +37,14 @@ val niceNameComparator: Comparator = @get:JvmName("lastActivityComparator") // TODO: remove once Sone is 100% Kotlin val lastActivityComparator: Comparator = comparing(Sone::getTime).reversed() + +/** + * Comparator that sorts Sones by their [post count][Sone.getPosts] (most posts + * first) and, failing that, by their [reply count][Sone.getReplies] (most + * replies first). + */ +@get:JvmName("postCountComparator") // TODO: remove once Sone is 100% Kotlin +val postCountComparator: Comparator = + comparing { it.posts.size } + .thenComparing { it.replies.size } + .reversed()