org.eclipse.uml2.uml
Interface ObjectFlow

All Superinterfaces:
ActivityEdge, Element, EModelElement, EObject, NamedElement, Notifier, RedefinableElement

public interface ObjectFlow
extends ActivityEdge

A representation of the model object 'Object Flow'. An object flow is an activity edge that can have objects or data passing along it. Object flows have support for multicast/receive, token selection from object nodes, and transformation of tokens.

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(DiagnosticChain diagnostics, Map context)
           Object nodes connected by an object flow, with optionally intervening control nodes, must have compatible types.
 boolean validateInputAndOutputParameter(DiagnosticChain diagnostics, Map context)
           A selection behavior has one input parameter and one output parameter.
 boolean validateIsMulticastOrIsMultireceive(DiagnosticChain diagnostics, Map context)
           isMulticast and isMultireceive cannot both be true.
 boolean validateNoActions(DiagnosticChain diagnostics, Map context)
           Object flows may not have actions at either end.
 boolean validateSameUpperBounds(DiagnosticChain diagnostics, Map context)
           Object nodes connected by an object flow, with optionally intervening control nodes, must have the same upper bounds.
 boolean validateSelectionBehaviour(DiagnosticChain diagnostics, Map context)
           An object flow may have a selection behavior only if has an object node as a source.
 boolean validateTarget(DiagnosticChain diagnostics, Map context)
           An edge with constant weight may not target an object node, or lead to an object node downstream with no intervening actions, that has an upper bound less than the weight.
 boolean validateTransformationBehaviour(DiagnosticChain diagnostics, Map 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, getInGroups, getInPartition, getInPartition, getInPartitions, getInStructuredNode, getInterrupts, getRedefinedEdge, getRedefinedEdge, getRedefinedEdges, getSource, getTarget, getWeight, setActivity, setGuard, setInStructuredNode, setInterrupts, setSource, setTarget, setWeight, validateOwned, validateSourceAndTarget, validateStructuredNode
 
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, 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

isMulticast

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

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

setIsMulticast

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

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

isMultireceive

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

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

setIsMultireceive

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

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

getTransformation

public Behavior getTransformation()
Returns the value of the 'Transformation' reference. Changes or replaces data tokens flowing along edge.

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

setTransformation

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

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

getSelection

public Behavior getSelection()
Returns the value of the 'Selection' reference. Selects tokens from a source object node.

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

setSelection

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

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

validateNoActions

public boolean validateNoActions(DiagnosticChain diagnostics,
                                 Map context)
Object flows may not have actions at either end. true


validateCompatibleTypes

public boolean validateCompatibleTypes(DiagnosticChain diagnostics,
                                       Map context)
Object nodes connected by an object flow, with optionally intervening control nodes, must have compatible types. In particular, the downstream object node type must be the same or a supertype of the upstream object node type. true


validateSameUpperBounds

public boolean validateSameUpperBounds(DiagnosticChain diagnostics,
                                       Map context)
Object nodes connected by an object flow, with optionally intervening control nodes, must have the same upper bounds. true


validateTarget

public boolean validateTarget(DiagnosticChain diagnostics,
                              Map context)
An edge with constant weight may not target an object node, or lead to an object node downstream with no intervening actions, that has an upper bound less than the weight. true


validateTransformationBehaviour

public boolean validateTransformationBehaviour(DiagnosticChain diagnostics,
                                               Map 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. true


validateSelectionBehaviour

public boolean validateSelectionBehaviour(DiagnosticChain diagnostics,
                                          Map context)
An object flow may have a selection behavior only if has an object node as a source. true


validateInputAndOutputParameter

public boolean validateInputAndOutputParameter(DiagnosticChain diagnostics,
                                               Map context)
A selection behavior has one input parameter and one output parameter. The input parameter must be a bag of elements of the same as or a supertype of the type of source object node. The output parameter must be the same or a subtype of the type of source object node. The behavior cannot have side effects. true


validateIsMulticastOrIsMultireceive

public boolean validateIsMulticastOrIsMultireceive(DiagnosticChain diagnostics,
                                                   Map context)
isMulticast and isMultireceive cannot both be true. true


Copyright 2003, 2006 IBM Corporation and others.
All Rights Reserved.