zeiss-digital-innovation/SynchronizeFX

Class fields of concrete Property types like SimpleStringProperty are not synchronized

Closed this issue · 1 comments

rbi commented

Although a class field declared the following way is synchronized correctly:

StringProperty someProperty = new SimpleStringProperty();

A field declared the following way isn't:

SimpleStringProperty someProperty = new SimpleStringProperty();

although it should.

rbi commented

It was detected, that declaring Properties in field the following way is not synchronized either:

private final Property<ModelTO> model = new SimpleObjectProperty<>(new ModelTO());

A suggested fix was to change the Line

} else if (classImplements(fieldClass, Property.class)) {

in PropertyVisitor.visitFields() to

} else if ((classImplements(fieldClass, Property.class)) || (fieldClass == Property.class)) {