/** * <copyright> * </copyright> * * $Id$ */ package orgomg.cwm.objectmodel.behavioral; import org.eclipse.emf.common.util.EList; /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Operation</b></em>'. * <!-- end-user-doc --> * * <!-- begin-model-doc --> * Operation is a service that can be requested from an object to effect behavior. An Operation has a signature, which describes the parameters that are possible (including possible return values). * * In the metamodel, an Operation is a BehavioralFeature that can be applied to instances of the Classifier that contains the Operation. * * Operation is the specification, while Method is the implementation. * <!-- end-model-doc --> * * <p> * The following features are supported: * <ul> * <li>{@link orgomg.cwm.objectmodel.behavioral.Operation#isIsAbstract <em>Is Abstract</em>}</li> * <li>{@link orgomg.cwm.objectmodel.behavioral.Operation#getCallAction <em>Call Action</em>}</li> * <li>{@link orgomg.cwm.objectmodel.behavioral.Operation#getMethod <em>Method</em>}</li> * </ul> * </p> * * @see orgomg.cwm.objectmodel.behavioral.BehavioralPackage#getOperation() * @model * @generated */ public interface Operation extends BehavioralFeature { /** * Returns the value of the '<em><b>Is Abstract</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * If true, then the Operation does not have an implementation, and one must be supplied by a descendant. If false, the Operation must have an implementation in the class or inherited from an ancestor. * <!-- end-model-doc --> * @return the value of the '<em>Is Abstract</em>' attribute. * @see #setIsAbstract(boolean) * @see orgomg.cwm.objectmodel.behavioral.BehavioralPackage#getOperation_IsAbstract() * @model dataType="orgomg.cwm.objectmodel.core.Boolean" * @generated */ boolean isIsAbstract(); /** * Sets the value of the '{@link orgomg.cwm.objectmodel.behavioral.Operation#isIsAbstract <em>Is Abstract</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Is Abstract</em>' attribute. * @see #isIsAbstract() * @generated */ void setIsAbstract(boolean value); /** * Returns the value of the '<em><b>Call Action</b></em>' reference list. * The list contents are of type {@link orgomg.cwm.objectmodel.behavioral.CallAction}. * It is bidirectional and its opposite is '{@link orgomg.cwm.objectmodel.behavioral.CallAction#getOperation <em>Operation</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * Identifies the CallAction instance representing a particular invocation of an Operation. * <!-- end-model-doc --> * @return the value of the '<em>Call Action</em>' reference list. * @see orgomg.cwm.objectmodel.behavioral.BehavioralPackage#getOperation_CallAction() * @see orgomg.cwm.objectmodel.behavioral.CallAction#getOperation * @model opposite="operation" * @generated */ EList<CallAction> getCallAction(); /** * Returns the value of the '<em><b>Method</b></em>' reference list. * The list contents are of type {@link orgomg.cwm.objectmodel.behavioral.Method}. * It is bidirectional and its opposite is '{@link orgomg.cwm.objectmodel.behavioral.Method#getSpecification <em>Specification</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * Identifies the set of Methods defined for an Operation. * <!-- end-model-doc --> * @return the value of the '<em>Method</em>' reference list. * @see orgomg.cwm.objectmodel.behavioral.BehavioralPackage#getOperation_Method() * @see orgomg.cwm.objectmodel.behavioral.Method#getSpecification * @model opposite="specification" * @generated */ EList<Method> getMethod(); } // Operation