aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/reading/models/Program.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/reading/models/Program.scala')
-rw-r--r--src/main/scala/reading/models/Program.scala70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/main/scala/reading/models/Program.scala b/src/main/scala/reading/models/Program.scala
new file mode 100644
index 0000000..4603b03
--- /dev/null
+++ b/src/main/scala/reading/models/Program.scala
@@ -0,0 +1,70 @@
+package reading.models
+
+import enumeratum._
+
+sealed trait Program extends EnumEntry {
+ import Program._
+
+ override def toString(): String = this match {
+ case Monstre => "Le monstre, aux limites de l'humain"
+ case RecitAventure => "Récits d'aventures"
+ case CreationPoetique => "Récit de création, création poétique"
+ case Resister => "Résister au plus fort : ruses, mensonges et masques"
+
+ case VoyageEtAventure => "le voyage et l'aventure. Pourquoi aller vers l'inconnu ?"
+ case Autrui => "avec autrui : familles, amis, réseaux."
+ case UniversNouveaux => "imaginer des univers nouveaux."
+ case Heros => "héros, héroïnes et héroïsmes."
+ case HommeEtNature => "l'être humain est-il maître de la nature ?"
+
+ case DireAmour => "Dire l'amour"
+ case IndividuEtSociete => "Individu et société : confrontations de valeur ?"
+ case FictionEtReel => "la fiction pour interroger le réel"
+ case Informer => "Informer, s'informer, déformer ?"
+ case Ville => "La ville, lieu de tous les possibles ?"
+
+ case RaconterRepresenter => "Se raconter, se représenter"
+ case TraversSociete => "Dénoncer les travers de la société"
+ case VisionsPoetiques => "Visions poétiques du monde"
+ case AgirCite => "Agir dans la cité : individu et pouvoir"
+ case ProgresReveScientifique => "Progrès et rêves scientifiques"
+ }
+}
+
+object Program extends Enum[Program] {
+ val values = findValues
+
+ case object Monstre extends Program
+ case object RecitAventure extends Program
+ case object CreationPoetique extends Program
+ case object Resister extends Program
+
+ case object VoyageEtAventure extends Program
+ case object Autrui extends Program
+ case object UniversNouveaux extends Program
+ case object Heros extends Program
+ case object HommeEtNature extends Program
+
+ case object DireAmour extends Program
+ case object IndividuEtSociete extends Program
+ case object FictionEtReel extends Program
+ case object Informer extends Program
+ case object Ville extends Program
+
+ case object RaconterRepresenter extends Program
+ case object TraversSociete extends Program
+ case object VisionsPoetiques extends Program
+ case object AgirCite extends Program
+ case object ProgresReveScientifique extends Program
+
+ def level(program: Program): Level = {
+ import Level._
+
+ program match {
+ case Monstre | RecitAventure | CreationPoetique | Resister => Sixieme
+ case VoyageEtAventure | Autrui | UniversNouveaux | Heros | HommeEtNature => Cinquieme
+ case DireAmour | IndividuEtSociete | FictionEtReel | Informer | Ville => Quatrieme
+ case RaconterRepresenter | TraversSociete | VisionsPoetiques | AgirCite | ProgresReveScientifique => Troisieme
+ }
+ }
+}