package org.jbpm.gd.jpdl.model; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Task extends Swimlane implements EventContainer, TimerContainer, DescribableElement { private Controller controller; private Reminder reminder; private List events = new ArrayList(); private List timers = new ArrayList(); private String blocking = "false"; private String signalling = "true"; private String notify = "false"; private Description description; private String dueDate; private String swimlane; private String priority = "normal"; private HashMap customProperties = new HashMap(); public void setProperty(String name, String newValue) { String oldValue = (String)customProperties.get(name); customProperties.put(name, newValue); firePropertyChange("custom", new String[] { name, oldValue }, new String[] {name, newValue}); } public String getProperty(String name) { return (String)customProperties.get(name); } public Map getProperties() { return new HashMap(customProperties); } public void setReminder(Reminder newReminder) { Reminder oldReminder = reminder; reminder = newReminder; firePropertyChange("reminder", oldReminder, newReminder); } public Reminder getReminder() { return reminder; } public void setController(Controller newController) { Controller oldController = controller; controller = newController; firePropertyChange("controller", oldController, newController); } public Controller getController() { return controller; } public void addEvent(Event event) { events.add(event); firePropertyChange("eventAdd", null, event); } public void removeEvent(Event event) { events.remove(event); firePropertyChange("eventRemove", event, null); } public Event[] getEvents() { return (Event[])events.toArray(new Event[events.size()]); } public void addTimer(Timer timer) { timers.add(timer); firePropertyChange("timerAdd", null, timer); } public void removeTimer(Timer timer) { timers.remove(timer); firePropertyChange("timerRemove", timer, null); } public Timer[] getTimers() { return (Timer[])timers.toArray(new Timer[timers.size()]); } public void setBlocking(String newBlocking) { String oldBlocking = blocking; blocking = newBlocking; firePropertyChange("blocking", oldBlocking, newBlocking); } public String getBlocking() { return blocking; } public void setSignalling(String newSignalling) { String oldSignalling = signalling; signalling = newSignalling; firePropertyChange("signalling", oldSignalling, newSignalling); } public String getSignalling() { return signalling; } public void setNotify(String newNotify) { String oldNotify = notify; notify = newNotify; firePropertyChange("notify", oldNotify, newNotify); } public String getNotify() { return notify; } public void setDescription(Description newDescription) { Description oldDescription = description; description = newDescription; firePropertyChange("description", oldDescription, newDescription); } public Description getDescription() { return description; } public void setDueDate(String newDueDate) { String oldDueDate = dueDate; dueDate = newDueDate; firePropertyChange("duedate", oldDueDate, newDueDate); } public String getDueDate() { return dueDate; } public void setSwimlane(String newSwimlane) { String oldSwimlane = swimlane; swimlane = newSwimlane; firePropertyChange("swimlane", oldSwimlane, newSwimlane); } public String getSwimlane() { return swimlane; } public void setPriority(String newPriority) { String oldPriority = priority; priority = newPriority; firePropertyChange("priority", oldPriority, newPriority); } public String getPriority() { return priority; } public boolean isNameMandatory() { return false; } }