Table of Contents

Class Extension

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

An extension is used to indicate that the properties of a metaclass are extended through a stereotype, and gives the ability to flexibly add (and later remove) stereotypes to classes. <p>From package UML::Packages.</p>

[XmlNamespace("http://www.eclipse.org/uml2/5.0.0/UML")]
[XmlNamespacePrefix("uml")]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//Extension")]
public class Extension : Association, IExtension, IAssociation, IRelationship, IClassifier, ITemplateableElement, IType, IPackageableElement, IParameterableElement, IRedefinableElement, INamespace, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inheritance
Extension
Implements
Inherited Members

Properties

ClassInstance

Gets the Class model for this type

public static IClass ClassInstance { get; }

Property Value

IClass

Methods

GetClass()

Gets the Class for this model element

public override IClass GetClass()

Returns

IClass

GetMetaclass()

The query metaclass() returns the metaclass that is being extended (as opposed to the extending stereotype). result = (metaclassEnd().type.oclAsType(Class)) <p>From package UML::Packages.</p>

public IClass GetMetaclass()

Returns

IClass

GetStereotype()

Retrieves the stereotype that extends a metaclass through this extension.

public IStereotype GetStereotype()

Returns

IStereotype

GetStereotypeEnd()

Retrieves the extension end that is typed by a stereotype (as opposed to a metaclass).

public IProperty GetStereotypeEnd()

Returns

IProperty

Is_binary(object, object)

An Extension is binary, i.e., it has only two memberEnds. memberEnd->size() = 2

public bool Is_binary(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

MetaclassEnd()

The query metaclassEnd() returns the Property that is typed by a metaclass (as opposed to a stereotype). result = (memberEnd->reject(p | ownedEnd->includes(p.oclAsType(ExtensionEnd)))->any(true)) <p>From package UML::Packages.</p>

public IProperty MetaclassEnd()

Returns

IProperty

Non_owned_end(object, object)

The non-owned end of an Extension is typed by a Class. metaclassEnd()->notEmpty() and metaclassEnd().type.oclIsKindOf(Class)

public bool Non_owned_end(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