1
2
3
4
5
6
7
8
9 package bexee.model;
10
11 import bexee.core.ProcessController;
12 import bexee.core.ProcessInstance;
13
14 /***
15 * This interface is a superinterface for all BPEL elements and activities.
16 *
17 * @version $Revision: 1.1 $, $Date: 2004/12/15 14:18:10 $
18 * @author Patric Fornasier
19 * @author Pawel Kowalski
20 */
21 public interface BPELElement extends AttributeNames {
22
23 /***
24 * Accept a ProcessController and a ProcessInstance. This method enforces
25 * the use of the double-dispach for BPEL elements and activites. Like that
26 * it's possible to avoid tedious, error-prone and long instanceof checking
27 * of elements before processing.
28 *
29 * @param controller
30 * @param instance
31 * @throws Exception
32 */
33 public void accept(ProcessController controller, ProcessInstance instance)
34 throws Exception;
35
36 /***
37 * Accept a BPELElementVisitor which will visit this BPEL element. Enforces
38 * double-dispatch.
39 *
40 * @param elementVisitor
41 */
42 public void accept(BPELElementVisitor elementVisitor);
43
44 }