Nachdem ich lange in Java gearbeitet habe, begann ich mich für Scala zu interessieren. Als Lernprojekt versuche ich, eine Java-Bibliothek zu duplizieren, die Statusobjekte aus der Datenbank speichert und abruft. Dafür möchte Ich mag Lage sein, nur einen Zustand angeben Objekt wie folgt:Scala Aufzählung und Reflexion
@PersistName("PERSON") case class Person extends Entity {
@Persist var id:Long = -1
@Persist @MaxLength(80) var firstName = ""
@Persist @MaxLength(80) var lastName = ""
@Persist var gender = Gender.Male
@Persist @MaxLength(80) var userName = ""
@Persist @OptionClass(classOf[Date]) var birthDay:Option[Date] = None
}
Der Code/un-Serialisierung serialisiert eine Instanz von Person Reflexion verwendet die Feldtypen kennen und arbeitet ok für alles außer dem Geschlechtsfeld. Die Gender-Bereich ist eine Aufzählung, die definiert ist als:
object Gender extends Enumeration {
type Gender = Value
val Male,Female,Unknown = Value
}
Das Problem ist, dass ich weiß nicht, wie ich Reflektion verwenden kann auch ein neues Geschlecht Wert nur die Person-Klasse zu erstellen.
Warum die „nur die Person-Klasse“? – Blaisorblade