我正在实现一个组件,其中一个组件接收到一条消息,它将另一条消息发送到Audit组件,以便可以对其进行审核。
审计处理程序具有称为AuditObject的模型,而我的组件具有MessageObject。这是代码:
public final class AuditObject {
private final Long id;
private final String studyUid;
private final AuditPatient patient;
...
}
public final class MessageObject {
private final Long id;
private final String studyUid;
private final PatientObject patient;
private final String accessorName;
...
}
AuditPatient和PatientObject具有相同的变量。
我正在尝试通过jms消息通过amqp连接发送它。我已经有MessageGateway。所以我的代码在我这边看起来像这样。
public void send(MessageObject messageObject) {
//translate MessageObject to AuditObject
messageGateway.send(auditObject, endpoint);
}
将MessageObject转换(或映射)为AuditObject的最佳方法是什么?我是否需要通过分配手动创建每个字段?解决此问题的最佳方法是什么?
答案 0 :(得分:0)
在类中使用静态方法将一个对象转换为另一个对象并调用它。
class ConvertObject {
public static AuditObject convertMessageObjectToAudioObject(MessageObject messageObject) {
AuditObject auditObject = new AuditObject();
auditObject.setStudyUid(messageObject.getStudyUid());
auditObject.setPatient(messageObject.getPatient());
return auditObject;
}
}
public void send(MessageObject messageObject) {
AuditObject auditObject = ConvertObject.convertMessageObjectToAudioObject(messageObject);
messageGateway.send(auditObject, endpoint);
}