Table of Contents

Interface IClause

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

The public interface for Clause

[DefaultImplementationType(typeof(Clause))]
[XmlDefaultImplementationType(typeof(Clause))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//Clause")]
public interface IClause : IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inherited Members

Properties

Body

The set of ExecutableNodes that are executed if the test evaluates to true and the Clause is chosen over other Clauses within the ConditionalNode that also have tests that evaluate to true. <p>From package UML::Actions.</p>

[XmlElementName("body")]
[XmlAttribute(true)]
ISetExpression<IExecutableNode> Body { get; }

Property Value

ISetExpression<IExecutableNode>

BodyOutput

The OutputPins on Actions within the body section whose values are moved to the result OutputPins of the containing ConditionalNode after execution of the body. <p>From package UML::Actions.</p>

[XmlElementName("bodyOutput")]
[XmlAttribute(true)]
IOrderedSetExpression<IOutputPin> BodyOutput { get; }

Property Value

IOrderedSetExpression<IOutputPin>

Decider

An OutputPin on an Action in the test section whose Boolean value determines the result of the test. <p>From package UML::Actions.</p>

[XmlElementName("decider")]
[XmlAttribute(true)]
IOutputPin Decider { get; set; }

Property Value

IOutputPin

PredecessorClause

A set of Clauses whose tests must all evaluate to false before this Clause can evaluate its test. <p>From package UML::Actions.</p>

[XmlElementName("predecessorClause")]
[XmlAttribute(true)]
[XmlOpposite("successorClause")]
ISetExpression<IClause> PredecessorClause { get; }

Property Value

ISetExpression<IClause>

SuccessorClause

A set of Clauses that may not evaluate their tests unless the test for this Clause evaluates to false. <p>From package UML::Actions.</p>

[XmlElementName("successorClause")]
[XmlAttribute(true)]
[XmlOpposite("predecessorClause")]
ISetExpression<IClause> SuccessorClause { get; }

Property Value

ISetExpression<IClause>

Test

The set of ExecutableNodes that are executed in order to provide a test result for the Clause. <p>From package UML::Actions.</p>

[LowerBound(1)]
[XmlElementName("test")]
[XmlAttribute(true)]
ISetExpression<IExecutableNode> Test { get; }

Property Value

ISetExpression<IExecutableNode>

Methods

Body_output_pins(object, object)

The bodyOutput Pins are OutputPins on Actions in the body of the Clause. _'body'.oclAsType(Action).allActions().output->includesAll(bodyOutput)

bool Body_output_pins(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

Decider_output(object, object)

The decider Pin must be on an Action in the test section of the Clause and must be of type Boolean with multiplicity 1..1. test.oclAsType(Action).allActions().output->includes(decider) and decider.type = Boolean and decider.is(1,1)

bool Decider_output(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

Test_and_body(object, object)

The test and body parts of a ConditionalNode must be disjoint with each other. test->intersection(_'body')->isEmpty()

bool Test_and_body(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