стандартизированный метод записи произвольных типов безопасной конфигурации в файл hocon? - PullRequest
2 голосов
/ 07 февраля 2020

в исследовательском приложении Scala я загружаю файл hocon, используя метод ConfigSource.file() PureConfig, который представляет собой конфигурацию по умолчанию для исследовательского эксперимента. я использую это, чтобы динамически создать пакет вариаций. после внесения нескольких модификаций, относящихся к конкретному c экспериментальному варианту, я затем анализирую конфигурацию в структуру case class, используя автоматический анализатор pureconfig .

на данный момент, я хотел бы сохранить измененный Config в моем каталоге эксперимента как файл hocon, чтобы я мог легко воссоздать этот эксперимент в будущем.

я искал вокруг типа безопасной конфигурации README.md и ничего не видел по этому поводу. ясно, что я мог бы написать функцию для красивой распечатки дерева конфигурации в формате hocon, но есть ли способ сделать это скрытым где-нибудь в API-интерфейсе typesafe?

1 Ответ

2 голосов
/ 07 февраля 2020

Это прямолинейно:

  import pureconfig._
  import pureconfig.generic.auto._

  val configValue = ConfigWriter[YourCaseClass].to(component)
  val configString = configValue.render()

Это создаст строку вашей конфигурации.

Существует одно большое ограничение: рендеринг JSON.

Вот соответствующая документация: config-writer

...