我想将一个不可变对象转换为另一个不可变对象。我搜索了一下,发现 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;
}
}
}
我想互换地转换这两种结构。我几乎不知道我可以创建 custommapper 来执行此任务。如果 Dozzer/Orika 可以简单地使用,请帮助我。