1
2
3
4 package org.flowfuse.base.services.workflow;
5
6 import com.opensymphony.module.propertyset.PropertySet;
7 import com.opensymphony.workflow.config.Configuration;
8 import com.opensymphony.workflow.loader.WorkflowDescriptor;
9 import com.opensymphony.workflow.query.WorkflowExpressionQuery;
10 import org.springmodules.workflow.osworkflow.OsWorkflowCallback;
11
12 import java.util.List;
13 import java.util.Map;
14
15 /***
16 * @author <a href="stefan@flowfuse.org">Stefan Kleineikenscheidt</a>,
17 * Flowfuse.org
18 * @version $Id: WorkflowService.java,v 1.1 2005/11/20 15:02:21 skleinei Exp $
19 */
20 public interface WorkflowService {
21
22
23 public final static String rcsid = "$Id: WorkflowService.java,v 1.1 2005/11/20 15:02:21 skleinei Exp $";
24
25 void setConfiguration(Configuration configuration);
26
27 void setInitialAction(Integer initialAction);
28
29 void setWorkflowName(String workflowName);
30
31 String getWorkflowName();
32
33 void initialize();
34
35 void initialize(Map inputs);
36
37 void initialize(int initialAction);
38
39 void initialize(int initialAction, Map inputs);
40
41 void doAction(int actionId);
42
43 void doAction(int actionId, Object inputKey, Object inputVal);
44
45 void doAction(int actionId, Map inputs);
46
47 WorkflowDescriptor getWorkflowDescriptor();
48
49 List getHistorySteps();
50
51 List getCurrentSteps();
52
53 List getHistoryStepDescriptors();
54
55 List getCurrentStepDescriptors();
56
57 int[] getAvailableActions();
58
59 int[] getAvailableActions(Map inputs);
60
61 List getAvailableActionDescriptors();
62
63 List getAvailableActionDescriptors(Map inputs);
64
65 int getEntryState();
66
67 PropertySet getPropertySet();
68
69 boolean canInitialize(int initialStep);
70
71 boolean canInitialize(int initialStep, Map inputs);
72
73 boolean canModifyEntryState(int newState);
74
75 void changeEntryState(int newState);
76
77 List query(WorkflowExpressionQuery query);
78
79 Object execute(OsWorkflowCallback callback);
80 }
81
82