package org.jbpm.gd.jpdl.xml;
import java.beans.PropertyChangeEvent;
import java.util.HashMap;
import java.util.Map;
import org.jbpm.gd.common.model.SemanticElement;
import org.jbpm.gd.common.xml.XmlAdapter;
import org.jbpm.gd.jpdl.model.Reminder;
public class ReminderDomAdapter extends XmlAdapter {
private static HashMap NODE_TYPES = null;
protected Map getNodeTypes() {
if (NODE_TYPES == null) {
NODE_TYPES = new HashMap();
}
return NODE_TYPES;
}
protected void initialize() {
super.initialize();
Reminder reminder = (Reminder)getSemanticElement();
if (reminder != null) {
setAttribute("duedate", reminder.getDueDate());
setAttribute("repeat", reminder.getRepeat());
}
}
public void initialize(SemanticElement jpdlElement) {
super.initialize(jpdlElement);
Reminder reminder = (Reminder)jpdlElement;
reminder.setDueDate(getAttribute("duedate"));
reminder.setRepeat(getAttribute("repeat"));
}
protected void doPropertyChange(PropertyChangeEvent evt) {
if ("duedate".equals(evt.getPropertyName())) {
setAttribute("duedate", (String)evt.getNewValue());
} else if ("repeat".equals(evt.getPropertyName())) {
setAttribute("repeat", (String)evt.getNewValue());
}
}
protected void doModelUpdate(String name, String newValue) {
Reminder reminder = (Reminder)getSemanticElement();
if ("duedate".equals(name)) {
reminder.setDueDate(newValue);
} else if ("repeat".equals(name)) {
reminder.setRepeat(newValue);
}
}
protected void doModelAdd(XmlAdapter child) {
}
protected void doModelRemove(XmlAdapter child) {
}
}