/* ApplicationMethodManager.java created 2007-10-22 * */ package org.signalml.app.method; import java.awt.Window; import java.io.File; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import org.signalml.app.action.selector.ActionFocusManager; import org.signalml.app.config.ApplicationConfiguration; import org.signalml.app.document.DocumentFlowIntegrator; import org.signalml.app.document.DocumentManager; import org.signalml.app.method.mp5.MP5ExecutorManager; import org.signalml.app.model.components.TableToTextExporter; import org.signalml.app.view.workspace.ViewerFileChooser; import org.signalml.method.Method; import com.thoughtworks.xstream.XStream; /** ApplicationMethodManager * * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. */ public class ApplicationMethodManager extends DefaultMethodManager { private Map<Method,ApplicationMethodDescriptor> methodData = new HashMap<Method,ApplicationMethodDescriptor>(); private List<UnavailableMethodDescriptor> unavailableMethods = new LinkedList<UnavailableMethodDescriptor>(); private File profileDir; private XStream streamer; private ViewerFileChooser fileChooser; private ApplicationConfiguration applicationConfig; private DocumentManager documentManager; private DocumentFlowIntegrator documentFlowIntegrator; private ActionFocusManager actionFocusManager; private MP5ExecutorManager mp5ExecutorManager; private TableToTextExporter tableToTextExporter; private Window dialogParent; public synchronized ApplicationMethodDescriptor getMethodData(Method method) { return methodData.get(method); } public synchronized void setMethodData(Method method, ApplicationMethodDescriptor descriptor) { if (!methods.contains(method)) { return; } methodData.put(method, descriptor); } @Override public synchronized void removeMethod(Method method) { super.removeMethod(method); methodData.remove(method); } public synchronized int getUnavailableMethodCount() { return unavailableMethods.size(); } public synchronized UnavailableMethodDescriptor getUnavailableMethodAt(int index) { return unavailableMethods.get(index); } public synchronized void addUnavailableMethod(UnavailableMethodDescriptor method) { unavailableMethods.add(method); } public synchronized File getProfileDir() { return profileDir; } public synchronized void setProfileDir(File profileDir) { this.profileDir = profileDir; } public synchronized XStream getStreamer() { return streamer; } public synchronized void setStreamer(XStream streamer) { this.streamer = streamer; } public synchronized DocumentManager getDocumentManager() { return documentManager; } public synchronized void setDocumentManager(DocumentManager documentManager) { this.documentManager = documentManager; } public synchronized ActionFocusManager getActionFocusManager() { return actionFocusManager; } public synchronized void setActionFocusManager(ActionFocusManager actionFocusManager) { this.actionFocusManager = actionFocusManager; } public synchronized Window getDialogParent() { return dialogParent; } public synchronized void setDialogParent(Window dialogParent) { this.dialogParent = dialogParent; } public synchronized ViewerFileChooser getFileChooser() { return fileChooser; } public synchronized void setFileChooser(ViewerFileChooser fileChooser) { this.fileChooser = fileChooser; } public synchronized DocumentFlowIntegrator getDocumentFlowIntegrator() { return documentFlowIntegrator; } public synchronized void setDocumentFlowIntegrator(DocumentFlowIntegrator documentFlowIntegrator) { this.documentFlowIntegrator = documentFlowIntegrator; } public synchronized ApplicationConfiguration getApplicationConfig() { return applicationConfig; } public synchronized void setApplicationConfig(ApplicationConfiguration applicationConfig) { this.applicationConfig = applicationConfig; } public synchronized MP5ExecutorManager getMp5ExecutorManager() { return mp5ExecutorManager; } public synchronized void setMp5ExecutorManager(MP5ExecutorManager mp5ExecutorManager) { this.mp5ExecutorManager = mp5ExecutorManager; } public synchronized TableToTextExporter getTableToTextExporter() { return tableToTextExporter; } public synchronized void setTableToTextExporter(TableToTextExporter tableToTextExporter) { this.tableToTextExporter = tableToTextExporter; } }