如何访问Property?

时间:2015-12-28 06:37:25

标签: java javers

从1.4.0发布, “PropertyChange现在与Property断开,从propertyChange到具体属性的引用被propertyName String字段替换。”

1.4.0更改后访问Property的替代方法是什么?我想在Property

中访问“looksLikeId”

1 个答案:

答案 0 :(得分:2)

您可以使用以下代码段执行此操作:

ManagedType managedType = (ManagedType)javers.getTypeMapping(Person.class);
Property property = managedType.getProperty(propertyChange.getPropertyName());

完整示例(groovy):

def "should extract Property from PropertyChange"(){
  given:
  def javers = JaversTestBuilder.newInstance()

  when:
  def diff = javers.compare(new Person('1','bob'), new Person('1','bobby'))
  PropertyChange propertyChange = diff.changes[0]

  ManagedType managedType = (ManagedType)javers.getTypeMapping(Person)
  Property property = managedType.getProperty(propertyChange.propertyName)

  then:
  property.name == 'name'
  !property.looksLikeId()
}

在1.4.1版本中,我将向javers添加方便getProperty()方法:

Property property = javers.getProperty( propertyChange )