001
014
015 package com.liferay.portal.workflow;
016
017 import com.liferay.portal.kernel.util.ListUtil;
018 import com.liferay.portal.kernel.workflow.WorkflowHandler;
019 import com.liferay.portal.kernel.workflow.WorkflowHandlerRegistry;
020
021 import java.util.List;
022 import java.util.Map;
023 import java.util.TreeMap;
024
025
029 public class WorkflowHandlerRegistryImpl implements WorkflowHandlerRegistry {
030
031 public List<WorkflowHandler> getScopeableWorkflowHandlers() {
032 return ListUtil.fromMapValues(_scopeableWorkflowHandlerMap);
033 }
034
035 public WorkflowHandler getWorkflowHandler(String className) {
036 return _workflowHandlerMap.get(className);
037 }
038
039 public List<WorkflowHandler> getWorkflowHandlers() {
040 return ListUtil.fromMapValues(_workflowHandlerMap);
041 }
042
043 public void register(WorkflowHandler workflowHandler) {
044 _workflowHandlerMap.put(
045 workflowHandler.getClassName(), workflowHandler);
046
047 if (workflowHandler.isScopeable()) {
048 _scopeableWorkflowHandlerMap.put(
049 workflowHandler.getClassName(), workflowHandler);
050 }
051 }
052
053 public void unregister(WorkflowHandler workflowHandler) {
054 _workflowHandlerMap.remove(workflowHandler.getClassName());
055
056 if (workflowHandler.isScopeable()) {
057 _scopeableWorkflowHandlerMap.remove(workflowHandler.getClassName());
058 }
059 }
060
061 private Map<String, WorkflowHandler> _scopeableWorkflowHandlerMap =
062
063 new TreeMap<String, WorkflowHandler>();
064 private Map<String, WorkflowHandler> _workflowHandlerMap =
065 new TreeMap<String, WorkflowHandler>();
066
067 }