Table of Contents

Class ObjectFlow

Namespace
NMF.Interop.Uml
Assembly
NMF.UMLInterop.dll

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

IClass

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

bool

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

bool

ReferencedElements

Gets the referenced model elements of this model element

public override IEnumerableExpression<IModelElement> ReferencedElements { get; }

Property Value

IEnumerableExpression<IModelElement>

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

IBehavior

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

IBehavior

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 object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

GetAttributeValue(string, int)

Resolves the given attribute name

protected override object GetAttributeValue(string attribute, int index)

Parameters

attribute string

The requested attribute name

index int

The index of this attribute

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

IClass

GetExpressionForAttribute(string)

Gets the property expression for the given attribute

protected override INotifyExpression<object> GetExpressionForAttribute(string attribute)

Parameters

attribute string

The 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 string

The 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

reference string

The requested reference name

index int

The index of this reference

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 object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

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 object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

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 object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

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 object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

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 object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

SetFeature(string, object)

Sets a value to the given feature

protected override void SetFeature(string feature, object value)

Parameters

feature string

The requested feature

value object

The value that should be set to that feature

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 object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool