Я хочу проанализировать YAML-файл через Джексона, но столкнулся с проблемой, заключающейся в том, что в одном из свойств (назовем его «Событие») есть строка с именем «тип» и объект «свойства», которые различаются для разных событий. Моя проблема в том, что мне нужно определить POJO для этого YAML. Поэтому я хочу определить Hashmap с помощью VariableObject, который может быть любым из некоторых предопределенных классов (для краткости, скажем, Shipping and Inventory).
Как я могу реализовать Hashmap таким образом?
public class Event {
private static String type;
private static Map<String, VariableObject> properties;
public static void main(String[] args) {
Inventory inventory = new Inventory("inventoryName", 13);
properties.put("Inventory", inventory);
Shipping shipping = new Shipping("shippingName", true);
properties.put("Shipping", shipping);
}
}
public class Inventory {
private static String name;
private static int someNumber;
public Inventory(String name, int someNumber) {
this.name = name;
this.someNumber = someNumber;
}
}
public class Shipping {
private static String name;
private static boolean someBoolean;
public Shipping(String name, boolean someBoolean) {
this.name = name;
this.someBoolean = someBoolean;
}
}