У меня есть следующие YAML конфигурацииКак отобразить конфигурацию YAML в POJOs с объектами классов
lookupKeys: - aggregate_location_city: outputKey: city_id - file1: source: ./pincode_to_city_mapping.csv primaryColumn: 0 secondaryColumn: 1 - file2: source: ./new_geo_city.csv primaryColumn: 1 secondaryColumn: 0
Соответствующий класс конфигурации
@Getter
@Setter
public class Configuration {
private ArrayList<LookupKey> lookupKeys;
@Getter
@Setter
public class LookupKey{
private String outputKey;
private ArrayList<MappingFile> mappingFiles;
@Getter
@Setter
public class MappingFile{
private String source;
private int primaryColumn;
private int secondaryColumn;
}
}
}
Как получить файл конфигурации сопоставлен класс конфигурации? Для этого я использую змей-ямль. Простой yaml.loadAs(in, Configuration.class)
не работает.
Хотя это действительно так, просто говоря «Do's & Don'ts» в этом контексте не собирается ничему учить кого-либо. Таким же образом, что ответы только для кода действительны, но не рекомендуются в большинстве контекстов. Пожалуйста, объясните * почему * нужно * «не использовать внутренние классы» *, и * почему * '* LookupKey' не должен быть определен внутри 'Configuration' * *. – XenoRo
Внутренние классы требуют ссылки на внешний класс. SnakeYAML не сможет создать его. Просто используйте классы верхнего уровня. Я должен был упомянуть об этом в документации для SnakeYAML. – Andrey