blob: c3ec5744ef2065addb5dabf520b09b7220bdbe17 [file] [log] [blame]
/*
* Copyright (c) 2005, 2007 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: CallBehaviorAction.java,v 1.4 2007/04/25 17:47:05 khussey Exp $
*/
package org.eclipse.uml2.uml;
import java.util.Map;
import org.eclipse.emf.common.util.DiagnosticChain;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Call Behavior Action</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* A call behavior action is a call action that invokes a behavior directly rather than invoking a behavioral feature that, in turn, results in the invocation of that behavior. The argument values of the action are available to the execution of the invoked behavior. For synchronous calls the execution of the call behavior action waits until the execution of the invoked behavior completes and a result is returned on its output pin. The action completes immediately without a result, if the call is asynchronous. In particular, the invoked behavior may be an activity.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.uml2.uml.CallBehaviorAction#getBehavior <em>Behavior</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.uml2.uml.UMLPackage#getCallBehaviorAction()
* @model
* @generated
*/
public interface CallBehaviorAction
extends CallAction {
/**
* Returns the value of the '<em><b>Behavior</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The invoked behavior. It must be capable of accepting and returning control.
* <!-- end-model-doc -->
* @return the value of the '<em>Behavior</em>' reference.
* @see #setBehavior(Behavior)
* @see org.eclipse.uml2.uml.UMLPackage#getCallBehaviorAction_Behavior()
* @model required="true" ordered="false"
* @generated
*/
Behavior getBehavior();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.CallBehaviorAction#getBehavior <em>Behavior</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Behavior</em>' reference.
* @see #getBehavior()
* @generated
*/
void setBehavior(Behavior value);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The number of argument pins and the number of parameters of the behavior of type in and in-out must be equal.
* true
* @param diagnostics The chain of diagnostics to which problems are to be appended.
* @param context The cache of context-specific information.
* <!-- end-model-doc -->
* @model
* @generated
*/
boolean validateArgumentPinEqualParameter(DiagnosticChain diagnostics,
Map<Object, Object> context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The number of result pins and the number of parameters of the behavior of type return, out, and in-out must be equal.
* true
* @param diagnostics The chain of diagnostics to which problems are to be appended.
* @param context The cache of context-specific information.
* <!-- end-model-doc -->
* @model
* @generated
*/
boolean validateResultPinEqualParameter(DiagnosticChain diagnostics,
Map<Object, Object> context);
} // CallBehaviorAction