## org.eclipse.uml2.uml
Interface LinkAction

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

All Known Subinterfaces:
  CreateLinkAction, CreateLinkObjectAction, DestroyLinkAction, ReadLinkAction, WriteLinkAction

    public interface LinkAction

extends Action

A representation of the model object 'Link Action'. LinkAction is an abstract class for all link actions that identify their links by the objects at the ends of the links and by the qualifiers at ends of the links.

The following features are supported:

- `End Data`
- `Input Value`

See Also:
  `UMLPackage.getLinkAction()`

Field Summary

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

Method Summary
`Association` `association()` The association operates on LinkAction.
`LinkEndData` `createEndData()` Creates a new `LinkEndData` and appends it to the 'End Data' containment reference list
`LinkEndData` `createEndData(org.eclipse.emf.ecore.EClass eClass)` Creates a new `LinkEndData` and appends it to the 'End Data' containment reference list
`InputPin` `createInputValue(java.lang.String name, Type type)` Creates a new `InputPin`, with the specified 'Name', and 'Type', and appends it to the 'Input Value' containment reference list
`InputPin` `createInputValue(java.lang.String name, Type type, org.eclipse.emf.ecore.EClass eClass)` Creates a new `InputPin`, with the specified 'Name', and 'Type', and appends it to the 'Input Value' containment reference list
`org.eclipse.emf.common.util.EList<LinkEndData>` `getEndData()` Returns the value of the 'End Data' containment reference list.
`InputPin` `getInputValue(java.lang.String name, Type type)` Retrieves the first `InputPin` with the specified 'Name', and 'Type' from the 'Input Value' containment reference list
`InputPin` `getInputValue(java.lang.String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)` Retrieves the first `InputPin` with the specified 'Name', and 'Type' from the 'Input Value' containment reference list
`org.eclipse.emf.common.util.EList<InputPin>` `getInputValues()` Returns the value of the 'Input Value' containment reference list.
`boolean` `validateNotStatic(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The association ends of the link end data must not be static.
`boolean` `validateSameAssociation(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The association ends of the link end data must all be from the same association and include all and only the association ends of that association.
`boolean` `validateSamePins(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The input pins of the action are the same as the pins of the link end data and insertion pins.

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

### getEndData

    org.eclipse.emf.common.util.EList<LinkEndData> getEndData()

  Returns the value of the 'End Data' containment reference list. The list contents are of type `LinkEndData`. Data identifying one end of a link by the objects on its ends and qualifiers.

  Returns:
    the value of the 'End Data' containment reference list.
  See Also:
    `UMLPackage.getLinkAction_EndData()`

### createEndData

    LinkEndData createEndData(org.eclipse.emf.ecore.EClass eClass)

  Creates a new `LinkEndData` and appends it to the 'End Data' containment reference list.

  Parameters:
    `eClass` - The Ecore class of the `LinkEndData` to create.
  Returns:
    The new `LinkEndData`.
  See Also:
    `getEndData()`

### createEndData

    LinkEndData createEndData()

  Creates a new `LinkEndData` and appends it to the 'End Data' containment reference list.

  Returns:
    The new `LinkEndData`.
  See Also:
    `getEndData()`

### getInputValues

    org.eclipse.emf.common.util.EList<InputPin> getInputValues()

  Returns the value of the 'Input Value' containment reference list. The list contents are of type `InputPin`.

  This feature subsets the following features:

  - '`Input`'
  Pins taking end objects and qualifier values as input.

  Returns:
    the value of the 'Input Value' containment reference list.
  See Also:
    `UMLPackage.getLinkAction_InputValue()`

### createInputValue

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

  Creates a new `InputPin`, with the specified 'Name', and 'Type', and appends it to the 'Input Value' containment reference list.

  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:
    `getInputValues()`

### createInputValue

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

  Creates a new `InputPin`, with the specified 'Name', and 'Type', and appends it to the 'Input Value' containment reference list.

  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:
    `getInputValues()`

### getInputValue

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

  Retrieves the first `InputPin` with the specified 'Name', and 'Type' from the 'Input Value' containment reference list.

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

### getInputValue

    InputPin getInputValue(java.lang.String name,
                           Type type,
                           boolean ignoreCase,
                           org.eclipse.emf.ecore.EClass eClass,
                           boolean createOnDemand)

  Retrieves the first `InputPin` with the specified 'Name', and 'Type' from the 'Input Value' containment reference list.

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

### validateSameAssociation

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

  The association ends of the link end data must all be from the same association and include all and only the association ends of that association. self.endData->collect(end) = self.association()->collect(connection))

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

### validateNotStatic

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

  The association ends of the link end data must not be static. self.endData->forall(end.oclisKindOf(NavigableEnd) implies end.isStatic = #false

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

### validateSamePins

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

  The input pins of the action are the same as the pins of the link end data and insertion pins. self.input->asSet() = let ledpins : Set = self.endData->collect(value) in if self.oclIsKindOf(LinkEndCreationData) then ledpins->union(self.endData.oclAsType(LinkEndCreationData).insertAt) else ledpins

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

### association

    Association association()

  The association operates on LinkAction. It returns the association of the action. result = self.endData->asSequence().first().end.association

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