Class UML 2.3::ElementImport
Description:
An element import identifies an element in another package, and allows
the element to be referenced using its name without a qualifier.
Direct Superclasses: DirectedRelationshipDirect Subclasses: Class Precedence List: ElementImport,
DirectedRelationship,
Relationship,
ElementProperties:

alias : String (0 1); -- source
ElementImport
importedElement :
PackageableElement (1 1); -- source
ElementImport
importingNamespace :
Namespace (1 1); -- source
ElementImport
visibility :
VisibilityKind (1 1); -- source
ElementImport 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.
Default value: PUBLIC

source :
Element (1 *); -- source
DirectedRelationship
target :
Element (1 *); -- source
DirectedRelationship
relatedElement :
Element (1 *); -- source
Relationship
ownedComment :
Comment (0 *); -- source
Element
ownedElement :
Element (0 *); -- source
Element
owner :
Element (0 1); -- source
ElementConstraints:
Signature: CMOF_14_3_7b() : Boolean;
Description: see also: https://sites.google.com/site/metamodelingantipatterns/catalog/mof/element-import-is-not-public
see also: https://sites.google.com/site/metamodelingantipatterns/catalog/mof/element-import-has-alias
Expression: visibility = VisibilityKind::public and alias->isEmpty()
Signature: visibility_public_or_private() : Boolean;
Description: The visibility of an ElementImport is either public or private.
Expression: self.visibility = #public or self.visibility = #private
Signature: imported_element_is_public() : Boolean;
Description: An importedElement has either public visibility or no visibility at all.
Expression: self.importedElement.visibility.notEmpty() implies self.importedElement.visibility = #public
Operations:
Signature: getName() : String;
Description: The query getName() returns the name under which the imported PackageableElement will be known in the importing namespace.
Expression: result = if self.alias->notEmpty() then
self.alias
else
self.importedElement.name
endif
Send questions or comments to
[email protected].