You can do it with the following snippet:
ManagedType managedType = (ManagedType)javers.getTypeMapping(Person.class);
Property property = managedType.getProperty(propertyChange.getPropertyName());
Full example (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()
}
In version 1.4.1, I will add convenience getProperty()
method to javers:
Property property = javers.getProperty( propertyChange )