diff options
author | Joris | 2016-12-23 09:52:20 +0100 |
---|---|---|
committer | Joris | 2016-12-23 09:52:20 +0100 |
commit | 555b621b618e4810324a2658d33315b05157e6be (patch) | |
tree | 4594d114b0a1df6f24beee1b31d62e00cbc42180 /src/main/scala/reading/models/Filter.scala | |
parent | 322adace29630c3a3f2f04e7e58075a1c57f335a (diff) | |
download | reading-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.scala | 10 |
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() + } + } } |