org.eclipse.uml2.uml
Interface ReadLinkAction

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

public interface ReadLinkAction
extends LinkAction

A representation of the model object 'Read Link Action'. A ReadLinkAction is a LinkAction that navigates across an Association to retrieve the objects on one end.

From package UML::Actions.

The following features are supported:

See Also:
UMLPackage.getReadLinkAction()

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 sets the 'Result' containment reference
 OutputPin getResult()
          Returns the value of the 'Result' containment reference.
 org.eclipse.emf.common.util.EList<Property> openEnd()
          Returns the ends corresponding to endData with no value InputPin.
 void setResult(OutputPin value)
          Sets the value of the 'Result' containment reference
 boolean validateCompatibleMultiplicity(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The multiplicity of the open Association end must be compatible with the multiplicity of the result OutputPin.
 boolean validateNavigableOpenEnd(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The open end must be navigable.
 boolean validateOneOpenEnd(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          Exactly one linkEndData specification (corresponding to the "open" end) must not have an value InputPin.
 boolean validateTypeAndOrdering(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The type and ordering of the result OutputPin are same as the type and ordering of the open Association end.
 boolean validateVisibility(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          Visibility of the open end must allow access from the object performing the action.
 
Methods inherited from interface org.eclipse.uml2.uml.LinkAction
association, createEndData, createEndData, createInputValue, createInputValue, getEndData, getInputValue, getInputValue, getInputValues, validateNotStatic, validateSameAssociation, validateSamePins
 
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

getResult

OutputPin getResult()
Returns the value of the 'Result' containment reference.

This feature subsets the following features:

The OutputPin on which the objects retrieved from the "open" end of those links whose values on other ends are given by the endData.

From package UML::Actions.

Returns:
the value of the 'Result' containment reference.
See Also:
setResult(OutputPin), UMLPackage.getReadLinkAction_Result()

setResult

void setResult(OutputPin value)
Sets the value of the 'Result' containment reference.

Parameters:
value - the new value of the 'Result' containment reference.
See Also:
getResult()

createResult

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

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:
getResult()

validateOneOpenEnd

boolean validateOneOpenEnd(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                           java.util.Map<java.lang.Object,java.lang.Object> context)
Exactly one linkEndData specification (corresponding to the "open" end) must not have an value InputPin. self.openEnd()->size() = 1

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

validateTypeAndOrdering

boolean validateTypeAndOrdering(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                java.util.Map<java.lang.Object,java.lang.Object> context)
The type and ordering of the result OutputPin are same as the type and ordering of the open Association end. self.openEnd()->forAll(type=result.type and isOrdered=result.isOrdered)

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

validateCompatibleMultiplicity

boolean validateCompatibleMultiplicity(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                       java.util.Map<java.lang.Object,java.lang.Object> context)
The multiplicity of the open Association end must be compatible with the multiplicity of the result OutputPin. self.openEnd()->first().compatibleWith(result)

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

validateNavigableOpenEnd

boolean validateNavigableOpenEnd(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                 java.util.Map<java.lang.Object,java.lang.Object> context)
The open end must be navigable. self.openEnd()->first().isNavigable()

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

openEnd

org.eclipse.emf.common.util.EList<Property> openEnd()
Returns the ends corresponding to endData with no value InputPin. (A well-formed ReadLinkAction is constrained to have only one of these.) result = (endData->select(value=null).end->asOrderedSet())

From package UML::Actions.


validateVisibility

boolean validateVisibility(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                           java.util.Map<java.lang.Object,java.lang.Object> context)
Visibility of the open end must allow access from the object performing the action. let openEnd : Property = self.openEnd()->first() in openEnd.visibility = VisibilityKind::public or endData->exists(oed | oed.end<>openEnd and (_'context' = oed.end.type or (openEnd.visibility = VisibilityKind::protected and _'context'.conformsTo(oed.end.type.oclAsType(Classifier)))))

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

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