新手到javers,如何迭代并从diff中获取所有属性名称

时间:2017-09-20 22:13:06

标签: javers

我是javers的新手。

我有两个具有属性的相同对象 我需要获得所有不同属性的列表。

这是有效的

 Diff diff = javers.compare(memberFromDB, member);
 for (Change c : diff.getChanges()) {
        logger.info("change=" + c );
 }

并显示

  

变化= ValueChange {globalId: 'com.stuff.Member /',   property:'currentRank',oldVal:'Friend12',newVal:'Dimaon'}

虽然我认为它很简单,但我如何访问Change的属性?

或者我应该以不同的方式迭代思考差异?

我的最终目标是获取不同属性的列表。

感谢

2 个答案:

答案 0 :(得分:0)

不确定这是最好的方法,但它有效

Diff diff = javers.compare(memberFromDB, member);
ArrayList<ValueChange> diffs = (ArrayList)diff.getChangesByType(ValueChange.class);

for (ValueChange v : diffs ) {
     logger.info("change=" + v.getPropertyName() );
}

答案 1 :(得分:0)

    diff.getChangesByType(PropertyChange.class).forEach(p ->
            logger.info("property change: "+ p.getPropertyName()  )
    );