package husacct.define.task; import java.util.ArrayList; import java.util.List; import java.util.Observable; import java.util.Observer; import org.apache.log4j.Logger; public abstract class PopUpController extends Observable { public static final String ACTION_EDIT = "EDIT"; public static final String ACTION_NEW = "NEW"; protected String action = PopUpController.ACTION_NEW; protected long currentModuleId; protected Logger logger; protected List<Observer> observers; public PopUpController() { observers = new ArrayList<Observer>(); logger = Logger.getLogger(DefinitionController.class); } @Override public void addObserver(Observer o) { if (!observers.contains(o)) { observers.add(o); } } public String getAction() { return action; } protected long getModuleId() { return currentModuleId; } @Override public void notifyObservers() { for (Observer o : observers) { o.update(this, o); } } public void removeObserver(Observer o) { if (observers.contains(o)) { observers.remove(o); } } public void setAction(String action) { if (action.equals(PopUpController.ACTION_EDIT) || action.equals(PopUpController.ACTION_NEW)) { this.action = action; } } public void setModuleId(long moduleId) { currentModuleId = moduleId; } }