1
2
3
4
5
6
7
8
9 package bexee.model;
10
11 import bexee.model.activity.Activity;
12 import bexee.model.activity.Assign;
13 import bexee.model.activity.Compensate;
14 import bexee.model.activity.Empty;
15 import bexee.model.activity.Flow;
16 import bexee.model.activity.Invoke;
17 import bexee.model.activity.Receive;
18 import bexee.model.activity.Reply;
19 import bexee.model.activity.Scope;
20 import bexee.model.activity.Sequence;
21 import bexee.model.activity.Terminate;
22 import bexee.model.activity.Throw;
23 import bexee.model.elements.Copy;
24 import bexee.model.elements.Correlation;
25 import bexee.model.elements.CorrelationPattern;
26 import bexee.model.elements.Link;
27 import bexee.model.elements.PartnerLink;
28 import bexee.model.elements.PartnerLinks;
29 import bexee.model.elements.Variable;
30 import bexee.model.elements.Variables;
31 import bexee.model.process.Process;
32
33 /***
34 * This is a <code>Visitor</code> interface for BPEL process traversal. Every
35 * xml element of the BPEL description is a <code>BPELElement</code> instance
36 * and can therefore be visited with classes implementing this interface.
37 *
38 * @version $Revision: 1.1 $, $Date: 2004/12/15 14:18:10 $
39 * @author Patric Fornasier
40 * @author Pawel Kowalski
41 */
42 public interface BPELElementVisitor {
43
44 //***************************************************/
45
46 //***************************************************/
47
48 /***
49 * Visit a <code>Process</code> <code>BPELElement</code>.
50 *
51 * @param process
52 */
53 void visit(Process process);
54
55 //***************************************************/
56
57 //***************************************************/
58
59 /***
60 * Visit an <code>Assign</code> <code>BPELElement</code>.
61 *
62 * @param sssign
63 */
64 void visit(Assign sssign);
65
66 /***
67 * Visit a <code>Compensate</code> <code>BPELElement</code>.
68 *
69 * @param compensate
70 */
71 void visit(Compensate compensate);
72
73 /***
74 * Visit an <code>Empty</code> <code>BPELElement</code>.
75 *
76 * @param empty
77 */
78 void visit(Empty empty);
79
80 /***
81 * Visit a <code>Flow</code> <code>BPELElement</code>.
82 *
83 * @param flow
84 */
85 void visit(Flow flow);
86
87 /***
88 * Visit an <code>Invoke</code> <code>BPELElement</code>.
89 *
90 * @param invoke
91 */
92 void visit(Invoke invoke);
93
94 /***
95 * Visit a <code>Receive</code> <code>BPELElement</code>.
96 *
97 * @param Receive
98 */
99 void visit(Receive Receive);
100
101 /***
102 * Visit a <code>Reply</code> <code>BPELElement</code>.
103 *
104 * @param reply
105 */
106 void visit(Reply reply);
107
108 /***
109 * Visit a <code>Scope</code> <code>BPELElement</code>.
110 *
111 * @param scope
112 */
113 void visit(Scope scope);
114
115 /***
116 * Visit a <code>Sequence</code> <code>BPELElement</code>.
117 *
118 * @param sequence
119 */
120 void visit(Sequence sequence);
121
122 /***
123 * Visit a <code>Terminate</code> <code>BPELElement</code>.
124 *
125 * @param terminate
126 */
127 void visit(Terminate terminate);
128
129 /***
130 * Visit a <code>Throw</code> <code>BPELElement</code>.
131 *
132 * @param bexeethrow
133 */
134 void visit(Throw bexeethrow);
135
136 /***
137 * Visit an <code>Activity</code> <code>BPELElement</code>.
138 *
139 * @param activity
140 */
141 void visit(Activity activity);
142
143 //**************************************************/
144
145 //**************************************************/
146
147 /***
148 * Visit a <code>Link</code> <code>BPELElement</code>.
149 *
150 * @param link
151 */
152 void visit(Link link);
153
154 /***
155 * Visit a <code>PartnerLink</code> <code>BPELElement</code>.
156 *
157 * @param partnerLink
158 */
159 void visit(PartnerLink partnerLink);
160
161 /***
162 * Visit a <code>Variable</code> <code>BPELElement</code>.
163 *
164 * @param variable
165 */
166 void visit(Variable variable);
167
168 /***
169 * Visit a <code>Variables</code> <code>BPELElement</code>.
170 *
171 * @param variables
172 */
173 void visit(Variables variables);
174
175 /***
176 * Visit a <code>PartnerLinks</code> <code>BPELElement</code>.
177 *
178 * @param partnerLinks
179 */
180 void visit(PartnerLinks partnerLinks);
181
182 /***
183 * Visit a <code>Correlation</code> <code>BPELElement</code>.
184 *
185 * @param correlation
186 */
187 void visit(Correlation correlation);
188
189 /***
190 * Visit a <code>CorrelationPattern</code> <code>BPELElement</code>.
191 *
192 * @param correlationPattern
193 */
194 void visit(CorrelationPattern correlationPattern);
195
196 /***
197 * Visit a <code>Copy</code> <code>BPELElement</code>.
198 *
199 * @param copy
200 */
201 void visit(Copy copy);
202
203 }