01: /*
02: * $Id: BPELElement.java,v 1.10 2004/12/09 12:34:31 kowap Exp $
03: *
04: * Copyright (c) 2004 Patric Fornasier, Pawel Kowalski
05: * Berne University of Applied Sciences
06: * School of Engineering and Information Technology
07: * All rights reserved.
08: */
09: 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.10 $, $Date: 2004/12/09 12:34:31 $
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,
34: ProcessInstance instance) 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: }
|