org.eclipse.uml2.uml
Interface ReadLinkAction

All Superinterfaces:
Action, 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 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(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
 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 output pin.
 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 link-end data specification (the 'open' end) must not have an end object input pin.
 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 output pin 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 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, 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

getResult

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:
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 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

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 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

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 output pin. let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in openend.multiplicity.compatibleWith(self.result.multiplicity)

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. let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in openend.isNavigable()

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

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 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))))

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.