ex9_10.txt
来自「j2ee core design patterns」· 文本 代码 · 共 72 行
TXT
72 行
Example 9.10 WorkflowCommand, WorkflowProcessCommand and WorkItemCommand Code
package ActionAdapter;
public interface WorkflowCommand {
public void execute();
}
package ActionAdapter;
import Core.HireEmployeeConstants;
public class WorkflowProcessCommand
implements WorkflowCommand {
private String userId;
private CommandData commandData;
public WorkflowProcessCommand(String userId,
CommandData commandData) {
this.userId = userId;
this.commandData = commandData;
}
public void execute() {
WorkflowCommandData d = (WorkflowCommandData) commandData;
String workflowName = d.getWorkflowName();
String workflowProcessId = d.getWorkflowProcessId();
WorkflowDelegate delegate = new WorkflowDelegate(userId);
if (d.commandType ==
HireEmployeeConstants.START_WORKFLOW_TYPE) {
delegate.start(workflowName);
} else if (d.commandType ==
HireEmployeeConstants.STOP_WORKFLOW_TYPE) {
delegate.stop(workflowProcessId);
} else if (d.commandType ==
HireEmployeeConstants.PAUSE_WORKFLOW_TYPE) {
delegate.pause(workflowProcessId);
}
}
}
package ActionAdapter;
import Core.HireEmployeeConstants;
public class WorkItemCommand implements WorkflowCommand {
private String userId;
private CommandData commandData;
public WorkItemCommand(String userId,
CommandData commandData) {
this.userId = userId;
this.commandData = commandData;
}
public void execute() {
WorkItemCommandData d = (WorkItemCommandData) commandData;
String workItemId = d.getWorkItemId();
WorkflowDelegate delegate = new WorkflowDelegate(userId);
if (d.commandType ==
HireEmployeeConstants.ACQUIRE_WORKITEM_TYPE) {
delegate.acquireWorkItem(workItemId);
} else if (d.commandType ==
HireEmployeeConstants.COMMIT_WORKITEM_TYPE) {
delegate.commitWorkItem(workItemId);
} else if (d.commandType ==
HireEmployeeConstants.ABORT_WORKITEM_TYPE) {
delegate.abortWorkItem(workItemId);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?