package com.androideasyapps.phoenix.dao; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.Serializable; import java.util.HashMap; import java.util.Map; public class ChangesBean extends AbstractBean implements Serializable, PropertyChangeListener { private static final long serialVersionUID = 1L; protected Map<String, Object> changes = new HashMap<String, Object>(); public ChangesBean() { super(); } public Map<String, Object> getChanges() { return changes; } public void setChanged(boolean val) { if (val == false) { changes.clear(); } super.setChanged(val); } @Override protected void handleChange(String prop, Object oldValue, Object newValue) { changes.put(prop, newValue); super.handleChange(prop, oldValue, newValue); } /** * NOTE: This is called when are are listening for changes on OTHER objects, * not our object. * * @param evt */ @Override public void propertyChange(PropertyChangeEvent evt) { setChanged(true); } }