/*
 * Copyright (c) 京北方信息技术股份有限公司 Corporation 2021 . All rights reserved.
 *
 */
package net.northking.cctp.flowable.sm;

/**
 * 状态流程引擎
 *
 * @author : xiusong.xie
 * @version : 1.0
 */
public interface StateProcessEngine
{
  /**
   * 部署流程定义
   *
   * @param definition 流程定义
   * @return 主键
   */
  String deploy(StateProcessDefinition definition);

  /**
   * 获取流程定义
   *
   * @param pkId 主键
   * @return 状态流程定义
   */
  StateProcessDefinition findDefinition(String pkId);

  /**
   * 启动状态流程
   *
   * @param definitionKey 流程定义的主键
   * @return 流程实例
   */
  StateProcessInstance startProcess(String definitionKey);
}
