VisibilityKind

VisibilityKind is defined in KerML specification on page 161. Excerpt from the machine readable specification:

VisibilityKind is an enumeration whose literals specify the visibility of a Membership of an Element in a Namespace outside of that Namespace. Note that “visibility” specifically restricts whether an Element in a Namespace may be referenced by name from outside the Namespace and only otherwise restricts access to an Element as provided by specific constraints in the abstract syntax (e.g., preventing the import or inheritance of private Elements).

The following diagram shows the inheritance hierarchy of VisibilityKind according to the specification:

// Class: VisibilityKind
 digraph {
     VisibilityKind [label="VisibilityKind (KerML)" shape=plaintext]
 }

The following table shows all attributes defined for VisibilityKind according to the specification together with the documentation from the machine readable specification. Note that in SysIDE API, we use snake case for attribute names instead of Pascal case used in the specification.

Attribute

Documentation from machine readable specification

Attributes defined in VisibilityKind:

Private

Indicates a Membership is not visible outside its owning Namespace.

Protected

An intermediate level of visibility between public and private. By default, it is equivalent to private for the purposes of normal access to and import of Elements from a Namespace. However, other Relationships may be specified to include Memberships with protected visibility in the list of memberships for a Namespace (e.g., Specialization).

Public

Indicates that a Membership is publicly visible outside its owning Namespace.

The following table lists SysIDE specific attributes available for class VisibilityKind:

Python Attribute

class VisibilityKind(*args, **kwds)
Private = 0
Protected = 1
Public = 2
classmethod __signature__()
__new__(value)
__repr__()
__str__()
__dir__()
__format__(format_spec)
__hash__()
__reduce_ex__(proto)
__deepcopy__(memo)
__copy__()
name()
value()