blob: 2be0a7df471231a0fceb184694ba581186a3d83c [file] [log] [blame]
/*
* Copyright (c) 2005, 2011 IBM Corporation, Embarcadero Technologies, CEA, 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
* Kenn Hussey (Embarcadero Technologies) - 205188
* Kenn Hussey (CEA) - 327039
*
* $Id: SendObjectAction.java,v 1.9 2008/01/09 18:56:02 khussey Exp $
*/
package org.eclipse.uml2.uml;
import org.eclipse.emf.ecore.EClass;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Send Object Action</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* A send object action is an action that transmits an object to the target object, where it may invoke behavior such as the firing of state machine transitions or the execution of an activity. The value of the object is available to the execution of invoked behaviors. The requestor continues execution immediately. Any reply message is ignored and is not transmitted to the requestor.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.uml2.uml.SendObjectAction#getRequest <em>Request</em>}</li>
* <li>{@link org.eclipse.uml2.uml.SendObjectAction#getTarget <em>Target</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.uml2.uml.UMLPackage#getSendObjectAction()
* @model
* @generated
*/
public interface SendObjectAction
extends InvocationAction {
/**
* Returns the value of the '<em><b>Target</b></em>' containment reference.
* <p>
* This feature subsets the following features:
* <ul>
* <li>'{@link org.eclipse.uml2.uml.Action#getInputs() <em>Input</em>}'</li>
* </ul>
* </p>
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The target object to which the object is sent.
* <!-- end-model-doc -->
* @return the value of the '<em>Target</em>' containment reference.
* @see #setTarget(InputPin)
* @see org.eclipse.uml2.uml.UMLPackage#getSendObjectAction_Target()
* @model containment="true" resolveProxies="true" required="true" ordered="false"
* @generated
*/
InputPin getTarget();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.SendObjectAction#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 new {@link org.eclipse.uml2.uml.InputPin}, with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', and sets the '<em><b>Target</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name The '<em><b>Name</b></em>' for the new {@link org.eclipse.uml2.uml.InputPin}, or <code>null</code>.
* @param type The '<em><b>Type</b></em>' for the new {@link org.eclipse.uml2.uml.InputPin}, or <code>null</code>.
* @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.InputPin} to create.
* @return The new {@link org.eclipse.uml2.uml.InputPin}.
* @see #getTarget()
* @generated
*/
InputPin createTarget(String name, Type type, EClass eClass);
/**
* Creates a new {@link org.eclipse.uml2.uml.InputPin},with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', and sets the '<em><b>Target</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name The '<em><b>Name</b></em>' for the new {@link org.eclipse.uml2.uml.InputPin}, or <code>null</code>.
* @param type The '<em><b>Type</b></em>' for the new {@link org.eclipse.uml2.uml.InputPin}, or <code>null</code>.
* @return The new {@link org.eclipse.uml2.uml.InputPin}.
* @see #getTarget()
* @generated
*/
InputPin createTarget(String name, Type type);
/**
* Returns the value of the '<em><b>Request</b></em>' containment reference.
* <p>
* This feature redefines the following features:
* <ul>
* <li>'{@link org.eclipse.uml2.uml.InvocationAction#getArguments() <em>Argument</em>}'</li>
* </ul>
* </p>
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The request object, which is transmitted to the target object. The object may be copied in transmission, so identity might not be preserved.
* <!-- end-model-doc -->
* @return the value of the '<em>Request</em>' containment reference.
* @see #setRequest(InputPin)
* @see org.eclipse.uml2.uml.UMLPackage#getSendObjectAction_Request()
* @model containment="true" resolveProxies="true" required="true" ordered="false"
* @generated
*/
InputPin getRequest();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.SendObjectAction#getRequest <em>Request</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Request</em>' containment reference.
* @see #getRequest()
* @generated
*/
void setRequest(InputPin value);
/**
* Creates a new {@link org.eclipse.uml2.uml.InputPin}, with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', and sets the '<em><b>Request</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name The '<em><b>Name</b></em>' for the new {@link org.eclipse.uml2.uml.InputPin}, or <code>null</code>.
* @param type The '<em><b>Type</b></em>' for the new {@link org.eclipse.uml2.uml.InputPin}, or <code>null</code>.
* @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.InputPin} to create.
* @return The new {@link org.eclipse.uml2.uml.InputPin}.
* @see #getRequest()
* @generated
*/
InputPin createRequest(String name, Type type, EClass eClass);
/**
* Creates a new {@link org.eclipse.uml2.uml.InputPin},with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', and sets the '<em><b>Request</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name The '<em><b>Name</b></em>' for the new {@link org.eclipse.uml2.uml.InputPin}, or <code>null</code>.
* @param type The '<em><b>Type</b></em>' for the new {@link org.eclipse.uml2.uml.InputPin}, or <code>null</code>.
* @return The new {@link org.eclipse.uml2.uml.InputPin}.
* @see #getRequest()
* @generated
*/
InputPin createRequest(String name, Type type);
} // SendObjectAction