package lectures.mvc.properties;
import util.annotations.WebDocuments;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import lectures.mvc.properties.atomic.APropertyListenerSupport;
import bus.uigen.ObjectEditor;
@WebDocuments({"Lectures/MvcProperties.pptx", "Lectures/MvcProperties.pdf", "Videos/MvcProperties.avi"})
public class AnObservableStringHolder {
String object;
PropertyListenerSupport propertyListenerSupport = new APropertyListenerSupport();
public Object getString() {
return object;
}
public void setObject(String newVal) {
Object oldVal = object;
object = newVal;
propertyListenerSupport.notifyAllListeners(
new PropertyChangeEvent(this, "Object", oldVal, newVal));
}
public void addPropertyChangeListener(PropertyChangeListener aListener) {
propertyListenerSupport.add(aListener);
}
public static void main (String[] args) {
AnObservableStringHolder stringHolder = new AnObservableStringHolder();
stringHolder.setObject("Hello");
ObjectEditor.edit(stringHolder);
}
}