org.eclipse.uml2.uml
Interface ReadLinkAction

All Superinterfaces:
Action, ActivityNode, Element, EModelElement, EObject, ExecutableNode, LinkAction, NamedElement, Notifier, RedefinableElement

public interface ReadLinkAction
extends LinkAction

A representation of the model object 'Read Link Action'. A read link action is a link action that navigates across associations to retrieve objects on one end.

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(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
 void setResult(OutputPin value)
          Sets the value of the 'Result' containment reference
 boolean validateCompatibleMultiplicity(DiagnosticChain diagnostics, Map context)
           The multiplicity of the open association end must be compatible with the multiplicity of the result output pin.
 boolean validateNavigableOpenEnd(DiagnosticChain diagnostics, Map context)
           The open end must be navigable.
 boolean validateOneOpenEnd(DiagnosticChain diagnostics, Map context)
           Exactly one link-end data specification (the 'open' end) must not have an end object input pin.
 boolean validateTypeAndOrdering(DiagnosticChain diagnostics, Map context)
           The type and ordering of the result output pin are same as the type and ordering of the open association end.
 boolean validateVisibility(DiagnosticChain diagnostics, Map context)
           Visibility of the open end must allow access to 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
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, 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

getResult

public OutputPin getResult()
Returns the value of the 'Result' containment reference. The pin on which are put the objects participating in the association at the end not specified by the inputs.

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

setResult

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

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

createResult

public OutputPin createResult(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:
ReadLinkAction.getResult()

validateOneOpenEnd

public boolean validateOneOpenEnd(DiagnosticChain diagnostics,
                                  Map context)
Exactly one link-end data specification (the 'open' end) must not have an end object input pin. self.endData->select(ed | ed.value->size() = 0)->size() = 1


validateTypeAndOrdering

public boolean validateTypeAndOrdering(DiagnosticChain diagnostics,
                                       Map context)
The type and ordering of the result output pin are same as the type and ordering of the open association end. let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in self.result.type = openend.type and self.result.ordering = openend.ordering


validateCompatibleMultiplicity

public boolean validateCompatibleMultiplicity(DiagnosticChain diagnostics,
                                              Map context)
The multiplicity of the open association end must be compatible with the multiplicity of the result output pin. let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in openend.multiplicity.compatibleWith(self.result.multiplicity)


validateNavigableOpenEnd

public boolean validateNavigableOpenEnd(DiagnosticChain diagnostics,
                                        Map context)
The open end must be navigable. let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in openend.isNavigable()


validateVisibility

public boolean validateVisibility(DiagnosticChain diagnostics,
                                  Map context)
Visibility of the open end must allow access to the object performing the action. let host : Classifier = self.context in let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in openend.visibility = #public or self.endData->exists(oed | not oed.end = openend and (host = oed.end.participant or (openend.visibility = #protected and host.allSupertypes->includes(oed.end.participant))))


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