Я бы хотел, чтобы Джексон десериализовал класс со следующим конструктором:
public Clinic(String name, Address address)
Дезаминирование первого аргумента легко. Проблема заключается в том, что адрес определяется как:
public class Address {
private Address(Map<LocationType, String> components)
...
public static class Builder {
public Builder setCity(String value);
public Builder setCountry(String value);
public Address create();
}
}
и строится так: new Address.Builder().setCity("foo").setCountry("bar").create();
Есть ли способ получить пары ключ-значение от Джексона, чтобы сам создать адрес? В качестве альтернативы, есть ли способ заставить Джексона использовать сам класс Builder?