iprocessinstance.java
来自「Fire-Workflow-Engine-All-In-One-20090208」· Java 代码 · 共 147 行
JAVA
147 行
/**
* Copyright 2007-2008 非也
* All rights reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation。
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see http://www.gnu.org/licenses. *
*/
package org.fireflow.engine;
import java.util.Date;
import java.util.Map;
import org.fireflow.kenel.KenelException;
import org.fireflow.model.WorkflowProcess;
/**
* 流程实例接口
* @author 非也,nychen2000@163.com
*
*/
public interface IProcessInstance {
public static final int INITIALIZED = 0;
public static final int STARTED = 1;
public static final int COMPLETED = 2;
public static final int CANCELED = -1;
public void run() throws EngineException, KenelException;
/**
* return the process instance's Id.
* @return
*/
public String getId();
/**
* return the process instance's name,which equals to the workflow process's name
* @return
*/
public String getName();
/**
* return the process instance's display-name ,
* which equals to the workflow process's display-name.
* @return
*/
public String getDisplayName();
/**
* return the workflow process's id
* @return
*/
public String getProcessId();
public Integer getState();
/**
* return the workflow process's version.
*
* @return
*/
public Integer getVersion();
/**
* 返回流程实例的创建时间
* @return 流程实例的创建时间
*/
public Date getCreatedTime();
/**
* 返回流程实例的启动时间,即执行IProcessInstance.run()的时间
* @return
*/
public Date getStartedTime();
/**
* 返回流程实例的结束时间
* @return
*/
public Date getEndTime();
/**
* 返回流程实例的到期时间
* @return
*/
public Date getExpiredTime();
/**
* Get the process instance variable,return null if the variable is not existing .
* @param name the name of the variable
* @return the value of the variable. It may be Integer,String,Boolean,java.util.Date or Float
*/
public Object getProcessInstanceVariable(String name);
/**
* Save the process instance variable.If there is a variable with the same name ,it will be updated.
* @param name
* @param var The value of the variable. It may be Integer,String,Boolean,java.util.Date or Float
*/
public void setProcessInstanceVariable(String name, Object var);
/**
* Get all the process instance variables. the key of the returned map is the variable's name
* @return
*/
public Map getProcessInstanceVariables();
/**
* update the process instance variables batched.
* @param vars
*/
public void setProcessInstanceVariables(Map vars);
/**
* return the corresponding workflow process.
* @return
*/
public WorkflowProcess getWorkflowProcess() throws EngineException;
/**
* get the parent process instance's id , null if no parent process instance.
* @return
*/
public String getParentProcessInstanceId();
/**
* get the parent taskinstance's id ,null if no parent taskinstance.
* @return
*/
public String getParentTaskInstanceId();
/**
* 强行中止流程实例,不管是否达到终态。
* @throws RuntimeException
*/
public void abort() throws EngineException;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?