Package com.sodius.mdw.metamodel.uml21
Interface ReadLinkAction
-
- All Superinterfaces:
Action
,ActivityNode
,Comparable<Object>
,Element
,org.eclipse.emf.ecore.EModelElement
,org.eclipse.emf.ecore.EObject
,ExecutableNode
,LinkAction
,MDWEObject
,MDWObject
,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 com.sodius.mdw.metamodel.uml21.NamedElement
SEPARATOR
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description OutputPin
createResult(String name, Type type)
Creates a newOutputPin
,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, Map 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, Map context)
The open end must be navigable.boolean
validateOneOpenEnd(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map 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, 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(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
Visibility of the open end must allow access to the object performing the action.-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Action
createLocalPostcondition, createLocalPostcondition, createLocalPrecondition, createLocalPrecondition, getContext, getInput, getInput, getInputs, getLocalPostcondition, getLocalPostcondition, getLocalPostconditions, getLocalPrecondition, getLocalPrecondition, getLocalPreconditions, getOutput, getOutput, getOutputs
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.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 com.sodius.mdw.metamodel.uml21.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 com.sodius.mdw.metamodel.uml21.ExecutableNode
createHandler, getHandlers
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.LinkAction
association, createEndData, createEndData, createInputValue, createInputValue, getEndData, getInputValue, getInputValue, getInputValues, validateNotStatic, validateSameAssociation, validateSamePins
-
Methods inherited from interface com.sodius.mdw.core.model.MDWObject
compareTo, eExtendedClass, eIsInstanceOf, eIsInstanceOf, eIsProfiled, eIsRemoved, eMetamodel, eMetaTypeName, eModel, eRemove, eSetUniqueID, eUniqueID, superScript, superScript, toBoolean, toBoolean, toByte, toByte, toChar, toChar, toDouble, toDouble, toFloat, toFloat, toInt, toInt, toList, toList, toList, toList, toList, toLong, toLong, toObject, toObject, toSet, toSet, toShort, toShort, toString, toString
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.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.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid
-
-
-
-
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(String name, Type type)
Creates a newOutputPin
,with the specified 'Name', and 'Type', and sets the 'Result' containment reference.- Parameters:
name
- The 'Name' for the newOutputPin
, ornull
.type
- The 'Type' for the newOutputPin
, ornull
.- Returns:
- The new
OutputPin
. - See Also:
getResult()
-
validateOneOpenEnd
boolean validateOneOpenEnd(org.eclipse.emf.common.util.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
boolean validateTypeAndOrdering(org.eclipse.emf.common.util.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
boolean validateCompatibleMultiplicity(org.eclipse.emf.common.util.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
boolean validateNavigableOpenEnd(org.eclipse.emf.common.util.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
boolean validateVisibility(org.eclipse.emf.common.util.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))))
-
-