1 package net.pterodactylus.sone.notify;
3 import java.util.function.Predicate;
4 import javax.annotation.Nonnull;
5 import javax.annotation.Nullable;
7 import net.pterodactylus.sone.data.PostReply;
8 import net.pterodactylus.sone.data.Sone;
10 import com.google.inject.ImplementedBy;
12 @ImplementedBy(DefaultReplyVisibilityFilter.class)
13 public interface ReplyVisibilityFilter {
15 boolean isReplyVisible(@Nullable Sone sone, @Nonnull PostReply reply);
17 default Predicate<PostReply> isVisible(@Nullable final Sone currentSone) {
18 return reply -> (reply != null) && isReplyVisible(currentSone, reply);