View Javadoc

1   /*
2    * $Id: BPELElement.java,v 1.1 2004/12/15 14:18:10 patforna Exp $
3    *
4    * Copyright (c) 2004 Patric Fornasier, Pawel Kowalski
5    * Berne University of Applied Sciences
6    * School of Engineering and Information Technology
7    * All rights reserved.
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  }