All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.activiti.engine.runtime.ProcessInstanceBuilder Maven / Gradle / Ivy

There is a newer version: 7.1.0.M6
Show newest version
/* 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.
 */
package org.activiti.engine.runtime;

/**
 * Helper for starting new ProcessInstance.
 * 
 * An instance can be obtained through {@link org.activiti.engine.RuntimeService#createProcessInstanceBuilder()}.
 * 
 * processDefinitionId or processDefinitionKey should be set before calling {@link #start()} to start a process instance.
 * 
 * 
 * @author Bassam Al-Sarori
 * 
 */
public interface ProcessInstanceBuilder {

  /** Set the id of the process definition **/
  ProcessInstanceBuilder processDefinitionId(String processDefinitionId);

  /**
   * Set the key of the process definition, latest version of the process definition with the given key. If processDefinitionId was set this will be ignored
   **/
  ProcessInstanceBuilder processDefinitionKey(String processDefinitionKey);

  /** Set the name of process instance **/
  ProcessInstanceBuilder processInstanceName(String processInstanceName);

  /** Set the businessKey of process instance **/
  ProcessInstanceBuilder businessKey(String businessKey);

  /** Set the tenantId of process instance **/
  ProcessInstanceBuilder tenantId(String tenantId);

  /** Add a variable to the process instance **/
  ProcessInstanceBuilder addVariable(String variableName, Object value);

  /**
   * Start the process instance
   * 
   * @throws ActivitiIllegalArgumentException
   *           if processDefinitionKey and processDefinitionId are null
   * @throws ActivitiObjectNotFoundException
   *           when no process definition is deployed with the given processDefinitionKey or processDefinitionId
   * **/
  ProcessInstance start();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy