Class ObjectNode
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
ClassInstance
Gets the Class model for this type
public static IClass ClassInstance { get; }
Property Value
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
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
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
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 to be offered on outgoing ActivityEdges. <p>From package UML::Activities.</p>
[XmlElementName("selection")]
[XmlAttribute(true)]
public IBehavior Selection { get; set; }
Property Value
Type
The type of the TypedElement. <p>From package UML::CommonStructure.</p>
[XmlElementName("type")]
[XmlAttribute(true)]
public IType Type { get; set; }
Property Value
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
Methods
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
GetCollectionForFeature(string)
Gets the Model element collection for the given feature
protected override IList GetCollectionForFeature(string feature)
Parameters
feature
stringThe 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
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
GetRelativePathForNonIdentifiedChild(IModelElement)
Gets the relative URI fragment for the given child model element
protected override string GetRelativePathForNonIdentifiedChild(IModelElement element)
Parameters
element
IModelElementThe 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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
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)