Est-il possible de créer la méthode suivante avec le niveau d'abstraction suivant avec Typesafe Config et pureconfig dans scala? Je suis conscient pour les classes de cas définies que Config Reader doit être spécifié comme follows, en raison de limitations ... mais qu'en est-il de n'importe quel type de classe de cas ... si tous leurs ConfigReaders sont implémentés?n'a pas pu trouver de valeur implicite pour le lecteur de paramètres: pureconfig.ConfigReader [T]
/**
* @param path the.path.to.the.branch
* @param config the com.typesafe.config obj
* @tparam T - the type of the case class obj
* @return the filled-in obj of type T
*
*/
def getConfigType[T](path: String, config :Config) :Option[T] = {
val renderOpts = ConfigRenderOptions.defaults
.setOriginComments(false).setComments(false).setJson(true)
val levelConfig :Config = config.getConfig(path)
val strConfig: String = config.getConfig(path).root().render(renderOpts)
loadConfig[T](ConfigFactory.parseString(strConfig)) match {
case Right(objFilledCaseClass) => Some(objFilledCaseClass)
case Left(errors) => throw new RuntimeException(s"Invalid configuration: $errors")
}
}
}