Table of Contents

Class ElementImport

Namespace
NMF.Interop.Cmof
Assembly
NMF.UMLInterop.dll

An element import identifies an element in another package, and allows the element to be referenced using its name without a qualifier.

[XmlNamespace("http://www.omg.org/spec/MOF/20131001/cmof.xmi")]
[XmlNamespacePrefix("cmof")]
[ModelRepresentationClass("http://www.omg.org/spec/MOF/20131001/cmof.xmi#//ElementImport")]
public class ElementImport : DirectedRelationship, IElementImport, IDirectedRelationship, IRelationship, IElement, IObject, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inheritance
ElementImport
Implements
Inherited Members

Properties

Alias

Specifies the name that should be added to the namespace of the importing package in lieu of the name of the imported packagable element. The aliased name must not clash with any other member name in the importing package. By default, no alias is used.

[XmlElementName("alias")]
[XmlAttribute(true)]
public string Alias { get; set; }

Property Value

string

ClassInstance

Gets the Class model for this type

public static IClass ClassInstance { get; }

Property Value

IClass

ImportedElement

Specifies the PackageableElement whose name is to be added to a Namespace.

[XmlElementName("importedElement")]
[XmlAttribute(true)]
public IPackageableElement ImportedElement { get; set; }

Property Value

IPackageableElement

ImportingNamespace

Specifies the Namespace that imports a PackageableElement from another Package.

[Browsable(false)]
[XmlElementName("importingNamespace")]
[XmlAttribute(true)]
[XmlOpposite("elementImport")]
public INamespace ImportingNamespace { get; set; }

Property Value

INamespace

ReferencedElements

Gets the referenced model elements of this model element

public override IEnumerableExpression<IModelElement> ReferencedElements { get; }

Property Value

IEnumerableExpression<IModelElement>

Visibility

Specifies the visibility of the imported PackageableElement within the importing Package. The default visibility is the same as that of the imported element. If the imported element does not have a visibility, it is possible to add visibility to the element import.

[XmlElementName("visibility")]
[XmlAttribute(true)]
public VisibilityKind Visibility { get; set; }

Property Value

VisibilityKind

Methods

GetAttributeValue(string, int)

Resolves the given attribute name

protected override object GetAttributeValue(string attribute, int index)

Parameters

attribute string

The requested attribute name

index int

The index of this attribute

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

IClass

GetExpressionForAttribute(string)

Gets the property expression for the given attribute

protected override INotifyExpression<object> GetExpressionForAttribute(string attribute)

Parameters

attribute string

The requested attribute in upper case

Returns

INotifyExpression<object>

An incremental property expression

GetExpressionForReference(string)

Gets the property expression for the given reference

protected override INotifyExpression<IModelElement> GetExpressionForReference(string reference)

Parameters

reference string

The requested reference in upper case

Returns

INotifyExpression<IModelElement>

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

reference string

The requested reference name

index int

The index of this reference

Returns

IModelElement

The model element or null if it could not be found

GetName()

The query getName() returns the name under which the imported PackageableElement will be known in the importing namespace. result = if self.alias->notEmpty() then self.alias else self.importedElement.name endif

public string GetName()

Returns

string

Imported_element_is_public(object, object)

An importedElement has either public visibility or no visibility at all. self.importedElement.visibility.notEmpty() implies self.importedElement.visibility = #public

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

OnParentChanged(IModelElement, IModelElement)

Gets called when the parent model element of the current model element changes

protected override void OnParentChanged(IModelElement newParent, IModelElement oldParent)

Parameters

newParent IModelElement

The new parent model element

oldParent IModelElement

The old parent model element

OnParentChanging(IModelElement, IModelElement)

Gets called when the parent model element of the current model element is about to change

protected override void OnParentChanging(IModelElement newParent, IModelElement oldParent)

Parameters

newParent IModelElement

The new parent model element

oldParent IModelElement

The old parent model element

SetFeature(string, object)

Sets a value to the given feature

protected override void SetFeature(string feature, object value)

Parameters

feature string

The requested feature

value object

The value that should be set to that feature

Visibility_public_or_private(object, object)

The visibility of an ElementImport is either public or private. self.visibility = #public or self.visibility = #private

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