org.eclipse.uml2.uml
Interface ObjectFlow

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

public interface ObjectFlow
extends ActivityEdge

A representation of the model object 'Object Flow'. An ObjectFlow is an ActivityEdge that is traversed by object tokens that may hold values. Object flows also support multicast/receive, token selection from object nodes, and transformation of tokens.

From package UML::Activities.

The following features are supported:

See Also:
UMLPackage.getObjectFlow()

Field Summary
 
Fields inherited from interface org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 Behavior getSelection()
          Returns the value of the 'Selection' reference
 Behavior getTransformation()
          Returns the value of the 'Transformation' reference
 boolean isMulticast()
          Returns the value of the 'Is Multicast' attribute.
 boolean isMultireceive()
          Returns the value of the 'Is Multireceive' attribute.
 void setIsMulticast(boolean value)
          Sets the value of the 'Is Multicast' attribute
 void setIsMultireceive(boolean value)
          Sets the value of the 'Is Multireceive' attribute
 void setSelection(Behavior value)
          Sets the value of the 'Selection' reference
 void setTransformation(Behavior value)
          Sets the value of the 'Transformation' reference
 boolean validateCompatibleTypes(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          ObjectNodes connected by an ObjectFlow, with optionally intervening ControlNodes, must have compatible types.
 boolean validateInputAndOutputParameter(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          A selection Behavior has one input Parameter and one output Parameter.
 boolean validateIsMulticastOrIsMultireceive(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          isMulticast and isMultireceive cannot both be true.
 boolean validateNoExecutableNodes(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          ObjectFlows may not have ExecutableNodes at either end.
 boolean validateSameUpperBounds(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          ObjectNodes connected by an ObjectFlow, with optionally intervening ControlNodes, must have the same upperBounds.
 boolean validateSelectionBehavior(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          An ObjectFlow may have a selection Behavior only if it has an ObjectNode as its source.
 boolean validateTarget(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          An ObjectFlow with a constant weight may not target an ObjectNode, with optionally intervening ControlNodes, that has an upper bound less than the weight.
 boolean validateTransformationBehavior(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          A transformation Behavior has one input Parameter and one output Parameter.
 
Methods inherited from interface org.eclipse.uml2.uml.ActivityEdge
createGuard, createWeight, getActivity, getGuard, getInGroup, getInGroup, getInGroups, getInPartition, getInPartition, getInPartitions, getInStructuredNode, getInterrupts, getRedefinedEdge, getRedefinedEdge, getRedefinedEdges, getSource, getTarget, getWeight, setActivity, setGuard, setInStructuredNode, setInterrupts, setSource, setTarget, setWeight, validateSourceAndTarget
 
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
 

Method Detail

isMulticast

boolean isMulticast()
Returns the value of the 'Is Multicast' attribute. The default value is "false". Indicates whether the objects in the ObjectFlow are passed by multicasting.

From package UML::Activities.

Returns:
the value of the 'Is Multicast' attribute.
See Also:
setIsMulticast(boolean), UMLPackage.getObjectFlow_IsMulticast()

setIsMulticast

void setIsMulticast(boolean value)
Sets the value of the 'Is Multicast' attribute.

Parameters:
value - the new value of the 'Is Multicast' attribute.
See Also:
isMulticast()

isMultireceive

boolean isMultireceive()
Returns the value of the 'Is Multireceive' attribute. The default value is "false". Indicates whether the objects in the ObjectFlow are gathered from respondents to multicasting.

From package UML::Activities.

Returns:
the value of the 'Is Multireceive' attribute.
See Also:
setIsMultireceive(boolean), UMLPackage.getObjectFlow_IsMultireceive()

setIsMultireceive

void setIsMultireceive(boolean value)
Sets the value of the 'Is Multireceive' attribute.

Parameters:
value - the new value of the 'Is Multireceive' attribute.
See Also:
isMultireceive()

getTransformation

Behavior getTransformation()
Returns the value of the 'Transformation' reference. A Behavior used to change or replace object tokens flowing along the ObjectFlow.

From package UML::Activities.

Returns:
the value of the 'Transformation' reference.
See Also:
setTransformation(Behavior), UMLPackage.getObjectFlow_Transformation()

setTransformation

void setTransformation(Behavior value)
Sets the value of the 'Transformation' reference.

Parameters:
value - the new value of the 'Transformation' reference.
See Also:
getTransformation()

getSelection

Behavior getSelection()
Returns the value of the 'Selection' reference. A Behavior used to select tokens from a source ObjectNode.

From package UML::Activities.

Returns:
the value of the 'Selection' reference.
See Also:
setSelection(Behavior), UMLPackage.getObjectFlow_Selection()

setSelection

void setSelection(Behavior value)
Sets the value of the 'Selection' reference.

Parameters:
value - the new value of the 'Selection' reference.
See Also:
getSelection()

validateCompatibleTypes

boolean validateCompatibleTypes(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                java.util.Map<java.lang.Object,java.lang.Object> context)
ObjectNodes connected by an ObjectFlow, with optionally intervening ControlNodes, must have compatible types. In particular, the downstream ObjectNode type must be the same or a supertype of the upstream ObjectNode type.

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

validateSameUpperBounds

boolean validateSameUpperBounds(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                java.util.Map<java.lang.Object,java.lang.Object> context)
ObjectNodes connected by an ObjectFlow, with optionally intervening ControlNodes, must have the same upperBounds.

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

validateTarget

boolean validateTarget(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                       java.util.Map<java.lang.Object,java.lang.Object> context)
An ObjectFlow with a constant weight may not target an ObjectNode, with optionally intervening ControlNodes, that has an upper bound less than the weight.

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

validateInputAndOutputParameter

boolean validateInputAndOutputParameter(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                        java.util.Map<java.lang.Object,java.lang.Object> context)
A selection Behavior has one input Parameter and one output Parameter. The input Parameter must have the same as or a supertype of the type of the source ObjectNode, be non-unique and have multiplicity 0..*. The output Parameter must be the same or a subtype of the type of source ObjectNode. The Behavior cannot have side effects. selection<>null implies selection.inputParameters()->size()=1 and selection.inputParameters()->forAll(not isUnique and is(0,*)) and selection.outputParameters()->size()=1

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

validateNoExecutableNodes

boolean validateNoExecutableNodes(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                  java.util.Map<java.lang.Object,java.lang.Object> context)
ObjectFlows may not have ExecutableNodes at either end. not (source.oclIsKindOf(ExecutableNode) or target.oclIsKindOf(ExecutableNode))

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

validateTransformationBehavior

boolean validateTransformationBehavior(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                       java.util.Map<java.lang.Object,java.lang.Object> context)
A transformation Behavior has one input Parameter and one output Parameter. The input Parameter must be the same as or a supertype of the type of object token coming from the source end. The output Parameter must be the same or a subtype of the type of object token expected downstream. The Behavior cannot have side effects. transformation<>null implies transformation.inputParameters()->size()=1 and transformation.outputParameters()->size()=1

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

validateSelectionBehavior

boolean validateSelectionBehavior(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                  java.util.Map<java.lang.Object,java.lang.Object> context)
An ObjectFlow may have a selection Behavior only if it has an ObjectNode as its source. selection<>null implies source.oclIsKindOf(ObjectNode)

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

validateIsMulticastOrIsMultireceive

boolean validateIsMulticastOrIsMultireceive(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                            java.util.Map<java.lang.Object,java.lang.Object> context)
isMulticast and isMultireceive cannot both be true. not (isMulticast and isMultireceive)

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.