2012-06-02 2 views
0

Я работал с бульдозером, и у меня был особый сценарий, который, как я думаю, не поддерживает бульдозер. Предположим, у меня есть класс с различными типами свойств, такими как String, Ingeger и другие примитивные типы. Теперь я хочу скопировать только свойство string из этого класса в другой. Здесь S пример кода: (Его очень кратко, но это даст правильное понимание проблемы.)Copy Only Строковые свойства от одного объекта к другому

Class Source{ 
private int a; 
private boolean b; 
private String s1; 
//more properties with primitive type. 

} 
Class Destination{ 
// same structure 
} 

Теперь я хочу somethink как,

DozerBeanMapper mapper = new DozerBeanMapper(); 
// initialize Object of source 
// initialize Object of destination 
mapper.map(source,destination); 

Можно с любым бульдозер? Я знаком с бульдозером. Но Oper для других API, таких как apache beanutil или ModelMapper. Не стесняйтесь отвечать в любой из этих технологий.

ответ

0

Использование populate() и setProperty() от Apache Commons BeanUtils.

Первая populate() пустой фасоль, чем, вы можете применить if условие как:

if (urBean.getAParameter() instanceof String){ 
    setProperty(newBeanObject, "propertyName", urBean.getParameter()); 
}