package examples; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; public class SomeModelState { protected PropertyChangeSupport pcs; private String name = "spot"; public SomeModelState() { pcs = new PropertyChangeSupport(this); } public String getName() { return name; } public void setName(String name) { String old = this.name; this.name = name; firePropertyChange("name", old, name); } public void addPropertyChangeListener(PropertyChangeListener arg0) { pcs.addPropertyChangeListener(arg0); } public void firePropertyChange(String arg0, Object arg1, Object arg2) { pcs.firePropertyChange(arg0, arg1, arg2); } public void removePropertyChangeListener(PropertyChangeListener arg0) { pcs.removePropertyChangeListener(arg0); } }