При отображении конфигурации Typesafe в класс компонента (ConfigBeanFactory) есть ли способ пометить неверно написанные атрибуты? - PullRequest
0 голосов
/ 18 июня 2020

Наше приложение использует reference.conf для предоставления значений по умолчанию для одного из наших POJO, который несет информацию о конфигурации. Скажем, Pojo:

class Person {
  String first;
  String last;
    // corresponding setters / getters not shown
}

В reference.conf есть значения по умолчанию:

Person {
 first:  "joe"
 last:  "shmoe"
}

Итак, если ваш application.conf имел:

Person {
 first:  "mike"
}

Таким образом, когда вы сделали это:

  public static Person getInstance(Config config) {
    return ConfigBeanFactory.create(config.getConfig("Person"), Person.class);
  }

Вы бы вернули человека с первым / последним == mike / shmoe

Теперь ... скажите, у меня есть пользователи, которые не высыпаются, и один из них неправильно конфигурирует свое приложение следующим образом (неверное написание 'first'):

Person {
 frist:  "mike"
}

То, как я сейчас делаю, Pojo, загруженный из этой конфигурации, имеет значение по умолчанию first / last == joe / шмое. Предупреждения о неправильном написании («фрист») нет. 1018 Но похоже, что кто-то (возможно, даже базовая библиотека конфигурации Typesafe) уже должен иметь эту функцию.

Мы очень ценим любой указатель на существующий хороший способ сделать это.

...