Table of Contents

Interface IConnector

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

The public interface for Connector

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

Properties

Contract

The set of Behaviors that specify the valid interaction patterns across the Connector. <p>From package UML::StructuredClassifiers.</p>

[XmlElementName("contract")]
[XmlAttribute(true)]
ISetExpression<IBehavior> Contract { get; }

Property Value

ISetExpression<IBehavior>

End

A Connector has at least two ConnectorEnds, each representing the participation of instances of the Classifiers typing the ConnectableElements attached to the end. The set of ConnectorEnds is ordered. <p>From package UML::StructuredClassifiers.</p>

[LowerBound(2)]
[Browsable(false)]
[XmlElementName("end")]
[XmlAttribute(false)]
[Containment]
IOrderedSetExpression<IConnectorEnd> End { get; }

Property Value

IOrderedSetExpression<IConnectorEnd>

RedefinedConnector

A Connector may be redefined when its containing Classifier is specialized. The redefining Connector may have a type that specializes the type of the redefined Connector. The types of the ConnectorEnds of the redefining Connector may specialize the types of the ConnectorEnds of the redefined Connector. The properties of the ConnectorEnds of the redefining Connector may be replaced. <p>From package UML::StructuredClassifiers.</p>

[XmlElementName("redefinedConnector")]
[XmlAttribute(true)]
ISetExpression<IConnector> RedefinedConnector { get; }

Property Value

ISetExpression<IConnector>

Type

An optional Association that classifies links corresponding to this Connector. <p>From package UML::StructuredClassifiers.</p>

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

Property Value

IAssociation

Methods

GetKind()

Derivation for Connector::/kind : ConnectorKind result = (if end->exists( role.oclIsKindOf(Port) and partWithPort->isEmpty() and not role.oclAsType(Port).isBehavior) then ConnectorKind::delegation else ConnectorKind::assembly endif) <p>From package UML::StructuredClassifiers.</p>

ConnectorKind GetKind()

Returns

ConnectorKind

Roles(object, object)

The ConnectableElements attached as roles to each ConnectorEnd owned by a Connector must be owned or inherited roles of the Classifier that owned the Connector, or they must be Ports of such roles. structuredClassifier <> null and end->forAll( e | structuredClassifier.allRoles()->includes(e.role) or e.role.oclIsKindOf(Port) and structuredClassifier.allRoles()->includes(e.partWithPort))

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

Types(object, object)

The types of the ConnectableElements that the ends of a Connector are attached to must conform to the types of the ends of the Association that types the Connector, if any. type<>null implies let noOfEnds : Integer = end->size() in (type.memberEnd->size() = noOfEnds) and Sequence{1..noOfEnds}->forAll(i | end->at(i).role.type.conformsTo(type.memberEnd->at(i).type))

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