基于反射机制的EMF模型比较 - 编程入门网
// different, record them
compareLog.add(new CompareInfo(
CompareInfo.REMOTE_MODIFIED, compareType,
remote, local));
}
}
else if ((remoteValue == null && localValue != null)
|| (remoteValue != null && localValue == null))// 一个为null
{
compareLog.add(new CompareInfo(
CompareInfo.REMOTE_MODIFIED, compareType,
remote, local));
}
}
}
}
}
基于反射机制的EMF模型比较(7)时间:2011-09-09 IBM 石立川 王芹华 邵兵比较结果界面 图 5. 以树视图展示比较结果 图 5 中的树视图展示了比较器的比较结果(一个 CompareInfo 对象列表) ,其中红色 X 表示该节点发生删除操作,绿色 + 号表示增加操作,表格和一支 笔的图案表示修改操作,右下角带有上、下箭头的小角标表示发起操作的是远端 或者本地。比较器完成的工作是满足模型比较并展示需求的关键步骤,但是除了 比较器,还至少需要建模模型对本地修改状态的记录,和一个友好的界面来显示 比较结果。 后记 本文中提供的 EMF 比较器解决方案是根据字段的值得到差异性列表,得到字 段值之后的比较过程没有特殊的处理需求。在某些比较场景中,也许需要对两个 值的比较不只是调用 equals 方法那么简单,比如:也许业务需求在比较过程中 会认为空字符串和 null 是相同的,但是在程序语句中这是两个完全不同的值。 为了满足对值的复杂比较,可以设计一个字段比较器,把不同字段的比较工作交 给该字段对应的比较器去执行。这样在应用中就可以更加灵活的设定比较规则。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |