Java Reference
In-Depth Information
returns a collection of all available processes, and
getProcess()
which returns the
process manager for a given process. In addition there are two
Add()
methods to
populate the catalogue; they add process definitions or a collections.
package
WfEngine;
import
java.util.*;
import
ProcessDefinition.WfProcessDefinition;
import
WorkflowModel.WfProcessMgr;
import
WfBase.BaseException;
public class
Catalog {
// contains the collection of processes, accessible by name
private
Map processes
#
new
Hashtable();
// return the collection of all processes
public
Collection getAll(){
return
processes.values();
}
// return the manager corresponding to the process with
// the given name
public
WfProcessMgr getProcess(String name){
return
(WfProcessMgr)processes.get(name);
}
// add the manager for the given process definition
public void
Add(WfProcessDefinition process)
throws
BaseException {
WfProcessMgr mgr
#
new
WfProcessMgrImpl(process);
processes.put(mgr.name(),mgr);
}
// add the managers for the collection of process
// definitions
public void
Add(Collection definitions)
throws
BaseException {
Iterator it
#
definitions.iterator();
while
(it.hasNext()){
Add((WfProcessDefinition)it.next());
}
}
}
The instantiation of processes is mediated by the interface
WfProcessMgr
through the
create_process()
method. In addition there are methods to
browse all the process instances created by the process manager.
package
WorkflowModel;
import
WfBase.BaseException;
public interface
WfProcessMgr {
int
how_many_processes ()
throws
WfBase.BaseException;
WfProcessIterator get_iterator_process ()
throws
BaseException;