blob: 8a9cd11feb6616e10dcf15c60ef00ca165a891c8 [file] [log] [blame]
/*
* Copyright (c) 2003, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM - initial API and implementation
*
* $Id: CallOperationAction.java,v 1.7 2005/06/15 20:06:01 khussey Exp $
*/
package org.eclipse.uml2;
import org.eclipse.emf.ecore.EClass;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Call Operation Action</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* CallOperationAction is an action that transmits an operation call request to the target object, where it may cause the invocation of associated behavior. The argument values of the action are available to the execution of the invoked behavior. If the action is marked synchronous, the execution of the call operation action waits until the execution of the invoked behavior completes and a reply transmission is returned to the caller; otherwise execution of the action is complete when the invocation of the operation is established and the execution of the invoked operation proceeds concurrently with the execution of the calling activity. Any values returned as part of the reply transmission are put on the result output pins of the call operation action.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.uml2.CallOperationAction#getOperation <em>Operation</em>}</li>
* <li>{@link org.eclipse.uml2.CallOperationAction#getTarget <em>Target</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.uml2.UML2Package#getCallOperationAction()
* @model
* @generated
*/
public interface CallOperationAction extends CallAction{
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
String copyright = "Copyright (c) IBM Corporation and others."; //$NON-NLS-1$
/**
* Returns the value of the '<em><b>Operation</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Operation</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The operation to be invoked by the action execution
* <!-- end-model-doc -->
* @return the value of the '<em>Operation</em>' reference.
* @see #setOperation(Operation)
* @see org.eclipse.uml2.UML2Package#getCallOperationAction_Operation()
* @model required="true"
* @generated
*/
Operation getOperation();
/**
* Sets the value of the '{@link org.eclipse.uml2.CallOperationAction#getOperation <em>Operation</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Operation</em>' reference.
* @see #getOperation()
* @generated
*/
void setOperation(Operation value);
/**
* Returns the value of the '<em><b>Target</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Target</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The target object to which the request is sent. The classifier of the target object is used to dynamically determine a behavior to invoke. This object constitutes the context of the execution of the operation.
* <!-- end-model-doc -->
* @return the value of the '<em>Target</em>' containment reference.
* @see #setTarget(InputPin)
* @see org.eclipse.uml2.UML2Package#getCallOperationAction_Target()
* @model containment="true" required="true"
* @generated
*/
InputPin getTarget();
/**
* Sets the value of the '{@link org.eclipse.uml2.CallOperationAction#getTarget <em>Target</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Target</em>' containment reference.
* @see #getTarget()
* @generated
*/
void setTarget(InputPin value);
/**
* Creates a {@link org.eclipse.uml2.InputPin} and sets the '<em><b>Target</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param eClass The Ecore class of the {@link org.eclipse.uml2.InputPin} to create.
* @return The new {@link org.eclipse.uml2.InputPin}.
* @see #getTarget()
* @generated
*/
InputPin createTarget(EClass eClass);
/**
* Creates a {@link org.eclipse.uml2.InputPin} and sets the '<em><b>Target</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return The new {@link org.eclipse.uml2.InputPin}.
* @see #getTarget()
* @generated
*/
InputPin createTarget();
} // CallOperationAction