package com.alibaba.smart.framework.engine.model.instance;

import java.util.Date;
import java.util.List;

/**
 * @author 高海军 帝奇  2016.11.11
 * @author ettear 2016.04.13
 */
public interface ActivityInstance extends Instance {

    String getProcessDefinitionIdAndVersion();

    void setProcessDefinitionIdAndVersion(String processDefinitionIdAndVersion);


    /**
     * 获取活动ID
     *
     * @return 活动ID
     */
    String getProcessDefinitionActivityId();

    /**
     * 设置活动ID
     *
     */
    void setProcessDefinitionActivityId(String processDefinitionActivityId);

    /**
     * 获取流程实例ID
     *
     * @return 流程实例ID
     */
    String getProcessInstanceId();

    /**
     * 设置流程实例ID
     *
     * @param processInstanceId 流程实例ID
     */
    void setProcessInstanceId(String processInstanceId);

    void setExecutionInstanceList(List<ExecutionInstance> executionInstanceList);

    List<ExecutionInstance> getExecutionInstanceList();
//
//    /**
//     * 获取进入活动的关联
//     *
//     * @return 进入活动的关联
//     */
//    List<TransitionInstance> getIncomeTransitions();
//
//    /**
//     * 添加进入活动的关联
//     *
//     * @param transitionInstance 进入活动的关联
//     */
//    void addIncomeTransition(TransitionInstance transitionInstance);


    Date getStartTime();

    void setStartTime(Date startTime);

    String getBlockId();

    void setBlockId(String blockId);
}
