aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/reading/models/Filter.scala
diff options
context:
space:
mode:
authorJoris2016-12-23 09:52:20 +0100
committerJoris2016-12-23 09:52:20 +0100
commit555b621b618e4810324a2658d33315b05157e6be (patch)
tree4594d114b0a1df6f24beee1b31d62e00cbc42180 /src/main/scala/reading/models/Filter.scala
parent322adace29630c3a3f2f04e7e58075a1c57f335a (diff)
downloadreading-555b621b618e4810324a2658d33315b05157e6be.tar.gz
reading-555b621b618e4810324a2658d33315b05157e6be.tar.bz2
reading-555b621b618e4810324a2658d33315b05157e6be.zip
Add programs grouped by level
Diffstat (limited to 'src/main/scala/reading/models/Filter.scala')
-rw-r--r--src/main/scala/reading/models/Filter.scala10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/scala/reading/models/Filter.scala b/src/main/scala/reading/models/Filter.scala
index 5e96cf9..a74a6f1 100644
--- a/src/main/scala/reading/models/Filter.scala
+++ b/src/main/scala/reading/models/Filter.scala
@@ -11,6 +11,7 @@ case object PeriodKind extends FilterKind
case object ThemeKind extends FilterKind
case object GenreKind extends FilterKind
case object DifficultyKind extends FilterKind
+case object ProgramKind extends FilterKind
object Filter {
def apply[T](in: T)(implicit filterFactory: FilterFactory[T]): Filter =
@@ -54,4 +55,13 @@ object FilterFactory {
val name: String = genre.toString()
}
}
+
+ implicit object ProgramFilter extends FilterFactory[Program] {
+ def create(program: Program): Filter =
+ new Filter {
+ def filter(book: Book): Boolean = book.program == program
+ val kind: FilterKind = ProgramKind
+ val name: String = program.toString()
+ }
+ }
}