我想將一個不可變對象轉換爲另一個不可變對象。我搜索了一下,發現Dozzer和Orika主要用於對象映射。將不可變對象轉換爲不可變對象(不可變或生成器)
我嘗試使用Dozzer,但似乎它不適用於使用生成器模式創建的對象。
Example:
//Source Object
public class EmployeeDTO{
private String id;
private String name;
private void setName(String name){this.name=name;}
private void setId(String id){this.id=id;}
public static class Builder{
public String id;
public String name;
public Builder setName(String name){this.name=name;}
public Builder setId(String id){this.id=id;}
public EmployeeDTO build(){
EmployeeDTO employeeDTO = new EmployeeDTO();
employeeDTO.setName(this.name);
employeeDTO.setId(this.id);
return employeeDTO;
}
}
}
//Target Object
public class Employee{
private String id;
private String name;
private void setName(String name){this.name=name;}
private void setId(String id){this.id=id;}
public static class Builder{
public String id;
public String name;
public Builder setName(String name){this.name=name;}
public Builder setId(String id){this.id=id;}
public Employee build(){
Employee employee = new Employee();
employee.setName(this.name);
employee.setId(this.id);
return employee;
}
}
}
我想交換這兩個結構。我不知道我可以創建自定義映射器來執行此任務。如果可以用Dozzer/Orika以簡單的方式進行操作,請幫助我。
的源和目標對象具有公共字段和設置者。他們如何不變呢? –
感謝Adam糾正我。我只是把它編碼在這裏,所以把錯誤的字段/方法公諸於衆。糾正它。 – user3089214