Вам необходимо добавить «поддержку изменения свойств» вашей сущности. Так что добавьте переменную-член ...
final private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
и методы ...
public void addPropertyChangeListener(PropertyChangeListener listener) {
changeSupport.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
changeSupport.removePropertyChangeListener(listener);
}
и затем в каждом сеттере добавьте строку, подобную этой ...
changeSupport.firePropertyChange("myProperty", oldMyProperty, myProperty);
например.
public void setTotalWeight (Integer totalWeight) {
Integer oldTotalWeight = this.totalWeight;
this.totalWeight = totalWeight;
changeSupport.firePropertyChange("totalWeight", oldTotalWeight, totalWeight);
}