Реализация класса Config, содержащего Enum Map, с помощью PureConfig и Enumeratum
Я пытаюсь прочитать свой файл конфигурации в свой класс case, одним из атрибутов которого является ключ Map of Enumeratum и значение класса Case, используя библиотеки pureconfig и pureconfig-enumeratum версии 0.14.0 со scala 2.11. Когда я меняю ключ Map с ключа Enumeratum на String, он работает, но не работает с ключом Enum.
import enumeratum.EnumEntry.{Hyphencase}
import enumeratum._
import pureconfig.{ConfigSource}
import pureconfig.generic.auto._
import pureconfig.module.enumeratum._
object CheckPureConfig extends App {
private val myConf = ConfigSource.default.loadOrThrow[SsystemConf]
println(myConf)
}
case class SsystemConf(target: Map[Ssystem, MyConfig])
case class MyConfig(path: Ssystem, link: String)
sealed abstract class Ssystem(myField: String) extends EnumEntry with Hyphencase{
def printit() = myField
}
object Ssystem extends Enum[Ssystem] {
val values = findValues
case object MyEnumA extends Ssystem("testFieldEnum1")
case object MyEnumB extends Ssystem("testFieldEnum2")
}
А это мой application.conf
target {
my-enum-a= {
path : "samplepath1"
link : "samplehttp1"
}
my-enum-b = {
path : "samplepath2"
link : "samplehttp2"
}
}