1
2
3
4
5
6 package net.kwfgrid.gwui.graphview;
7
8 import java.util.Iterator;
9
10 /***
11 A configurable director for the conversion of a WorkflowGraph. This is the "director" part of the builder design pattern.
12 */
13 public class ConversionDirector {
14 private WorkflowGraph _graph;
15 private Iterator _iterator;
16 private WorkflowGraphConverter _converter;
17
18 /***
19 Constructor.
20 @param graph The graph to convert.
21 @param converter The converter.
22 @param iterator The iterator to be used.
23 */
24 public ConversionDirector(WorkflowGraph graph, WorkflowGraphConverter converter, Iterator iterator) {
25 _graph = graph;
26 _converter = converter;
27 _iterator = iterator;
28 }
29
30 /***
31 Run the conversion process.
32 */
33 public void build() {
34 _converter.convertGraph(_graph);
35 while(_iterator.hasNext()) {
36 Object next = _iterator.next();
37 if (next instanceof ReadEdge) {
38 _converter.convertEdge((ReadEdge)next);
39 } else if (next instanceof InEdge) {
40 _converter.convertEdge((InEdge)next);
41 } else if (next instanceof OutEdge) {
42 _converter.convertEdge((OutEdge)next);
43 } else if (next instanceof PlaceNode) {
44 _converter.convertNode((PlaceNode)next);
45 } else if (next instanceof TransitionNode) {
46 _converter.convertNode((TransitionNode)next);
47 }
48 }
49 }
50 }