package reading.models import enumeratum._ sealed trait Theme extends EnumEntry with Ordered[Theme] { import Theme._ def compare(that: Theme) = Compare.format(this.prettyPrint).compare(Compare.format(that.prettyPrint)) def prettyPrint(): String = this match { case Amitie => "amitié" case Antisemitisme => "antisémitisme" case Adolescence => "adolescence" case Americain => "américain" case Amour => "amour" case Animal => "animal" case Apprentissage => "apprentissage" case Art => "art" case Aventure => "aventure" case Beaute => "beauté" case Chevalerie => "chevalerie" case College => "collège" case Complot => "complot" case Combat => "combat" case Conflit => "conflit" case Cour => "cour" case Crime => "crime" case Danse => "danse" case Deuil => "deuil" case Dictature => "dictature" case Discrimination => "discrimination" case Dragon => "dragon" case Drogues => "drogues" case Ecole => "école" case Enquete => "enquête" case Emancipation => "émancipation" case Enfants => "enfants" case Espionnage => "espionnage" case Exclusion => "exclusion" case Famille => "famille" case Fantome => "fantôme" case Femme => "femme" case Folie => "folie" case Genetique => "génétique" case Guerre => "guerre" case Handicap => "handicap" case Harcelement => "harcèlement" case Homosexualite => "homosexualité" case Humour => "humour" case Immortalite => "immortalité" case Initiation => "initiation" case Internet => "internet" case JeuVideo => "jeu vidéo" case Laideur => "laideur" case Litterature => "littérature" case Magie => "magie" case Maladie => "maladie" case Malediction => "malédiction" case Maltraitance => "maltraitance" case Manipulation => "manipulation" case Marginalite => "marginalité" case Mensonge => "mensonge" case Metamorphose => "métamorphose" case Metissage => "metissage" case Migration => "migration" case Monstrueux => "monstrueux" case Musique => "musique" case Mutant => "mutant" case Mythologie => "mythologie" case Nature => "nature" case Nazisme => "nazisme" case Parents => "parents" case Pauvrete => "pauvreté" case Pirate => "pirate" case Poetique => "poétique" case Prison => "prison" case Racisme => "racisme" case Reecriture => "réécriture" case Revolution => "révolution" case Robot => "robot" case Secret => "secret" case SegregationRaciale => "ségrégation raciale" case Sentiment => "sentiment" case Sexualite => "sexualité" case Sport => "sport" case Suicide => "suicide" case Vampire => "vampire" case Vieillesse => "vieillesse" case Viol => "viol" case Voyage => "voyage" } } object Theme extends Enum[Theme] { val values = findValues case object Adolescence extends Theme case object Americain extends Theme case object Amitie extends Theme case object Amour extends Theme case object Antisemitisme extends Theme case object Animal extends Theme case object Apprentissage extends Theme case object Art extends Theme case object Aventure extends Theme case object Beaute extends Theme case object Chevalerie extends Theme case object Crime extends Theme case object Danse extends Theme case object Deuil extends Theme case object Dictature extends Theme case object Discrimination extends Theme case object Drogues extends Theme case object Ecole extends Theme case object Emancipation extends Theme case object Enfants extends Theme case object Enquete extends Theme case object Espionnage extends Theme case object Exclusion extends Theme case object Fantome extends Theme case object Femme extends Theme case object Folie extends Theme case object College extends Theme case object Combat extends Theme case object Complot extends Theme case object Conflit extends Theme case object Cour extends Theme case object Dragon extends Theme case object Famille extends Theme case object Genetique extends Theme case object Guerre extends Theme case object Handicap extends Theme case object Harcelement extends Theme case object Homosexualite extends Theme case object Humour extends Theme case object Immortalite extends Theme case object Initiation extends Theme case object Internet extends Theme case object JeuVideo extends Theme case object Laideur extends Theme case object Litterature extends Theme case object Maladie extends Theme case object Malediction extends Theme case object Maltraitance extends Theme case object Manipulation extends Theme case object Magie extends Theme case object Marginalite extends Theme case object Mensonge extends Theme case object Metamorphose extends Theme case object Metissage extends Theme case object Migration extends Theme case object Monstrueux extends Theme case object Musique extends Theme case object Mutant extends Theme case object Mythologie extends Theme case object Nature extends Theme case object Nazisme extends Theme case object Parents extends Theme case object Pauvrete extends Theme case object Pirate extends Theme case object Poetique extends Theme case object Prison extends Theme case object Racisme extends Theme case object Reecriture extends Theme case object Revolution extends Theme case object Robot extends Theme case object Secret extends Theme case object SegregationRaciale extends Theme case object Sentiment extends Theme case object Sexualite extends Theme case object Sport extends Theme case object Suicide extends Theme case object Vampire extends Theme case object Vieillesse extends Theme case object Viol extends Theme case object Voyage extends Theme }