♻️ Extract interface from post visibility filter
[Sone.git] / src / main / java / net / pterodactylus / sone / notify / PostVisibilityFilter.java
1 package net.pterodactylus.sone.notify;
2
3 import java.util.function.Predicate;
4 import javax.annotation.Nonnull;
5 import javax.annotation.Nullable;
6
7 import net.pterodactylus.sone.data.Post;
8 import net.pterodactylus.sone.data.Sone;
9
10 import com.google.inject.ImplementedBy;
11
12 @ImplementedBy(DefaultPostVisibilityFilter.class)
13 public interface PostVisibilityFilter {
14
15         boolean isPostVisible(@Nullable Sone sone, @Nonnull Post post);
16
17         @Nonnull
18         Predicate<Post> isVisible(@Nullable Sone currentSone);
19
20 }