J'ai un vrai débutant question à l'aide scala-metaEn utilisant scala-meta pour annoter une classe de cas
Je veux ajouter des annotations à un sous-ensemble des champs d'une classe de cas basée sur le nom du champ. Les classes et les champs à annoter sont définis comme suit:
val classMapping = Map[String,String](
("com.example.employees","""OntologyContext("http://schema.org")"""),
("Employee.scala","""OntologyType("person")""")
)
val fieldMapping = Map[String,String](
("hello","""OntologyRef("name")"""),
("job","""OntologyRef("title")"""),("id","""Obfuscated""")
)
Avant:
package com.example.employees
import java.time.LocalDate
case class Employee(
hello: String,
job:String,
id:String,
employmentDate: Date)
Après:
package com.example.employees
import java.time.LocalDate
@OntologyContext(“http://schema.org”)
@OntologyType(“person”)
case class Employee(
@OntologyRef(“name”) hello: String,
@OntologyRef(“title”) job: String,
@Obfuscated() id:String,
employmentDate: Date
)
Ma question porte sur la syntaxe des quasiquotes qui sont nécessaires la transformation de l'arbre:
- sélectionnant le champ indiqué; et
- insertion des annotations
Pouvez-vous me référer à des exemples qui peuvent me pointer dans la bonne direction?