Я ищу простейший способ сделать глубокую копию плоской карты < String, String > вложенных свойств для компонента. Некоторые вложенные свойства - это интерфейсы, для которых я хотел бы предоставить стратегию для создания экземпляра. Например:Копию глубокой фасоли со стратегией для создания нулевого свойства
Map<String, String> customer = new Map<String, String>();
customers.put("id", "123");
customers.put("address.line1", "221B Baker St.");
public class Customer {
private int id;
private Address address; //address is an interface
... getters/setters ...
}
Обратите внимание, что я не хочу, чтобы поставить четкие отображения, только стратегию для обеспечения конкретного экземпляра интерфейса. Я предположил, что для этого нужно использовать commons-beanutils, но для них это открытый билет JIRA. Библиотека, имеющая аналогичную функциональность, - это Google GSON, которая предоставляет интерфейс под названием InstanceCreator.
Я реализовал решение поверх beanutils, но есть ли библиотека преобразования bean, в которой встроена эта функциональность?
Я немного изменил вопрос на основе ваших отзывов. Я только пытаюсь разобраться с плоской картой вложенных свойств. Кроме того, я посмотрел на Google GSON, и у него есть концепция InstanceCreator, которую я ищу - за исключением того, что я собираюсь map -> bean вместо map -> json. –