9230862797144ec957dd380fa783ccb823910410
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / notify / PostVisibilityFilter.kt
1 package net.pterodactylus.sone.notify
2
3 import com.google.inject.ImplementedBy
4 import net.pterodactylus.sone.data.Post
5 import net.pterodactylus.sone.data.Sone
6 import java.util.function.Predicate
7
8 @ImplementedBy(DefaultPostVisibilityFilter::class)
9 interface PostVisibilityFilter {
10
11         fun isPostVisible(sone: Sone?, post: Post): Boolean
12
13         @JvmDefault
14         fun isVisible(currentSone: Sone?) =
15                         { p: Post? -> p != null && isPostVisible(currentSone, p) }
16
17 }