Class ConditionalNode
A ConditionalNode is a StructuredActivityNode that chooses one among some number of alternative collections of ExecutableNodes to execute. <p>From package UML::Actions.</p>
[XmlNamespace("http://www.eclipse.org/uml2/5.0.0/UML")]
[XmlNamespacePrefix("uml")]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//ConditionalNode")]
public class ConditionalNode : StructuredActivityNode, IConditionalNode, IStructuredActivityNode, IActivityGroup, INamespace, IAction, IExecutableNode, IActivityNode, IActivityContent, IRedefinableElement, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inheritance
-
ConditionalNode
- Implements
- Inherited Members
Constructors
ConditionalNode()
Creates a new instance
public ConditionalNode()
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
Clause
The set of Clauses composing the ConditionalNode. <p>From package UML::Actions.</p>
[LowerBound(1)]
[Browsable(false)]
[XmlElementName("clause")]
[XmlAttribute(false)]
[Containment]
public IOrderedSetExpression<IClause> Clause { get; }
Property Value
IsAssured
If true, the modeler asserts that the test for at least one Clause of the ConditionalNode will succeed. <p>From package UML::Actions.</p>
[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isAssured")]
[XmlAttribute(true)]
public bool IsAssured { get; set; }
Property Value
IsDeterminate
If true, the modeler asserts that the test for at most one Clause of the ConditionalNode will succeed. <p>From package UML::Actions.</p>
[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isDeterminate")]
[XmlAttribute(true)]
public bool IsDeterminate { get; set; }
Property Value
ReferencedElements
Gets the referenced model elements of this model element
public override IEnumerableExpression<IModelElement> ReferencedElements { get; }
Property Value
Result
The OutputPins that onto which are moved values from the bodyOutputs of the Clause selected for execution. <p>From package UML::Actions.</p>
[Browsable(false)]
[XmlElementName("result")]
[XmlAttribute(false)]
[Containment]
public IOrderedSetExpression<IOutputPin> Result { get; }
Property Value
Methods
Clause_no_predecessor(object, object)
No two clauses within a ConditionalNode may be predecessorClauses of each other, either directly or indirectly. clause->closure(predecessorClause)->intersection(clause)->isEmpty()
public bool Clause_no_predecessor(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
Executable_nodes(object, object)
The union of the ExecutableNodes in the test and body parts of all clauses must be the same as the subset of nodes contained in the ConditionalNode (considered as a StructuredActivityNode) that are ExecutableNodes. clause.test->union(clause._'body') = node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)
public bool 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
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
GetCompositionName(object)
Gets the property name for the given container
protected override string GetCompositionName(object container)
Parameters
container
objectThe container object
Returns
- string
The name of the respective container reference
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
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
Matching_output_pins(object, object)
Each clause of a ConditionalNode must have the same number of bodyOutput pins as the ConditionalNode has result OutputPins, and each clause bodyOutput Pin must be compatible with the corresponding result OutputPin (by positional order) in type, multiplicity, ordering, and uniqueness. clause->forAll( bodyOutput->size()=self.result->size() and Sequence{1..self.result->size()}->forAll(i | bodyOutput->at(i).type.conformsTo(result->at(i).type) and bodyOutput->at(i).isOrdered = result->at(i).isOrdered and bodyOutput->at(i).isUnique = result->at(i).isUnique and bodyOutput->at(i).compatibleWith(result->at(i))))
public bool Matching_output_pins(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_input_pins(object, object)
A ConditionalNode has no InputPins. input->isEmpty()
public bool No_input_pins(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
One_clause_with_executable_node(object, object)
No ExecutableNode in the ConditionNode may appear in the test or body part of more than one clause of a ConditionalNode. node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)->forAll(n | self.clause->select(test->union(_'body')->includes(n))->size()=1)
public bool One_clause_with_executable_node(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
Result_no_incoming(object, object)
The result OutputPins have no incoming edges. result.incoming->isEmpty()
public bool Result_no_incoming(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)