У меня два POJO выглядят следующим образом
class SomeSection extends LinkedHashMap<String, Object> {
@Suppress({"unchecked"}) public <R> R computeTypedIfAbsent(
String Key,
Function<String, R> function) {
return (R) computeIfAbsent(key, function);
}
}
class SomeEntity extends SomeSection {
}
И я успешно создал экземпляр SomeEntity
с некоторыми SomeSection
с.
SomeEntity entity = new SomeEntity();
entity.put("some", new SomeSection());
И я понял,что я не могу получить значение как SomeSection
из десериализованного экземпляра SomeEntity
.И я ничего не мог с собой поделать, но делал
// with deserialized...
ofNullable(computeTypedIfAbsent(key, k -> null))
.map(map -> {
SomeSection section = new SomeSection();
section.putAll(map);
put(key, section); // I can do this all day!!!
return section;
});
Можно ли как-то сказать Джексону сопоставить LinkedHashMap<>
с SomeSection
?
Это ValueInstantiator
что я ищу?