package reading.models import enumeratum._ sealed trait Genre extends EnumEntry with Ordered[Genre] { import Genre._ def compare(that: Genre) = Compare.format(this.prettyPrint).compare(Compare.format(that.prettyPrint)) def prettyPrint(): String = this match { case JournalIntime => "journal intime" case RomanHistorique => "roman historique" case Policier => "policier" case Fantastique => "fantastique" case Fantasy => "fantasy" case Merveilleux => "merveilleux" case SF => "science fiction" case BD => "bande dessinée" case RomanAventure => "roman d'aventure" case Comique => "comique" case Dystopie => "dystopie" case Uchronie => "uchronie" case Manga => "manga" case Thriller => "thriller" case Epistolaire => "Epistolaire" } } object Genre extends Enum[Genre] { val values = findValues case object JournalIntime extends Genre case object RomanHistorique extends Genre case object Policier extends Genre case object Fantastique extends Genre case object Fantasy extends Genre case object Merveilleux extends Genre case object SF extends Genre case object BD extends Genre case object RomanAventure extends Genre case object Comique extends Genre case object Thriller extends Genre case object Dystopie extends Genre case object Uchronie extends Genre case object Manga extends Genre case object Epistolaire extends Genre }