Table of Contents

Class ObjectNode

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

An ObjectNode is an abstract ActivityNode that may hold tokens within the object flow in an Activity. ObjectNodes also support token selection, limitation on the number of tokens held, specification of the state required for tokens being held, and carrying control values. <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#//ObjectNode")]
public abstract class ObjectNode : ActivityNode, IObjectNode, ITypedElement, IActivityNode, IActivityContent, IRedefinableElement, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inheritance
ObjectNode
Implements
Derived
Inherited Members

Constructors

ObjectNode()

Creates a new instance

public ObjectNode()

Properties

Children

Gets the child model elements of this model element

public override IEnumerableExpression<IModelElement> Children { get; }

Property Value

IEnumerableExpression<IModelElement>

ClassInstance

Gets the Class model for this type

public static IClass ClassInstance { get; }

Property Value

IClass

InState

The States required to be associated with the values held by tokens on this ObjectNode. <p>From package UML::Activities.</p>

[XmlElementName("inState")]
[XmlAttribute(true)]
public ISetExpression<IState> InState { get; }

Property Value

ISetExpression<IState>

IsControlType

Indicates whether the type of the ObjectNode is to be treated as representing control values that may traverse ControlFlows. <p>From package UML::Activities.</p>

[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isControlType")]
[XmlAttribute(true)]
public bool IsControlType { get; set; }

Property Value

bool

Ordering

Indicates how the tokens held by the ObjectNode are ordered for selection to traverse ActivityEdges outgoing from the ObjectNode. <p>From package UML::Activities.</p>

[XmlElementName("ordering")]
[XmlAttribute(true)]
public ObjectNodeOrderingKind Ordering { get; set; }

Property Value

ObjectNodeOrderingKind

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 to be offered on outgoing ActivityEdges. <p>From package UML::Activities.</p>

[XmlElementName("selection")]
[XmlAttribute(true)]
public IBehavior Selection { get; set; }

Property Value

IBehavior

Type

The type of the TypedElement. <p>From package UML::CommonStructure.</p>

[XmlElementName("type")]
[XmlAttribute(true)]
public IType Type { get; set; }

Property Value

IType

UpperBound

The maximum number of tokens that may be held by this ObjectNode. Tokens cannot flow into the ObjectNode if the upperBound is reached. If no upperBound is specified, then there is no limit on how many tokens the ObjectNode can hold. <p>From package UML::Activities.</p>

[Browsable(false)]
[XmlElementName("upperBound")]
[XmlAttribute(false)]
[Containment]
public IValueSpecification UpperBound { get; set; }

Property Value

IValueSpecification

Methods

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

GetCollectionForFeature(string)

Gets the Model element collection for the given feature

protected override IList GetCollectionForFeature(string feature)

Parameters

feature string

The requested feature

Returns

IList

A non-generic list of elements

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

GetRelativePathForNonIdentifiedChild(IModelElement)

Gets the relative URI fragment for the given child model element

protected override string GetRelativePathForNonIdentifiedChild(IModelElement element)

Parameters

element IModelElement

The element that should be looked for

Returns

string

A fragment of the relative URI

Input_output_parameter(object, object)

A selection Behavior has one input Parameter and one output Parameter. The input Parameter must have the same type as or a supertype of the type of ObjectNode, be non-unique, and have multiplicity 0... The output Parameter must be the same or a subtype of the type of ObjectNode. The Behavior cannot have side effects. selection<>null implies selection.inputParameters()->size()=1 and selection.inputParameters()->forAll(p | not p.isUnique and p.is(0,) and self.type.conformsTo(p.type)) and selection.outputParameters()->size()=1 and selection.inputParameters()->forAll(p | self.type.conformsTo(p.type))

public bool Input_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

Object_flow_edges(object, object)

If isControlType=false, the ActivityEdges incoming to or outgoing from an ObjectNode must all be ObjectFlows. (not isControlType) implies incoming->union(outgoing)->forAll(oclIsKindOf(ObjectFlow))

public bool Object_flow_edges(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)

If an ObjectNode has a selection Behavior, then the ordering of the object node is ordered, and vice versa. (selection<>null) = (ordering=ObjectNodeOrderingKind::ordered)

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