org.eclipse.uml2.uml
Interface JoinNode

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

public interface JoinNode
extends ControlNode

A representation of the model object 'Join Node'. A JoinNode is a ControlNode that synchronizes multiple flows.

From package UML::Activities.

The following features are supported:

See Also:
UMLPackage.getJoinNode()

Field Summary
 
Fields inherited from interface org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 ValueSpecification createJoinSpec(java.lang.String name, Type type, org.eclipse.emf.ecore.EClass eClass)
          Creates a new ValueSpecification, 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, java.util.Map<java.lang.Object,java.lang.Object> context)
          If one of the incoming ActivityEdges of a JoinNode is an ObjectFlow, then its outgoing ActivityEdge must be an ObjectFlow.
 boolean validateOneOutgoingEdge(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          A JoinNode has one outgoing ActivityEdge.
 
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

isCombineDuplicate

boolean isCombineDuplicate()
Returns the value of the 'Is Combine Duplicate' attribute. The default value is "true". Indicates whether incoming tokens having objects with the same identity are combined into one by the JoinNode.

From package UML::Activities.

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.

This feature subsets the following features:

A ValueSpecification giving the condition under which the JoinNode will offer a token on its outgoing ActivityEdge. If no joinSpec is specified, then the JoinNode will offer an outgoing token if tokens are offered on all of its incoming ActivityEdges (an "and" condition).

From package UML::Activities.

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(java.lang.String name,
                                  Type type,
                                  org.eclipse.emf.ecore.EClass eClass)
Creates a new ValueSpecification, with the specified 'Name', and 'Type', and sets the 'Join Spec' containment reference.

Parameters:
name - The 'Name' for the new ValueSpecification, or null.
type - The 'Type' for the new ValueSpecification, or null.
eClass - The Ecore class of the ValueSpecification to create.
Returns:
The new ValueSpecification.
See Also:
getJoinSpec()

validateOneOutgoingEdge

boolean validateOneOutgoingEdge(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                java.util.Map<java.lang.Object,java.lang.Object> context)
A JoinNode has one outgoing ActivityEdge. outgoing->size() = 1

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

validateIncomingObjectFlow

boolean validateIncomingObjectFlow(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                   java.util.Map<java.lang.Object,java.lang.Object> context)
If one of the incoming ActivityEdges of a JoinNode is an ObjectFlow, then its outgoing ActivityEdge must be an ObjectFlow. Otherwise its outgoing ActivityEdge must be a ControlFlow. if incoming->exists(oclIsKindOf(ObjectFlow)) then outgoing->forAll(oclIsKindOf(ObjectFlow)) else outgoing->forAll(oclIsKindOf(ControlFlow)) endif

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.