Jackson + Builder Pattern?

Я бы хотел, чтобы Джексон десериализовал класс с помощью следующего конструктора:

public Clinic(String name, Address 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?

79
задан Vlasec 9 August 2016 в 10:21
поделиться