blob: 1a26bc1e96a79487211ed77cc79afde6ada67bcb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
package reading.models
import enumeratum._
sealed trait GroupedTheme extends EnumEntry with Ordered[GroupedTheme] {
import GroupedTheme._
def compare(that: GroupedTheme): Int =
Compare.format(this.prettyPrint).compare(Compare.format(that.prettyPrint))
def prettyPrint(): String = this match {
case Culture => "culture"
case Decouverte => "découverte"
case Histoire => "histoire"
case Humour => "humour"
case Stratageme => "stratagème"
case Peur => "peur"
case Quotidien => "quotidien"
case Technologie => "technologie"
case Violence => "violence"
case Mort => "mort"
case Difference => "difference"
case Imaginaire => "imaginaire"
}
}
object GroupedTheme extends Enum[GroupedTheme] {
val values = findValues
case object Culture extends GroupedTheme
case object Decouverte extends GroupedTheme
case object Histoire extends GroupedTheme
case object Humour extends GroupedTheme
case object Stratageme extends GroupedTheme
case object Peur extends GroupedTheme
case object Quotidien extends GroupedTheme
case object Technologie extends GroupedTheme
case object Violence extends GroupedTheme
case object Mort extends GroupedTheme
case object Difference extends GroupedTheme
case object Imaginaire extends GroupedTheme
def from(theme: Theme): GroupedTheme = {
import Theme._
theme match {
case Art | Americain | Danse | Litterature | Musique | Mythologie | Poetique | Reecriture | Sport => Culture
case Nature | Aventure | Initiation | Pirate | Voyage | Animal => Decouverte
case Dragon | Magie => Imaginaire
case Mutant | Beaute | Handicap | Homosexualite | Laideur | Metamorphose | Marginalite | Migration | Metissage | Pauvrete | Discrimination => Difference
case Maltraitance | Viol | Combat | Conflit | Crime | Harcelement | Exclusion | Racisme | Antisemitisme | SegregationRaciale | Prison => Violence
case Chevalerie | Cour | Dictature | Guerre | Nazisme | Revolution => Histoire
case Theme.Humour => GroupedTheme.Humour
case Enquete | Manipulation | Mensonge | Secret | Espionnage | Complot => Stratageme
case Fantome | Folie | Malediction | Vampire | Monstrueux => Peur
case Suicide | Deuil | Maladie | Immortalite | Vieillesse => Mort
case Adolescence | Amour | Amitie | Apprentissage | College | Ecole | Emancipation | Sentiment | Sexualite | Enfants | Femme | Parents | Famille => Quotidien
case Genetique | Internet | JeuVideo | Robot => Technologie
}
}
}
|