Ho dato un'occhiata allo computer-database sample e ho notato che per riutilizzare il parser del computer, il metodo list usa il parser Computer.withCompany, che restituisce una tupla di (Computer, Società)come riutilizzare un parser anorm in playframework 2.0 con scala
Nel caso devo gestire, invece di un riferimento alla id del computer voglio avere un oggetto di computer, come questo
caso classe computer (id: Pk [ Long] = NotAssigned, name: String, introdotto: Option [Date], fuori produzione: Option [Date], company: Company)
quindi pensavo ing come posso ottenere qualcosa di simile alla seguente (è seudocode, ovviamente)
val simple = {
get[Pk[Long]]("computer.id") ~
get[String]("computer.name") ~
get[Option[Date]]("computer.introduced") ~
get[Option[Date]]("computer.discontinued") ~
get[Company]("company.*") map {
case id~name~introduced~discontinued~company => Computer(id, name, introduced, discontinued, company)
}
}
Ovviamente, la parte difficile sarebbe come risolvere getCompany
qualche idea ???
Questa risposta è stata davvero utile e ha contribuito a consolidare la mia comprensione della composizione dei parser, grazie! – EdgeCaseBerg