/*
* $Id: BPELElement.java,v 1.10 2004/12/09 12:34:31 kowap Exp $
*
* Copyright (c) 2004 Patric Fornasier, Pawel Kowalski
* Berne University of Applied Sciences
* School of Engineering and Information Technology
* All rights reserved.
*/
package bexee.model;
import bexee.core.ProcessController;
import bexee.core.ProcessInstance;
/**
* This interface is a superinterface for all BPEL elements and activities.
*
* @version $Revision: 1.10 $, $Date: 2004/12/09 12:34:31 $
* @author Patric Fornasier
* @author Pawel Kowalski
*/
public interface BPELElement extends AttributeNames {
/**
* Accept a ProcessController and a ProcessInstance. This method enforces
* the use of the double-dispach for BPEL elements and activites. Like that
* it's possible to avoid tedious, error-prone and long instanceof checking
* of elements before processing.
*
* @param controller
* @param instance
* @throws Exception
*/
public void accept(ProcessController controller, ProcessInstance instance)
throws Exception;
/**
* Accept a BPELElementVisitor which will visit this BPEL element. Enforces
* double-dispatch.
*
* @param elementVisitor
*/
public void accept(BPELElementVisitor elementVisitor);
}
|