public class DepSource {
private String name;
private EmpSource employee;
// getters and setters
}public class EmpSource {
private String name;
private DepSource department;
// getters and setters
}public class DepDest {
@JMap
String name;
@JMap("employee")
EmpDest emp;
// getters and setters
}public class EmpDest {
@JMap
String name;
@JMap(value = "department")
DepDest dep;
// getters and setters
}
public static void main(String[] args) {
DepSource depSource = new DepSource();
depSource.setName("Department 1");
EmpSource empSource = new EmpSource();
empSource.setName("employee 1");
depSource.setEmployee(empSource);
empSource.setDepartment(depSource);
JMapper<EmpDest, EmpSource> mapper = new JMapper<>(EmpDest.class, EmpSource.class);
EmpDest des = mapper.getDestination(empSource,MappingType.ONLY_NULL_FIELDS);
System.out.println(des.getName());
System.out.println(" : " + des.getDep().getName());
System.out.println(" : " + des.getDep().getEmp().getName());
}