У меня есть файл yaml, который выглядит примерно так: -
---
elements:
"loginUsername":
type: ID
value: 100
"loginName":
type: NAME
value: John Doe
Элементы - это Map<String, Element>
, где элемент выглядит так: -
public class Element<T> {
private String value;
private T type;
// Getters and Setters
}
Тип в основном является константой перечисления, тип данных которой может быть либо enum A{ID, NAME...}
, либо enum B{CLASS, NAME...}
.
Я хочу написать собственный десериализатор yaml, который принимает A или B из аргумента командной строки и заменяет T
на A или B. Например. если я пройду -Dtype=A
, это должно стать чем-то вроде private A type;
. Как я могу достичь этого snakeyaml? Или есть какая-нибудь другая библиотека, которая может помочь в достижении этого?