Package com.sodius.mdw.metamodel.uml21
Interface JoinNode
-
- All Superinterfaces:
ActivityNode
,Comparable<Object>
,ControlNode
,Element
,org.eclipse.emf.ecore.EModelElement
,org.eclipse.emf.ecore.EObject
,MDWEObject
,MDWObject
,NamedElement
,org.eclipse.emf.common.notify.Notifier
,RedefinableElement
public interface JoinNode extends ControlNode
A representation of the model object 'Join Node'. A join node is a control node that synchronizes multiple flows. Join nodes have a Boolean value specification using the names of the incoming edges to specify the conditions under which the join will emit a token.The following features are supported:
- See Also:
UMLPackage.getJoinNode()
-
-
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 ValueSpecification
createJoinSpec(String name, Type type, org.eclipse.emf.ecore.EClass eClass)
Creates a newValueSpecification
, with the specified 'Name', and 'Type', and sets the 'Join Spec' containment reference.ValueSpecification
getJoinSpec()
Returns the value of the 'Join Spec' containment reference.boolean
isCombineDuplicate()
Returns the value of the 'Is Combine Duplicate' attribute.void
setIsCombineDuplicate(boolean value)
Sets the value of the 'Is Combine Duplicate
' attribute.void
setJoinSpec(ValueSpecification value)
Sets the value of the 'Join Spec
' containment reference.boolean
validateIncomingObjectFlow(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
If a join node has an incoming object flow, it must have an outgoing object flow, otherwise, it must have an outgoing control flow.boolean
validateOneOutgoingEdge(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
A join node has one outgoing edge.-
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.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
-
isCombineDuplicate
boolean isCombineDuplicate()
Returns the value of the 'Is Combine Duplicate' attribute. The default value is"true"
. Tells whether tokens having objects with the same identity are combined into one by the join.- Returns:
- the value of the 'Is Combine Duplicate' attribute.
- See Also:
setIsCombineDuplicate(boolean)
,UMLPackage.getJoinNode_IsCombineDuplicate()
-
setIsCombineDuplicate
void setIsCombineDuplicate(boolean value)
Sets the value of the 'Is Combine Duplicate
' attribute.- Parameters:
value
- the new value of the 'Is Combine Duplicate' attribute.- See Also:
isCombineDuplicate()
-
getJoinSpec
ValueSpecification getJoinSpec()
Returns the value of the 'Join Spec' containment reference. A specification giving the conditions under which the join with emit a token. Default is "and".- Returns:
- the value of the 'Join Spec' containment reference.
- See Also:
setJoinSpec(ValueSpecification)
,UMLPackage.getJoinNode_JoinSpec()
-
setJoinSpec
void setJoinSpec(ValueSpecification value)
Sets the value of the 'Join Spec
' containment reference.- Parameters:
value
- the new value of the 'Join Spec' containment reference.- See Also:
getJoinSpec()
-
createJoinSpec
ValueSpecification createJoinSpec(String name, Type type, org.eclipse.emf.ecore.EClass eClass)
Creates a newValueSpecification
, with the specified 'Name', and 'Type', and sets the 'Join Spec' containment reference.- Parameters:
name
- The 'Name' for the newValueSpecification
, ornull
.type
- The 'Type' for the newValueSpecification
, ornull
.eClass
- The Ecore class of theValueSpecification
to create.- Returns:
- The new
ValueSpecification
. - See Also:
getJoinSpec()
-
validateOneOutgoingEdge
boolean validateOneOutgoingEdge(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
A join node has one outgoing edge. self.outgoing->size() = 1
-
validateIncomingObjectFlow
boolean validateIncomingObjectFlow(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
If a join node has an incoming object flow, it must have an outgoing object flow, otherwise, it must have an outgoing control flow. (self.incoming.select(e | e.isTypeOf(ObjectFlow)->notEmpty() implies self.outgoing.isTypeOf(ObjectFlow)) and (self.incoming.select(e | e.isTypeOf(ObjectFlow)->empty() implies self.outgoing.isTypeOf(ControlFlow))
-
-