/** * Copyright 1996-2014 FoxBPM ORG. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * @author kenshin */ package org.foxbpm.engine.task; import java.util.Date; import java.util.Map; /** * @author kenshin * */ public interface Task{ int PRIORITY_VERYLOW = 20; int PRIORITY_LOW = 40; int PRIORITY_NORMAL = 50; int PRIORITY_HIGH = 80; int PRIORITY_VERYHIGH = 100; String TYPE_FOXBPMTASK = "foxbpmtask"; /** * 获取任务编号 */ String getId(); /** * 获取任务名称 * @return */ String getName(); /** * 获得任务对应的流程实例编号 * @return */ String getProcessInstanceId(); /** * 获取流程定义唯一编号 * @return */ String getProcessDefinitionId(); /** * 获取流程定义KEY * @return */ String getProcessDefinitionKey(); /** * 获取流程定义名称 * @return */ String getProcessDefinitionName(); /** * 获取任务所在节点ID * @return */ String getNodeId(); /** * 获取流程所在节点名称 * @return */ String getNodeName(); /** * 获取任务处理人 * 当共享任务未领取时,此字段为空 * @return */ String getAssignee(); /** * 获取任务领取时间 * @return */ Date getClaimTime(); /** * 获取任务结束时间 * @return */ Date getEndTime(); /** * 获取任务创建时间 * @return */ Date getCreateTime(); /** * 获取任务关联键 * @return */ String getBizKey(); /** * 获取任务处理意见 * @return */ String getTaskComment(); /** * 获取操作表单 * @return */ String getFormUri(); /** * 获取浏览表单 * @return */ String getFormUriView(); /** * 获取任务类型 * @return */ String getTaskType(); /** * 获取任务主题 * @return */ String getSubject(); /** * 获取任务描述 * @return */ String getDescription(); /** * 获取完成后任务描述 * @return */ String getCompleteDescription(); /** * 获取任务处理命令编号 * 当任务未结束时此属性为空 * @return */ String getCommandId(); /** * 获取实体属性map * @return */ Map<String, Object> getPersistentState(); /** * 是否暂停 * @return */ boolean isSuspended(); /** * 是否结束 * @return */ boolean hasEnded(); /** 是否自动领取 */ boolean isAutoClaim(); /** * 获取任务代理状态 * @return */ DelegationState getDelegationState(); /** * 任务编号 * @param id */ void setId(String id); /** * 流程实例号 * @param processInstanceId 流程实例号 */ void setProcessInstanceId(String processInstanceId); /** * 流程定义编号 * @param processDefinitionId */ void setProcessDefinitionId(String processDefinitionId); /** * 流程定义key * @param processDefinitionKey */ void setProcessDefinitionKey(String processDefinitionKey); /** * 任务名称 * @param name */ void setName(String name); /** * 任务描述 * @param description */ void setDescription(String description); /** * 完成后任务描述 * @param description */ void setCompleteDescription(String description); /** * 处理人 * @param assignee */ void setAssignee(String assignee); /** * 结束时间 * @param endTime */ void setEndTime(Date endTime); /** * 任务主题 * @param subject */ void setSubject(String subject); /** * 操作表单 * @param formUri */ void setFormUri(String formUri); /** * 浏览表单 * @param formUri */ void setFormUriView(String formUri); /** * 业务关连建 * @param bizKey */ void setBizKey(String bizKey); /** * 令牌编号 * @param tokenId */ void setTokenId(String tokenId); /** * 节点id * @param nodeId */ void setNodeId(String nodeId); /** * 节点名称 * @param nodeName */ void setNodeName(String nodeName); /** * 设置任务类型 * @param taskType */ void setTaskType(String taskType); }