Class ObjectFlow
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. <p>From package UML::Activities.</p>
[XmlNamespace("http://www.eclipse.org/uml2/5.0.0/UML")]
[XmlNamespacePrefix("uml")]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//ObjectFlow")]
public class ObjectFlow : ActivityEdge, IObjectFlow, IActivityEdge, IRedefinableElement, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inheritance
-
ObjectFlow
- Implements
- Inherited Members
Properties
ClassInstance
Gets the Class model for this type
public static IClass ClassInstance { get; }
Property Value
IsMulticast
Indicates whether the objects in the ObjectFlow are passed by multicasting. <p>From package UML::Activities.</p>
[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isMulticast")]
[XmlAttribute(true)]
public bool IsMulticast { get; set; }
Property Value
IsMultireceive
Indicates whether the objects in the ObjectFlow are gathered from respondents to multicasting. <p>From package UML::Activities.</p>
[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isMultireceive")]
[XmlAttribute(true)]
public bool IsMultireceive { get; set; }
Property Value
ReferencedElements
Gets the referenced model elements of this model element
public override IEnumerableExpression<IModelElement> ReferencedElements { get; }
Property Value
Selection
A Behavior used to select tokens from a source ObjectNode. <p>From package UML::Activities.</p>
[XmlElementName("selection")]
[XmlAttribute(true)]
public IBehavior Selection { get; set; }
Property Value
Transformation
A Behavior used to change or replace object tokens flowing along the ObjectFlow. <p>From package UML::Activities.</p>
[XmlElementName("transformation")]
[XmlAttribute(true)]
public IBehavior Transformation { get; set; }
Property Value
Methods
Compatible_types(object, object)
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.
public bool Compatible_types(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
GetAttributeValue(string, int)
Resolves the given attribute name
protected override object GetAttributeValue(string attribute, int index)
Parameters
Returns
- object
The attribute value or null if it could not be found
GetClass()
Gets the Class for this model element
public override IClass GetClass()
Returns
GetExpressionForAttribute(string)
Gets the property expression for the given attribute
protected override INotifyExpression<object> GetExpressionForAttribute(string attribute)
Parameters
attribute
stringThe requested attribute in upper case
Returns
- INotifyExpression<object>
An incremental property expression
GetExpressionForReference(string)
Gets the property expression for the given reference
protected override INotifyExpression<IModelElement> GetExpressionForReference(string reference)
Parameters
reference
stringThe requested reference in upper case
Returns
- INotifyExpression<IModelElement>
An incremental property expression
GetModelElementForReference(string, int)
Resolves the given URI to a child model element
protected override IModelElement GetModelElementForReference(string reference, int index)
Parameters
Returns
- IModelElement
The model element or null if it could not be found
Input_and_output_parameter(object, object)
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
public bool Input_and_output_parameter(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
Is_multicast_or_is_multireceive(object, object)
isMulticast and isMultireceive cannot both be true. not (isMulticast and isMultireceive)
public bool Is_multicast_or_is_multireceive(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
No_executable_nodes(object, object)
ObjectFlows may not have ExecutableNodes at either end. not (source.oclIsKindOf(ExecutableNode) or target.oclIsKindOf(ExecutableNode))
public bool No_executable_nodes(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
Same_upper_bounds(object, object)
ObjectNodes connected by an ObjectFlow, with optionally intervening ControlNodes, must have the same upperBounds.
public bool Same_upper_bounds(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
Selection_behavior(object, object)
An ObjectFlow may have a selection Behavior only if it has an ObjectNode as its source. selection<>null implies source.oclIsKindOf(ObjectNode)
public bool Selection_behavior(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
SetFeature(string, object)
Sets a value to the given feature
protected override void SetFeature(string feature, object value)
Parameters
Transformation_behavior(object, object)
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
public bool Transformation_behavior(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.