wt.workflow.engine
Interface WfEngineService

All Known Implementing Classes:
StandardWfEngineService

public interface WfEngineService

This class WfEngineService represents the client accessible API to the workflow engine. It contains, for example, methods to create and start processes.

Supported API: true

Extendable: false


Method Summary
 void changeEventConfiguration(WfProcess process, wt.workflow.engine.WfEventConfiguration evt_cfg)
          Changes the process' event configuration to the one passed as argument.
 WfExecutionObject changeState(WfExecutionObject exec_object, wt.workflow.engine.WfTransition transition)
          Changes the state of a process or activity.
 wt.workflow.engine.WfActivity complete(wt.workflow.engine.WfActivity activity, Vector selected_events)
          Completes activity and generates events.
 WfProcess createAdHocProcess(WfTemplateObject template, Object team_spec)
          Deprecated. use method with WTContainerRef
 WfProcess createAdHocProcess(WfTemplateObject template, Object team_spec, WTContainerRef context_ref)
          Creates a process given a template object that can be a process template, a block template or an activity template.
 WfProcess createProcess(wt.workflow.definer.WfProcessDefinition template, Object team_spec)
          Deprecated. use method with WTContainerRef
 WfProcess createProcess(wt.workflow.definer.WfProcessDefinition template, Object team_spec, WTContainerRef context_ref)
          Creates and returns a process from the given template, associated team specification and a reference to the context (@link wt.inf.container.WTContainerRef} where the process is to be created.
 wt.workflow.engine.WfContainer createStartAdHocProcess(wt.workflow.engine.WfAdHocActivity requester, wt.workflow.definer.WfContainerTemplate template)
          Creates and starts an adh hoc process given the ad hoc activity and the template from which the process should be instantiated.
 void deleteClosedProcesses(SearchCondition condition)
          Delete all closed processes that meet the search condition passed as argument.
 void deleteProcess(WfProcess process)
          Deletes process passed as argument.
 Enumeration getAssociatedProcesses(Persistable object, wt.workflow.engine.WfState state)
          Deprecated. use method with WTContainerRef argument.
 QueryResult getAssociatedProcesses(Persistable object, wt.workflow.engine.WfState state, WTContainerRef context_ref)
          Returns all process instances associated with the object passed as argument that are in a given state in the passed WTContainer.
 Enumeration getHistory(wt.workflow.engine.WfEventAuditType eventType)
          Returns a list of all events of a given type associated with execution objects.
 Enumeration getHistory(WfExecutionObject obj, wt.workflow.engine.WfEventAuditType eventType)
          Returns a list of all events associated with a given execution object of a given type.
 Enumeration getOverdueActivities(WfProcess process)
          Returns all overdue activities contained in a given process.
 Enumeration getOverdueProcesses()
          Deprecated. use method with WTContainerRef as argument.
 QueryResult getOverdueProcesses(WTContainerRef context_ref)
          Returns all overdue processes in a given WTContainer.
 Enumeration getProcessConnectors(wt.workflow.engine.WfContainer container)
          Returns all connectors contained in a given process.
 Enumeration getProcesses(wt.workflow.definer.WfProcessTemplate template, wt.workflow.engine.WfState state)
          Returns all processes instantianted from a given template that are in a given state.
 Vector getProcessRoles(WfProcess process)
          Answer a vector of role objects declared by the process

Supported API: true
 Enumeration getProcessSteps(wt.workflow.engine.WfContainer container, wt.workflow.engine.WfState state)
          Returns all instantiated process steps in a given state.
 String getProjectName(wt.workflow.engine.WfContainer container)
          Returns the name of the project associated with the given process.
 URL getRelatedProcessesURL(WTObject obj)
          Returns a URL to view associated workflow processes given a business object.
 WTPrincipal getResponsible(WfExecutionObject exec_obj)
          Returns principal responsible for the execution object.
 Enumeration getResponsibleParticipants(WfExecutionObject exec_obj)
          Returns an Enumeration of principal references who are responsible for the execution object.
 String getTeamName(wt.workflow.engine.WfContainer container)
          Returns the name of the team associated with the given process.
 Folder getWfFolder(String folder_path, WTObject pbo, WTContainerRef context_ref)
          Gets folder given its relative path, associated business object and the context.
 WfProcess startProcess(WfProcess process, ProcessData input, long priority)
          Starts a process with given input data and priority.
 WfProcess startProcess(WfProcess process, ProcessData input, long priority, Timestamp start_time, Timestamp deadline)
          Start a process given, in addition to the input data, absolute start time and deadline.
 WfProcess startProcessImmediate(WfProcess process, ProcessData input, long priority)
          Starts a process with given input data and priority without creation of new thread or queue entries.
 void terminateObjectsRunningWorkflows(Persistable object)
          if terminateObjectsRunningWorkflows=true, terminate all the objects running processes.
 void terminateObjectsRunningWorkflows(WTCollection collection)
          if terminateObjectsRunningWorkflows=true, terminate all the objects running processes.
 

Method Detail

startProcess

WfProcess startProcess(WfProcess process,
                       ProcessData input,
                       long priority)
                       throws WTException
Starts a process with given input data and priority. Returns started process.

Supported API: true

Parameters:
process -
input -
priority -
Returns:
WfProcess
Throws:
WTException

getProcesses

Enumeration getProcesses(wt.workflow.definer.WfProcessTemplate template,
                         wt.workflow.engine.WfState state)
                         throws WTException
Returns all processes instantianted from a given template that are in a given state. For example, one can ask for all CLOSED processes (irrespective of its substates). If state is null all processes are returned irrespective of their states.

Supported API: true

Parameters:
template -
state -
Returns:
Enumeration
Throws:
WTException

getProcessSteps

Enumeration getProcessSteps(wt.workflow.engine.WfContainer container,
                            wt.workflow.engine.WfState state)
                            throws WTException
Returns all instantiated process steps in a given state. If state is null all steps are returned irrespective of their states.

Supported API: true

Parameters:
container -
state -
Returns:
Enumeration
Throws:
WTException

getProcessConnectors

Enumeration getProcessConnectors(wt.workflow.engine.WfContainer container)
                                 throws WTException
Returns all connectors contained in a given process.

Supported API: true

Parameters:
container -
Returns:
Enumeration
Throws:
WTException

getProcessRoles

Vector getProcessRoles(WfProcess process)
                       throws WTException
Answer a vector of role objects declared by the process

Supported API: true

Parameters:
process -
Returns:
Vector
Throws:
WTException

changeState

WfExecutionObject changeState(WfExecutionObject exec_object,
                              wt.workflow.engine.WfTransition transition)
                              throws WTException
Changes the state of a process or activity. Throws exception if transition is not allowed (for example, trying to stop a closed object).

Supported API: true

Parameters:
exec_object -
transition -
Returns:
WfExecutionObject
Throws:
WTException

getHistory

Enumeration getHistory(WfExecutionObject obj,
                       wt.workflow.engine.WfEventAuditType eventType)
                       throws WTException
Returns a list of all events associated with a given execution object of a given type. It the type is "null" returns of events associated with the object.

Supported API: true

Parameters:
obj -
eventType -
Returns:
Enumeration
Throws:
WTException

deleteClosedProcesses

void deleteClosedProcesses(SearchCondition condition)
                           throws WTException
Delete all closed processes that meet the search condition passed as argument. Deletes all closed processes if the search condition is "null".

Supported API: true

Parameters:
condition -
Throws:
WTException

getOverdueProcesses

Enumeration getOverdueProcesses()
                                throws WTException
Deprecated. use method with WTContainerRef as argument.

Returns all overdue processes. An overdue process is one that its deadline has passed.

Supported API: true

Returns:
Enumeration
Throws:
WTException

getOverdueActivities

Enumeration getOverdueActivities(WfProcess process)
                                 throws WTException
Returns all overdue activities contained in a given process. An overdue activity is one that its deadline has passed.

Supported API: true

Parameters:
process -
Returns:
Enumeration
Throws:
WTException

complete

wt.workflow.engine.WfActivity complete(wt.workflow.engine.WfActivity activity,
                                       Vector selected_events)
                                       throws WTException
Completes activity and generates events. This method is used to provoke a change of state (transition = COMPLETE) and, at the same time, pass a Vector containing selected user events. If the activity is a manual router (routerType= MANUAL) the event is used to trigger the appropriate successor links; otherwise it is ignored.

Supported API: true

Parameters:
activity -
selected_events -
Returns:
WfActivity
Throws:
WTException

getProjectName

String getProjectName(wt.workflow.engine.WfContainer container)
                      throws WTException
Returns the name of the project associated with the given process. If there is none (as it can be the case of robot activities) or the role holder object doesn't have a name then the method returns 'null'.

Supported API: true

Parameters:
container -
Returns:
String
Throws:
WTException

createProcess

WfProcess createProcess(wt.workflow.definer.WfProcessDefinition template,
                        Object team_spec)
                        throws WTException
Deprecated. use method with WTContainerRef

Creates and returns a process from the given template and associated team specification. If name is null the process name is the same as the template.

A team specification can be one of the following:


getHistory

Enumeration getHistory(wt.workflow.engine.WfEventAuditType eventType)
                       throws WTException
Returns a list of all events of a given type associated with execution objects. It the type is "null" returns of events associated with the object.

Supported API: true

Parameters:
eventType -
Returns:
Enumeration
Throws:
WTException

changeEventConfiguration

void changeEventConfiguration(WfProcess process,
                              wt.workflow.engine.WfEventConfiguration evt_cfg)
                              throws WTException
Changes the process' event configuration to the one passed as argument. All activities' configurations are changed as well.

Supported API: true

Parameters:
process -
evt_cfg -
Throws:
WTException

deleteProcess

void deleteProcess(WfProcess process)
                   throws WTException
Deletes process passed as argument.

Supported API: true

Parameters:
process -
Throws:
WTException

startProcessImmediate

WfProcess startProcessImmediate(WfProcess process,
                                ProcessData input,
                                long priority)
                                throws WTException
Starts a process with given input data and priority without creation of new thread or queue entries. Returns started process.

Supported API: true

Parameters:
process -
input -
priority -
Returns:
WfProcess
Throws:
WTException

createStartAdHocProcess

wt.workflow.engine.WfContainer createStartAdHocProcess(wt.workflow.engine.WfAdHocActivity requester,
                                                       wt.workflow.definer.WfContainerTemplate template)
                                                       throws WTException
Creates and starts an adh hoc process given the ad hoc activity and the template from which the process should be instantiated. The template can be either a process or a block template. Returns the running process.

Supported API: true

Parameters:
requester -
template -
Returns:
WfContainer
Throws:
WTException

startProcess

WfProcess startProcess(WfProcess process,
                       ProcessData input,
                       long priority,
                       Timestamp start_time,
                       Timestamp deadline)
                       throws WTException
Start a process given, in addition to the input data, absolute start time and deadline. The values provided (if not null) supersede the default values calculated using the process template. If any of the values is null then the corresponding default value is used.

Supported API: true

Parameters:
process -
input -
priority -
start_time -
deadline -
Returns:
WfProcess
Throws:
WTException

getResponsible

WTPrincipal getResponsible(WfExecutionObject exec_obj)
                           throws WTException
Returns principal responsible for the execution object. First tries to resolve responsibleRole; if this is null, gets the responsible for the host process. Failing these, it returns the principal of the process creator. If more than one principal is resolved for the responsibleRole, it returns the first role.

Supported API: true

Parameters:
exec_obj -
Returns:
WTPrincipal
Throws:
WTException

getAssociatedProcesses

Enumeration getAssociatedProcesses(Persistable object,
                                   wt.workflow.engine.WfState state)
                                   throws WTException
Deprecated. use method with WTContainerRef argument.

Returns all process instances associated with the object passed as argument that are in a given state. If state is null, all process instances are returned, irrespective of the state.

Supported API: true

Parameters:
object -
state -
Returns:
Enumeration
Throws:
WTException

createAdHocProcess

WfProcess createAdHocProcess(WfTemplateObject template,
                             Object team_spec)
                             throws WTException
Deprecated. use method with WTContainerRef

Creates a process given a template object that can be a process template, a block template or an activity template. If it is a process template, the createProcess method is called; if it is an activity template, a block template is generated and the process generated from it; finally, if it is a block template, the process is generated directly from the block template.

In case it is an activity template, the block template generated has the same name as the activity template as well as variables. The mapping between the block templates and activity templates is a 1-1 mapping based on the variable names. This has the effect that the block template is completely transparent during execution time.

A team specification can be one of the following:


getRelatedProcessesURL

URL getRelatedProcessesURL(WTObject obj)
                           throws WTException
Returns a URL to view associated workflow processes given a business object.

Supported API: true

Parameters:
obj -
Returns:
URL
Throws:
WTException

getResponsibleParticipants

Enumeration getResponsibleParticipants(WfExecutionObject exec_obj)
                                       throws WTException
Returns an Enumeration of principal references who are responsible for the execution object. First tries to resolve responsibleRole; if this is null, gets the principal references responsible for the host process. Failing these, it returns the principal reference for the process creator.

Supported API: true

Parameters:
exec_obj -
Returns:
Enumeration
Throws:
WTException

terminateObjectsRunningWorkflows

void terminateObjectsRunningWorkflows(Persistable object)
                                      throws WTException
if terminateObjectsRunningWorkflows=true, terminate all the objects running processes.

Supported API: true

Parameters:
object - The object for which you wish to terminate the objects running workflows.
Throws:
WTException

terminateObjectsRunningWorkflows

void terminateObjectsRunningWorkflows(WTCollection collection)
                                      throws WTException
if terminateObjectsRunningWorkflows=true, terminate all the objects running processes.

Supported API: true

Parameters:
collection - The collection of objects for which you wish to terminate the running workflows.
Throws:
WTException

createProcess

WfProcess createProcess(wt.workflow.definer.WfProcessDefinition template,
                        Object team_spec,
                        WTContainerRef context_ref)
                        throws WTException
Creates and returns a process from the given template, associated team specification and a reference to the context (@link wt.inf.container.WTContainerRef} where the process is to be created. If name is null the process name is the same as the template.

A team specification can be one of the following:


createAdHocProcess

WfProcess createAdHocProcess(WfTemplateObject template,
                             Object team_spec,
                             WTContainerRef context_ref)
                             throws WTException
Creates a process given a template object that can be a process template, a block template or an activity template. If it is a process template, the createProcess method is called; if it is an activity template, a block template is generated and the process generated from it; finally, if it is a block template, the process is generated directly from the block template.

In case it is an activity template, the block template generated has the same name as the activity template as well as variables. The mapping between the block templates and activity templates is a 1-1 mapping based on the variable names. This has the effect that the block template is completely transparent during execution time.

Supported API: true

Parameters:
template -
team_spec -
context_ref -
Returns:
WfProcess
Throws:
WTException

getTeamName

String getTeamName(wt.workflow.engine.WfContainer container)
                   throws WTException
Returns the name of the team associated with the given process. If there is none (as it can be the case of robot activities) then the method returns 'null'.

Supported API: true

Parameters:
container -
Returns:
String
Throws:
WTException

getAssociatedProcesses

QueryResult getAssociatedProcesses(Persistable object,
                                   wt.workflow.engine.WfState state,
                                   WTContainerRef context_ref)
                                   throws WTException
Returns all process instances associated with the object passed as argument that are in a given state in the passed WTContainer. If state is null, all process instances are returned, irrespective of the state.

Supported API: true

Parameters:
object -
state -
context_ref -
Returns:
QueryResult
Throws:
WTException

getOverdueProcesses

QueryResult getOverdueProcesses(WTContainerRef context_ref)
                                throws WTException
Returns all overdue processes in a given WTContainer. An overdue process is one that its deadline has passed.

Supported API: true

Parameters:
context_ref -
Returns:
QueryResult
Throws:
WTException

getWfFolder

Folder getWfFolder(String folder_path,
                   WTObject pbo,
                   WTContainerRef context_ref)
                   throws WTException
Gets folder given its relative path, associated business object and the context. If folder doesn't exit it is created. The business object may be null but assumes context reference is not null.

Creates workflow folder for a given context. The folder path is also passed as argument. Assumes folder_path of the form:

 /System/Workflows/
 
where forder-name is one of {"NotStarted", "Running", ...}

The folder is created as /System/Workflows/, where is the context's default cabinet.

Supported API: true

Parameters:
folder_path -
pbo -
context_ref -
Returns:
Folder
Throws:
WTException