## org.eclipse.uml2.uml
Interface CallOperationAction

All Superinterfaces:
  Action, ActivityNode, CallAction, Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, ExecutableNode, InvocationAction, NamedElement, org.eclipse.emf.common.notify.Notifier, RedefinableElement

    public interface CallOperationAction

extends CallAction

A representation of the model object 'Call Operation Action'. A call operation action 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 behavior. Any values returned as part of the reply transmission are put on the result output pins of the call operation action. Upon receipt of the reply transmission, execution of the call operation action is complete.

The following features are supported:

- `Operation`
- `Target`

See Also:
  `UMLPackage.getCallOperationAction()`

Field Summary

Fields inherited from interface org.eclipse.uml2.uml.NamedElement
`SEPARATOR`

Method Summary
`InputPin` `createTarget(java.lang.String name, Type type)` Creates a new `InputPin`,with the specified 'Name', and 'Type', and sets the 'Target' containment reference
`InputPin` `createTarget(java.lang.String name, Type type, org.eclipse.emf.ecore.EClass eClass)` Creates a new `InputPin`, with the specified 'Name', and 'Type', and sets the 'Target' containment reference
`Operation` `getOperation()` Returns the value of the 'Operation' reference
`InputPin` `getTarget()` Returns the value of the 'Target' containment reference.
`void` `setOperation(Operation value)` Sets the value of the '`Operation`' reference
`void` `setTarget(InputPin value)` Sets the value of the '`Target`' containment reference
`boolean` `validateArgumentPinEqualParameter(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The number of argument pins and the number of owned parameters of the operation of type in and in-out must be equal.
`boolean` `validateResultPinEqualParameter(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The number of result pins and the number of owned parameters of the operation of type return, out, and in-out must be equal.
`boolean` `validateTypeTargetPin(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The type of the target pin must be the same as the type that owns the operation.

Methods inherited from interface org.eclipse.uml2.uml.CallAction
`createResult, getResult, getResult, getResults, isSynchronous, setIsSynchronous, validateNumberAndOrder, validateSynchronousCall, validateTypeOrderingMultiplicity`

Methods inherited from interface org.eclipse.uml2.uml.InvocationAction
`createArgument, createArgument, getArgument, getArgument, getArguments, getOnPort, setOnPort, validateOnPortReceiver`

Methods inherited from interface org.eclipse.uml2.uml.Action
`createLocalPostcondition, createLocalPostcondition, createLocalPrecondition, createLocalPrecondition, getContext, getInput, getInput, getInputs, getLocalPostcondition, getLocalPostcondition, getLocalPostconditions, getLocalPrecondition, getLocalPrecondition, getLocalPreconditions, getOutput, getOutput, getOutputs`

Methods inherited from interface org.eclipse.uml2.uml.ExecutableNode
`createHandler, getHandlers`

Methods inherited from interface org.eclipse.uml2.uml.ActivityNode
`getActivity, getIncoming, getIncoming, getIncomings, getInGroups, getInInterruptibleRegions, getInPartition, getInPartition, getInPartitions, getInStructuredNode, getOutgoing, getOutgoing, getOutgoings, getRedefinedNode, getRedefinedNode, getRedefinedNodes, setActivity, setInStructuredNode, validateOwned, validateOwnedStructuredNode`

Methods inherited from interface org.eclipse.uml2.uml.RedefinableElement
`getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, 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, eIsProxy, eIsSet, eResource, eSet, eUnset`

Methods inherited from interface org.eclipse.emf.common.notify.Notifier
`eAdapters, eDeliver, eNotify, eSetDeliver`

Method Detail

### getOperation

    Operation getOperation()

  Returns the value of the 'Operation' reference. The operation to be invoked by the action execution.

  Returns:
    the value of the 'Operation' reference.
  See Also:
    `setOperation(Operation)`, `UMLPackage.getCallOperationAction_Operation()`

### setOperation

    void setOperation(Operation value)

  Sets the value of the '`Operation`' reference.

  Parameters:
    `value` - the new value of the 'Operation' reference.
  See Also:
    `getOperation()`

### getTarget

    InputPin getTarget()

  Returns the value of the 'Target' containment reference.

  This feature subsets the following features:

  - '`Input`'
  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.

  Returns:
    the value of the 'Target' containment reference.
  See Also:
    `setTarget(InputPin)`, `UMLPackage.getCallOperationAction_Target()`

### setTarget

    void setTarget(InputPin value)

  Sets the value of the '`Target`' containment reference.

  Parameters:
    `value` - the new value of the 'Target' containment reference.
  See Also:
    `getTarget()`

### createTarget

    InputPin createTarget(java.lang.String name,
                          Type type,
                          org.eclipse.emf.ecore.EClass eClass)

  Creates a new `InputPin`, with the specified 'Name', and 'Type', and sets the 'Target' containment reference.

  Parameters:
    `name` - The 'Name' for the new `InputPin`, or `null`.
    `type` - The 'Type' for the new `InputPin`, or `null`.
    `eClass` - The Ecore class of the `InputPin` to create.
  Returns:
    The new `InputPin`.
  See Also:
    `getTarget()`

### createTarget

    InputPin createTarget(java.lang.String name,
                          Type type)

  Creates a new `InputPin`,with the specified 'Name', and 'Type', and sets the 'Target' containment reference.

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

### validateArgumentPinEqualParameter

    boolean validateArgumentPinEqualParameter(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                              java.util.Map<java.lang.Object,java.lang.Object> context)

  The number of argument pins and the number of owned parameters of the operation of type in and in-out must be equal. true

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

### validateResultPinEqualParameter

    boolean validateResultPinEqualParameter(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                            java.util.Map<java.lang.Object,java.lang.Object> context)

  The number of result pins and the number of owned parameters of the operation of type return, out, and in-out must be equal. true

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

### validateTypeTargetPin

    boolean validateTypeTargetPin(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                  java.util.Map<java.lang.Object,java.lang.Object> context)

  The type of the target pin must be the same as the type that owns the operation. true

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

Copyright 2003, 2007 IBM Corporation and others. All Rights Reserved.