Au départ, j'avais une classe de cas à l'intérieur d'un objet. Je pouvais donc appeler extractSales
d'une autre classe comme ceci : SaleProcessor.extractSales(salesJson)
.
object SaleProcessor {
case class Sale(name: String, type: String, description: String) {
def extractSales(salesJson: JValue): Seq[Sale] = {
salesJson.extract[Seq[Sale]]
}}}
Puis j'ai lu quelque part qu'il n'est pas nécessaire d'imbriquer une classe de cas à l'intérieur d'un objet et j'ai décidé de supprimer la classe de cas. SaleProcessor
en ne laissant que la classe de l'affaire. Mais après cela, je suis incapable d'appeler la méthode comme avant.
D'après ce que je comprends, sans objet, je dois instancier la classe du cas. Mais je ne sais pas comment faire puisque l'objet Vente est créé au moment de l'extraction du JSON ?
Une autre question est de savoir quelle serait l'approche la plus adéquate pour imbriquer des classes de cas dans des objets et quelle est la meilleure pratique en Scala ?