aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/reading/models/Program.scala
blob: 4c647f36e89e1f232118c55f217cec124b7ce122 (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
62
63
package reading.models

import enumeratum._

sealed trait Program extends EnumEntry with Ordered[Program] {
  import Program._

  def compare(that: Program): Int = {
    values.indexOf(that) - values.indexOf(this)
  }

  def prettyPrint(): 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"
    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 Valeurs => "Individu et société : confrontations de valeurs ?"
    case Reel => "La fiction pour interroger le réel"
    case Informer => "Informer, s'informer, déformer ?"
    case Ville => "La ville, lieu de tous les possibles ?"

    case SeRaconter => "Se raconter, se représenter"
    case TraversSociete => "Dénoncer les travers de la société"
    case VisionsPoetiques => "Visions poétiques du monde"
    case Agir => "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 Valeurs extends Program
  case object Reel extends Program
  case object Informer extends Program
  case object Ville extends Program

  case object SeRaconter extends Program
  case object TraversSociete extends Program
  case object VisionsPoetiques extends Program
  case object Agir extends Program
  case object ProgresReveScientifique extends Program
}