Interface IConditionalNode
The public interface for ConditionalNode
[DefaultImplementationType(typeof(ConditionalNode))]
[XmlDefaultImplementationType(typeof(ConditionalNode))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//ConditionalNode")]
public interface IConditionalNode : IStructuredActivityNode, IActivityGroup, INamespace, IAction, IExecutableNode, IActivityNode, IActivityContent, IRedefinableElement, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inherited Members
Properties
Clause
The set of Clauses composing the ConditionalNode. <p>From package UML::Actions.</p>
[LowerBound(1)]
[Browsable(false)]
[XmlElementName("clause")]
[XmlAttribute(false)]
[Containment]
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)]
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)]
bool IsDeterminate { get; set; }
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]
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()
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)
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
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))))
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()
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)
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()
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.