From: David ‘Bombe’ Roden Date: Tue, 21 Feb 2012 19:15:53 +0000 (+0100) Subject: Add method to filter a list of posts. X-Git-Tag: 0.8^2~25 X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=e69ff87d43e5360b30c18aedd5fd3e2cd15d849e;p=Sone.git Add method to filter a list of posts. --- diff --git a/src/main/java/net/pterodactylus/sone/notify/ListNotificationFilters.java b/src/main/java/net/pterodactylus/sone/notify/ListNotificationFilters.java index 7b9eb49..c7b888f 100644 --- a/src/main/java/net/pterodactylus/sone/notify/ListNotificationFilters.java +++ b/src/main/java/net/pterodactylus/sone/notify/ListNotificationFilters.java @@ -164,6 +164,29 @@ public class ListNotificationFilters { } /** + * Filters the given posts, using {@link #isPostVisible(Sone, Post)} to + * decide whether a post should be contained in the returned list. If + * {@code currentSone} is not {@code null} it is used to filter out posts + * that are from Sones that are not followed or not trusted by the given + * Sone. + * + * @param posts + * The posts to filter + * @param currentSone + * The current Sone (may be {@code null}) + * @return The filtered posts + */ + public static List filterPosts(Collection posts, Sone currentSone) { + List filteredPosts = new ArrayList(); + for (Post post : posts) { + if (isPostVisible(currentSone, post)) { + filteredPosts.add(post); + } + } + return filteredPosts; + } + + /** * Checks whether a post is visible to the given Sone. A post is not * considered visible if one of the following statements is true: *