Я хочу использовать один файл YAML, который содержит несколько разных объектов для разных приложений. Мне нужно получить один объект, чтобы получить экземпляр MyClass1, игнорируя остальные документы для MyClass2, MyClass3 и т. д. Какая-то выборочная десериализация: теперь этот класс, затем тот... Структура MyClass2, MyClass3 такова. совершенно неизвестно приложению, работающему с MyClass1. Конечно, файл всегда является действительным YAML.
YAML может иметь любую структуру, необходимую для реализации такого многоклассового контейнера. Предпочтительным инструментом синтаксического анализа является snapyaml.
Это разумно? Как я могу игнорировать все объекты, кроме одного?
UPD: заменил все "документ" на "объект". Я думаю, что мы должны говорить об одном документе YAML, содержащем несколько объектов разной структуры. Более того, синтаксический анализатор точно знает только одну структуру и хочет игнорировать остальные.
UDP2: Я думаю, что это невозможно со змейкоймлом. Мы все равно должны прочитать все объекты, а потом выбрать нужный. Но, может быть, я ошибаюсь.
UPD2: пример файла конфигурации
---
-
exportConfiguration781:
attachmentFieldName: "name"
baseSftpInboxPath: /home/user/somedir/
somebool: false
days: 9999
expected:
- ABC w/o quotes
- "Cat ABC"
- "Some string"
dateFormat: yyyy-MMdd-HHmm
user: someuser
-
anotherConfiguration:
k1: v1
k2:
- v21
- v22