public interface Workflow
Workflow interface provides workflow related services to an interactive form, integration service or another workflow job.
 A number of specific methods to open a job or task are provided. In addition, access is provided to the workflow API, which contains
 all the functionality offered by the Ebase workflow system.| Modifier and Type | Method and Description | 
|---|---|
| void | completeTask()This is equivalent to calling  completeTask(null, null). | 
| void | completeTask(java.lang.String completionState,
            java.lang.String reason)Signals completion of the current workflowed form and updates the workflow system with any workflow out
 parameters for the form. | 
| WorkflowManagement | getApi()Returns a  WorkflowManagmentobject representing the API for the workflow server. | 
| java.lang.String | openJob(java.lang.String processName,
       java.util.Map<java.lang.String,java.lang.Object> parameters)This is equivalent to calling  openJob(processName, parameters, null, null). | 
| java.lang.String | openJob(java.lang.String processName,
       java.util.Map<java.lang.String,java.lang.Object> parameters,
       java.lang.String owner,
       java.lang.String reason)Opens a new workflow job for the process with name  processNameand passes any parameters to the new job as process
 attribute values. | 
| java.lang.String | openJobAndCompleteFirstTask(java.lang.String processName,
                           java.lang.String firstTaskId)This is equivalent to calling  openJobAndCompleteFirstTask(processName, firstTaskId, null, null, null). | 
| java.lang.String | openJobAndCompleteFirstTask(java.lang.String processName,
                           java.lang.String firstTaskId,
                           java.lang.String completionState,
                           java.lang.String owner,
                           java.lang.String reason)Opens a new workflow job for the process with name  processNameand completes the first task designated 
 byfirstTaskIdwith completion statecompletionState. | 
| void | openTaskAndGotoForm(java.lang.String taskId)This is equivalent to calling  openTaskAndGotoForm(taskId, null). | 
| void | openTaskAndGotoForm(java.lang.String taskId,
                   java.lang.String reason)Terminates execution of the current form, opens an interactive task and starts the Ebase form associated with the task. | 
| void | reOpenTaskAndGotoForm(java.lang.String taskId)Terminates execution of the current form, re-opens an interactive task and starts the Ebase form associated with the task. | 
void openTaskAndGotoForm(java.lang.String taskId)
                  throws com.ebasetech.ufs.kernel.FormException,
                         com.ebasetech.ufs.workflow.server.external.WorkflowManagementException,
                         com.ebasetech.ufs.utility.ConcurrentUpdateException,
                         com.ebasetech.ufs.workflow.security.WorkflowSecurityException
openTaskAndGotoForm(taskId, null).taskId - workflow interactive task idcom.ebasetech.ufs.kernel.FormExceptioncom.ebasetech.ufs.workflow.server.external.WorkflowManagementExceptioncom.ebasetech.ufs.utility.ConcurrentUpdateExceptioncom.ebasetech.ufs.workflow.security.WorkflowSecurityExceptionopenTaskAndGotoForm(String, String)void openTaskAndGotoForm(java.lang.String taskId,
                         java.lang.String reason)
                  throws com.ebasetech.ufs.kernel.FormException,
                         com.ebasetech.ufs.workflow.server.external.WorkflowManagementException,
                         com.ebasetech.ufs.utility.ConcurrentUpdateException,
                         com.ebasetech.ufs.workflow.security.WorkflowSecurityException
 
 The interactive task identified by taskId must be in state Waiting, and will be transitioned by this method
 call to state Active. The task must already be assigned to the user. If the task has previously been opened 
 and therefore has a state of Active, method reOpenTaskAndGotoForm(String) should be used instead.
 If the task has state Unassigned, it must first be assigned to the user using method 
 WorkflowManagement.assign(String, String, boolean, String, String).
 
 The taskId is passed into the form associated with the task and can be obtained using system variable $WF_TASK_ID.
taskId - workflow interactive task idreason - optional reason text, this is added to the audit trail of the workflow jobcom.ebasetech.ufs.workflow.server.external.WorkflowManagementException - if there is some problem with invoking the operation on the underlying workflow objects. This
                                   could be, for example, a request to transition the state in a disallowed manner.com.ebasetech.ufs.kernel.FormException - if there is a database problem with the underlying persistence framework such as not
                                   being able to find a requested object, or if there is a problem starting the form associated with the taskcom.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some
                                   other processor in the clustercom.ebasetech.ufs.workflow.security.WorkflowSecurityException - if the caller is not allowed to access the workflow api openTask() methodreOpenTaskAndGotoForm(String)void reOpenTaskAndGotoForm(java.lang.String taskId)
                    throws com.ebasetech.ufs.kernel.FormException,
                           com.ebasetech.ufs.workflow.server.external.WorkflowManagementException,
                           com.ebasetech.ufs.utility.ConcurrentUpdateException,
                           com.ebasetech.ufs.workflow.security.WorkflowSecurityException
openTaskAndGotoForm(String), the difference being that this method operates on
 interactive tasks with status Active whereas method openTaskAndGotoForm() operates on tasks with status Waiting. 
 
 The taskId is passed into the form associated with the task and can be obtained using system variable $WF_TASK_ID.
taskId - workflow interactive task idcom.ebasetech.ufs.workflow.server.external.WorkflowManagementException - if there is some problem with invoking the operation on the underlying workflow objects. This
                                   could be, for example, a request to transition the state in a disallowed manner.com.ebasetech.ufs.kernel.FormException - if there is a database problem with the underlying persistence framework such as not
                                   being able to find a requested object, or if there is a problem starting the form associated with the taskcom.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some
                                   other processor in the clustercom.ebasetech.ufs.workflow.security.WorkflowSecurityException - if the caller is not allowed to access the workflow api openTask() methodopenTaskAndGotoForm(String, String)java.lang.String openJob(java.lang.String processName,
                         java.util.Map<java.lang.String,java.lang.Object> parameters)
                  throws com.ebasetech.ufs.workflow.server.external.WorkflowManagementException,
                         com.ebasetech.ufs.utility.ConcurrentUpdateException,
                         com.ebasetech.ufs.workflow.security.WorkflowSecurityException,
                         com.ebasetech.ufs.workflow.server.api.WorkflowServerUnavailableException,
                         com.ebasetech.ufs.kernel.FormException
openJob(processName, parameters, null, null).processName - the name of the workflow processparameters - a Map of key/value pairs where key is a process attribute name and value is the process attribute value. 
 Null can be specified to indicate that there are no parameters.
 All passed process attributes must be declared as in parameters for the workflow process.com.ebasetech.ufs.workflow.server.external.WorkflowManagementException - if there is some problem with invoking the operation on the underlying workflow objects. This
                                   could be, for example, a request to transition the state in a disallowed manner.com.ebasetech.ufs.kernel.FormException - if there is a database problem with the underlying persistence framework such as not
                                   being able to find a requested objectcom.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some
                                   other processor in the clustercom.ebasetech.ufs.workflow.security.WorkflowSecurityException - if the caller is not authorisedcom.ebasetech.ufs.workflow.server.api.WorkflowServerUnavailableExceptionopenJob(String, Map, String, String), 
openJobAndCompleteFirstTask(String, String, String, String, String)java.lang.String openJob(java.lang.String processName,
                         java.util.Map<java.lang.String,java.lang.Object> parameters,
                         java.lang.String owner,
                         java.lang.String reason)
                  throws com.ebasetech.ufs.workflow.server.external.WorkflowManagementException,
                         com.ebasetech.ufs.utility.ConcurrentUpdateException,
                         com.ebasetech.ufs.workflow.security.WorkflowSecurityException,
                         com.ebasetech.ufs.workflow.server.api.WorkflowServerUnavailableException,
                         com.ebasetech.ufs.kernel.FormException
processName and passes any parameters to the new job as process
 attribute values. All passed process attributes must be declared as in parameters for the workflow process.
 
 See also method openJobAndCompleteFirstTask(String, String, String, String, String) for an alternative way of opening
 a new workflow job, and including the opening task as part of the process.
 Null can be specified to indicate that there are no parameters.
 All passed process attributes must be declared as in parameters for the workflow process.
 
Javascript example:
 var parms = {};
 parms.LOAN_ID = fields.LOAN_ID.value;
 parms.LOAN_TYPE = fields.LOAN_TYPE.value;
 var jobid = system.workflow.openJob("LOAN_APPLICATION", parms, null, "Application from public");
 processName - the name of the workflow processparameters - a Map of key/value pairs where key is a process attribute name and value is the process attribute  value.owner - the job owner or nullreason - optional reason text, this is added to the audit trail of the workflow jobcom.ebasetech.ufs.workflow.server.external.WorkflowManagementException - if there is some problem with invoking the operation on the underlying workflow objects. This
                                   could be, for example, a request to transition the state in a disallowed manner.com.ebasetech.ufs.kernel.FormException - if there is a database problem with the underlying persistence framework such as not
                                   being able to find a requested objectcom.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some
                                   other processor in the clustercom.ebasetech.ufs.workflow.security.WorkflowSecurityException - if the caller is not authorisedcom.ebasetech.ufs.workflow.server.api.WorkflowServerUnavailableExceptionopenJobAndCompleteFirstTask(String, String, String, String, String)java.lang.String openJobAndCompleteFirstTask(java.lang.String processName,
                                             java.lang.String firstTaskId)
                                      throws com.ebasetech.ufs.workflow.server.external.WorkflowManagementException,
                                             com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                             com.ebasetech.ufs.workflow.security.WorkflowSecurityException,
                                             com.ebasetech.ufs.workflow.server.api.WorkflowServerUnavailableException,
                                             com.ebasetech.ufs.kernel.FormException
openJobAndCompleteFirstTask(processName, firstTaskId, null, null, null).processName - the name of the workflow processfirstTaskId - the name of the first task nodecom.ebasetech.ufs.workflow.server.external.WorkflowManagementException - if there is some problem with invoking the operation on the underlying workflow objects. This
                                   could be, for example, a request to transition the state in a disallowed manner.com.ebasetech.ufs.kernel.FormException - if there is a database problem with the underlying persistence framework such as not
                                   being able to find a requested objectcom.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some
                                   other processor in the clustercom.ebasetech.ufs.workflow.security.WorkflowSecurityException - if the caller is not authorisedcom.ebasetech.ufs.workflow.server.api.WorkflowServerUnavailableExceptionopenJob(String, Map, String, String), 
openJobAndCompleteFirstTask(String, String, String, String, String)java.lang.String openJobAndCompleteFirstTask(java.lang.String processName,
                                             java.lang.String firstTaskId,
                                             java.lang.String completionState,
                                             java.lang.String owner,
                                             java.lang.String reason)
                                      throws com.ebasetech.ufs.workflow.server.external.WorkflowManagementException,
                                             com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                             com.ebasetech.ufs.workflow.security.WorkflowSecurityException,
                                             com.ebasetech.ufs.workflow.server.api.WorkflowServerUnavailableException,
                                             com.ebasetech.ufs.kernel.FormException
processName and completes the first task designated 
 by firstTaskId with completion state completionState. 
 Any parameters declared as workflow out parameters for the current form are passed into the workflow job.
 
 This method differs from method openJob(String, Map, String, String) in that this method allows the form that opens the
 job to be included as part of the workflow process. This is useful when there is a need to assign a subsequent task to the person
 who submitted the initial request, or there is a need to branch back to the initial task within the process logic.
 When this method is used, the first task must have an assignment of either Public or Job Opener.
 
 Note that parameters are passed into this method by declaring them as workflow out parameters on the invoking form i.e. these
 are task level parameters.
 This is in contrast to method openJob(String, Map, String, String) where parameters are passed by declaring them as 
 in parameters for the workflow process i.e. these are process level parameters.
processName - the name of the workflow processfirstTaskId - the name of the first task nodecompletionState - the completion state for the first task. If null, the default completion state of COMPLETED is used.owner - the job owner or nullreason - optional reason text, this is added to the audit trail of the workflow jobcom.ebasetech.ufs.workflow.server.external.WorkflowManagementException - if there is some problem with invoking the operation on the underlying workflow objects. This
                                   could be, for example, a request to transition the state in a disallowed manner.com.ebasetech.ufs.kernel.FormException - if there is a database problem with the underlying persistence framework such as not
                                   being able to find a requested objectcom.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some
                                   other processor in the clustercom.ebasetech.ufs.workflow.security.WorkflowSecurityException - if the caller is not authorisedcom.ebasetech.ufs.workflow.server.api.WorkflowServerUnavailableExceptionopenJob(String, Map, String, String)void completeTask()
           throws com.ebasetech.ufs.kernel.FormException,
                  com.ebasetech.ufs.workflow.server.external.WorkflowManagementException,
                  com.ebasetech.ufs.utility.ConcurrentUpdateException,
                  com.ebasetech.ufs.workflow.security.WorkflowSecurityException
completeTask(null, null).com.ebasetech.ufs.workflow.server.external.WorkflowManagementException - if there is some problem with invoking the operation on the underlying workflow objects. This
                                   could be, for example, a request to transition the state in a disallowed manner.com.ebasetech.ufs.kernel.FormException - if there is a database problem with the underlying persistence framework such as not
                                   being able to find a requested objectcom.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some
                                   other processor in the clustercom.ebasetech.ufs.workflow.security.WorkflowSecurityException - if the caller is not authorisedcompleteTask(String, String)void completeTask(java.lang.String completionState,
                  java.lang.String reason)
           throws com.ebasetech.ufs.kernel.FormException,
                  com.ebasetech.ufs.workflow.server.external.WorkflowManagementException,
                  com.ebasetech.ufs.utility.ConcurrentUpdateException,
                  com.ebasetech.ufs.workflow.security.WorkflowSecurityException
Completed. This method can only be called from the form which is being completed.completionState - the completion state. If null, the default completion state of COMPLETED is used.reason - optional reason text, this is added to the audit trail of the workflow jobcom.ebasetech.ufs.workflow.server.external.WorkflowManagementException - if there is some problem with invoking the operation on the underlying workflow objects. This
                                   could be, for example, a request to transition the state in a disallowed manner.com.ebasetech.ufs.kernel.FormException - if there is a database problem with the underlying persistence framework such as not
                                   being able to find a requested objectcom.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some
                                   other processor in the clustercom.ebasetech.ufs.workflow.security.WorkflowSecurityException - if the caller is not authorisedWorkflowManagement getApi()
WorkflowManagment object representing the API for the workflow server.WorkflowManagement