Import SysML

class Import

Implementation of Import defined in the KerML specification.

Specification:

An Import is an Relationship between its import_owning_namespace and either a Membership (for a MembershipImport) or another Namespace (for a NamespaceImport), which determines a set of Memberships that become imported_memberships of the import_owning_namespace. If is_import_all = false (the default), then only public Memberships are considered “visible”. If is_import_all = true, then all Memberships are considered “visible”, regardless of their declared visibility. If is_recursive = true, then visible Memberships are also recursively imported from owned sub-Namespaces.

For language description, see section 7.2.5.4 of the KerML specification. For more details on the model, see section 8.3.2.4.2 of the KerML specification.

Import Import syside.Import Relationship Relationship syside.Relationship Relationship->Import Element Element syside.Element Element->Relationship AstNode AstNode syside.AstNode AstNode->Element
Children
Members defined in Import (11 members)

STD

R

children

R

The elements enclosed by curly brackets in textual syntax.

import_owning_namespace

R

The Namespace into which Memberships are imported by this Import, which must be the owning_related_element of the Import.

import_target

R

The target element of this Import.

imported_element

R

The effectively imported Element for this Import. For a MembershipImport, this is the member_element of the imported_membership. For a NamespaceImport, it is the imported_namespace.

is_import_all

RW

Whether to import memberships without regard to declared visibility.

is_recursive

RW

Whether to recursively import Memberships from visible, owned sub-Namespaces.

owning_related_element

R

The related_element of this Relationship that owns the Relationship, if any.

sources

R

The related_elements from which this Relationship is considered to be directed.

targets

R

The related_elements to which this Relationship is considered to be directed.

try_set_is_import_all

Members inherited from Relationship (9 members)

first_source

R

Convenience method for sources[0].

first_target

R

Convenience method for targets[0].

is_implied

RW

Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler.

is_visibility_implied

R

Returns True if this Relationship is using implicit visibility.

owned_related_elements

R

The related_elements of this Relationship that are owned by the Relationship.

related_elements

R

The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship.

visibility

RW

The visibility level of the related elements from this Relationship relative to the owning_related_element.

reset_visibility

try_set_visibility

Members inherited from Element (23 members)

comments

R

The owned Comments related by owned_relationships.

declared_name

RW

The declared name of this Element.

declared_short_name

RW

An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context.

documentation

R

The Documentation owned by this Element.

element_id

RW

The globally unique identifier for this Element. This is intended to be

set by tooling, and it must not change during the lifetime of the Element.

is_implied_included

R

Whether all necessary implied Relationships have been included in the owned_relationships of this Element. This property may be true, even if there are not actually any owned_relationships with is_implied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then owned_relationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them.

is_library_element

R

Whether this Element is contained in the ownership tree of a library model.

metadata

R

The owned metadata related by owned_relationships.

name

R

The name to be used for this Element during name resolution within its owning_namespace. This is derived using the effective_name() operation. By default, it is the same as the declared_name, but this is overridden for certain kinds of Elements to compute a name even when the declared_name is null.

owned_annotations

R

The owned_relationships of this Element that are Annotations, for which this Element is the annotated_element.

owned_elements

R

The Elements owned by this Element, derived as the owned_related_elements of the owned_relationships of this Element.

owned_relationships

R

The Relationships for which this Element is the owning_related_element.

owner

R

The owner of this Element, derived as the owning_related_element of the owning_relationship of this Element, if any.

owning_membership

R

The owning_relationship of this Element, if that Relationship is a Membership.

owning_namespace

R

The Namespace that owns this Element, which is the membership_owning_namespace of the owning_membership of this Element, if any.

owning_relationship

R

The Relationship for which this Element is an owned_related_element, if any.

qualified_name

R

The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualified_name is null if this Element has no owning_namespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element.

scoped_owner

R

The owner of this Element as the parent of owning_membership or owning_relationship otherwise.

sema_state

RW

The state of semantic resolution for this Element. Based on this, sema may skip elements to avoid duplicate work, e.g. when resolving elements in a group of related documents.

short_name

R

The short name to be used for this Element during name resolution within its owning_namespace. This is derived using the effective_short_name() operation. By default, it is the same as the declared_short_name, but this is overridden for certain kinds of Elements to compute a short_name even when the declared_name is null.

textual_representations

R

The TextualRepresentations that annotate this Element.

__str__

matches_qualified_name

Members inherited from AstNode (7 members)

cst_node

R

document

R

parent

R

__hash__

cast

isinstance

try_cast

Attributes

STD: tuple[type[syside.Import], ...] = ()
property children: syside.RelationshipBody

The elements enclosed by curly brackets in textual syntax.

property import_owning_namespace: syside.Namespace | None

The Namespace into which Memberships are imported by this Import, which must be the owning_related_element of the Import.

property import_target: syside.Membership | syside.Namespace | None

The target element of this Import.

property imported_element: syside.Element | None

The effectively imported Element for this Import. For a MembershipImport, this is the member_element of the imported_membership. For a NamespaceImport, it is the imported_namespace.

property is_import_all: bool

Whether to import memberships without regard to declared visibility.

The setter will throw TypeError on Expose elements which are always is_import_all. Use try_set_is_import_all instead for a non-throwing behaviour.

property is_recursive: bool

Whether to recursively import Memberships from visible, owned sub-Namespaces.

The related_element of this Relationship that owns the Relationship, if any.

property sources: syside.ContainerView[syside.Element]

The related_elements from which this Relationship is considered to be directed.

property targets: syside.ContainerView[syside.Element]

The related_elements to which this Relationship is considered to be directed.

Methods

try_set_is_import_all(arg: bool, /) bool

Try setting is_import_all. For Expose elements, this will return False instead of throwing TypeError when using is_import_all setter.

Used in