次のレベルの抽象化を、Typesafe Configおよびpureconfig in scalaで作成することは可能でしょうか? 私はConfig Readerがfollowsと指定されている定義済みのケースクラスについて認識していますが、それはlimitationsのためです...しかし、すべてのタイプのケースクラスについて...それらはすべてConfigReadersを実装していますか?は、パラメータ・リーダーの暗黙の値を見つけることができませんでした。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")
}
}
}