/* * 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: CallAction.java,v 1.12 2007/10/23 15:54:20 jbruck Exp $ */ package org.eclipse.uml2.uml; import java.util.Map; import org.eclipse.emf.common.util.DiagnosticChain; import org.eclipse.emf.common.util.EList; /** * * A representation of the model object 'Call Action'. * * * * CallAction is an abstract class for actions that invoke behavior and receive return values. * * *
* The following features are supported: *
"true"
.
*
*
*
* If true, the call is synchronous and the caller waits for completion of the invoked behavior.
* If false, the call is asynchronous and the caller proceeds immediately and does not expect a return values.
*
*
* @return the value of the 'Is Synchronous' attribute.
* @see #setIsSynchronous(boolean)
* @see org.eclipse.uml2.uml.UMLPackage#getCallAction_IsSynchronous()
* @model default="true" dataType="org.eclipse.uml2.uml.Boolean" required="true" ordered="false"
* @generated
*/
boolean isSynchronous();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.CallAction#isSynchronous Is Synchronous}' attribute.
*
*
* @param value the new value of the 'Is Synchronous' attribute.
* @see #isSynchronous()
* @generated
*/
void setIsSynchronous(boolean value);
/**
* Returns the value of the 'Result' containment reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.OutputPin}.
* * This feature subsets the following features: *
null
.
* @param type The 'Type' for the new {@link org.eclipse.uml2.uml.OutputPin}, or null
.
* @return The new {@link org.eclipse.uml2.uml.OutputPin}.
* @see #getResults()
* @generated
*/
OutputPin createResult(String name, Type type);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.OutputPin} with the specified 'Name', and 'Type' from the 'Result' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.OutputPin} to retrieve, or null
.
* @param type The 'Type' of the {@link org.eclipse.uml2.uml.OutputPin} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.OutputPin} with the specified 'Name', and 'Type', or null
.
* @see #getResults()
* @generated
*/
OutputPin getResult(String name, Type type);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.OutputPin} with the specified 'Name', and 'Type' from the 'Result' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.OutputPin} to retrieve, or null
.
* @param type The 'Type' of the {@link org.eclipse.uml2.uml.OutputPin} to retrieve, or null
.
* @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
* @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.OutputPin} on demand if not found.
* @return The first {@link org.eclipse.uml2.uml.OutputPin} with the specified 'Name', and 'Type', or null
.
* @see #getResults()
* @generated
*/
OutputPin getResult(String name, Type type, boolean ignoreCase,
boolean createOnDemand);
/**
*
*
*
* Only synchronous call actions can have result pins.
* true
* @param diagnostics The chain of diagnostics to which problems are to be appended.
* @param context The cache of context-specific information.
*
* @model
* @generated
*/
boolean validateSynchronousCall(DiagnosticChain diagnostics,
Map