/**
 * <copyright>
 * </copyright>
 *
 * $Id: OpaqueActivity.java,v 1.3 2009/04/14 10:50:37 smoser Exp $
 */
package org.eclipse.bpel.model;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Opaque Activity</b></em>'.
 * <!-- end-user-doc -->
 *
 * <!-- begin-model-doc -->
 * Hides detailed information of an existing executable activity. Using an Opaque Activity will turn the process into an abstract process.
 * <!-- end-model-doc -->
 *
 *
 * @see org.eclipse.bpel.model.BPELPackage#getOpaqueActivity()
 * @model
 * @generated
 */
public interface OpaqueActivity extends Activity {

} // OpaqueActivity
