org.eclipse.uml2.uml
Interface CallAction

All Superinterfaces:
Action, ActivityContent, ActivityNode, Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, ExecutableNode, InvocationAction, NamedElement, org.eclipse.emf.common.notify.Notifier, RedefinableElement
All Known Subinterfaces:
CallBehaviorAction, CallOperationAction, StartObjectBehaviorAction

public interface CallAction
extends InvocationAction

A representation of the model object 'Call Action'. CallAction is an abstract class for Actions that invoke a Behavior with given argument values and (if the invocation is synchronous) receive reply values.

From package UML::Actions.

The following features are supported:

See Also:
UMLPackage.getCallAction()

Field Summary
 
Fields inherited from interface org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 OutputPin createResult(java.lang.String name, Type type)
          Creates a new OutputPin, with the specified 'Name', and 'Type', and appends it to the 'Result' containment reference list
 OutputPin getResult(java.lang.String name, Type type)
          Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Result' containment reference list
 OutputPin getResult(java.lang.String name, Type type, boolean ignoreCase, boolean createOnDemand)
          Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Result' containment reference list
 org.eclipse.emf.common.util.EList<OutputPin> getResults()
          Returns the value of the 'Result' containment reference list.
 org.eclipse.emf.common.util.EList<Parameter> inputParameters()
          Return the in and inout ownedParameters of the Behavior or Operation being called.
 boolean isSynchronous()
          Returns the value of the 'Is Synchronous' attribute.
 org.eclipse.emf.common.util.EList<Parameter> outputParameters()
          Return the inout, out and return ownedParameters of the Behavior or Operation being called.
 void setIsSynchronous(boolean value)
          Sets the value of the 'Is Synchronous' attribute
 boolean validateArgumentPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The number of argument InputPins must be the same as the number of input (in and inout) ownedParameters of the called Behavior or Operation.
 boolean validateResultPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The number of result OutputPins must be the same as the number of output (inout, out and return) ownedParameters of the called Behavior or Operation.
 boolean validateSynchronousCall(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          Only synchronous CallActions can have result OutputPins.
 
Methods inherited from interface org.eclipse.uml2.uml.InvocationAction
createArgument, createArgument, getArgument, getArgument, getArguments, getOnPort, setOnPort
 
Methods inherited from interface org.eclipse.uml2.uml.Action
allActions, allOwnedNodes, containingBehavior, createLocalPostcondition, createLocalPostcondition, createLocalPrecondition, createLocalPrecondition, getContext, getInput, getInput, getInputs, getLocalPostcondition, getLocalPostcondition, getLocalPostconditions, getLocalPrecondition, getLocalPrecondition, getLocalPreconditions, getOutput, getOutput, getOutputs, isLocallyReentrant, setIsLocallyReentrant
 
Methods inherited from interface org.eclipse.uml2.uml.ExecutableNode
createHandler, getHandlers
 
Methods inherited from interface org.eclipse.uml2.uml.ActivityNode
getActivity, getIncoming, getIncoming, getIncomings, getInGroup, getInGroup, getInGroups, getInInterruptibleRegion, getInInterruptibleRegion, getInInterruptibleRegions, getInPartition, getInPartition, getInPartitions, getInStructuredNode, getOutgoing, getOutgoing, getOutgoings, getRedefinedNode, getRedefinedNode, getRedefinedNodes, setActivity, setInStructuredNode
 
Methods inherited from interface org.eclipse.uml2.uml.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateNonLeafRedefinition, validateRedefinitionConsistent, validateRedefinitionContextValid
 
Methods inherited from interface org.eclipse.uml2.uml.NamedElement
allNamespaces, allOwningPackages, createDependency, createNameExpression, createUsage, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership
 
Methods inherited from interface org.eclipse.uml2.uml.Element
addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf
 
Methods inherited from interface org.eclipse.emf.ecore.EModelElement
getEAnnotation, getEAnnotations
 
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 
Methods inherited from interface org.eclipse.uml2.uml.ActivityContent
containingActivity
 

Method Detail

isSynchronous

boolean isSynchronous()
Returns the value of the 'Is Synchronous' attribute. The default value is "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 cannot receive return values.

From package UML::Actions.

Returns:
the value of the 'Is Synchronous' attribute.
See Also:
setIsSynchronous(boolean), UMLPackage.getCallAction_IsSynchronous()

setIsSynchronous

void setIsSynchronous(boolean value)
Sets the value of the 'Is Synchronous' attribute.

Parameters:
value - the new value of the 'Is Synchronous' attribute.
See Also:
isSynchronous()

getResults

org.eclipse.emf.common.util.EList<OutputPin> getResults()
Returns the value of the 'Result' containment reference list. The list contents are of type OutputPin.

This feature subsets the following features:

The OutputPins on which the reply values from the invocation are placed (if the call is synchronous).

From package UML::Actions.

Returns:
the value of the 'Result' containment reference list.
See Also:
UMLPackage.getCallAction_Result()

createResult

OutputPin createResult(java.lang.String name,
                       Type type)
Creates a new OutputPin, with the specified 'Name', and 'Type', and appends it to the 'Result' containment reference list.

Parameters:
name - The 'Name' for the new OutputPin, or null.
type - The 'Type' for the new OutputPin, or null.
Returns:
The new OutputPin.
See Also:
getResults()

getResult

OutputPin getResult(java.lang.String name,
                    Type type)
Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Result' containment reference list.

Parameters:
name - The 'Name' of the OutputPin to retrieve, or null.
type - The 'Type' of the OutputPin to retrieve, or null.
Returns:
The first OutputPin with the specified 'Name', and 'Type', or null.
See Also:
getResults()

getResult

OutputPin getResult(java.lang.String name,
                    Type type,
                    boolean ignoreCase,
                    boolean createOnDemand)
Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Result' containment reference list.

Parameters:
name - The 'Name' of the OutputPin to retrieve, or null.
type - The 'Type' of the OutputPin to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
createOnDemand - Whether to create a OutputPin on demand if not found.
Returns:
The first OutputPin with the specified 'Name', and 'Type', or null.
See Also:
getResults()

validateArgumentPins

boolean validateArgumentPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                             java.util.Map<java.lang.Object,java.lang.Object> context)
The number of argument InputPins must be the same as the number of input (in and inout) ownedParameters of the called Behavior or Operation. The type, ordering and multiplicity of each argument InputPin must be consistent with the corresponding input Parameter. let parameter: OrderedSet(Parameter) = self.inputParameters() in argument->size() = parameter->size() and Sequence{1..argument->size()}->forAll(i | argument->at(i).type.conformsTo(parameter->at(i).type) and argument->at(i).isOrdered = parameter->at(i).isOrdered and argument->at(i).compatibleWith(parameter->at(i)))

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

validateResultPins

boolean validateResultPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                           java.util.Map<java.lang.Object,java.lang.Object> context)
The number of result OutputPins must be the same as the number of output (inout, out and return) ownedParameters of the called Behavior or Operation. The type, ordering and multiplicity of each result OutputPin must be consistent with the corresponding input Parameter. let parameter: OrderedSet(Parameter) = self.outputParameters() in result->size() = parameter->size() and Sequence{1..result->size()}->forAll(i | parameter->at(i).type.conformsTo(result->at(i).type) and parameter->at(i).isOrdered = result->at(i).isOrdered and parameter->at(i).compatibleWith(result->at(i)))

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

validateSynchronousCall

boolean validateSynchronousCall(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                java.util.Map<java.lang.Object,java.lang.Object> context)
Only synchronous CallActions can have result OutputPins. result->notEmpty() implies isSynchronous

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

inputParameters

org.eclipse.emf.common.util.EList<Parameter> inputParameters()
Return the in and inout ownedParameters of the Behavior or Operation being called. (This operation is abstract and should be overridden by subclasses of CallAction.)

From package UML::Actions.


outputParameters

org.eclipse.emf.common.util.EList<Parameter> outputParameters()
Return the inout, out and return ownedParameters of the Behavior or Operation being called. (This operation is abstract and should be overridden by subclasses of CallAction.)

From package UML::Actions.


Copyright 2003, 2014 IBM Corporation, CEA, and others.
All Rights Reserved.