Base class for elements which can be contained in a package and as such inherited, overridden, and suppressed.

Supertypes

Subtypes

Referrers

  • PackageElement

Uses

A collection of boolean flags:

  • abstract - Specifies that this package element is abstract. For packages and flows it means that they contain abstract elements and must be extended to become concrete. If a package or a flow contains abstract elements and does not have abstract modifier, it is diagnosed as an error. If concrete packages and flows extend abstract ones they must override (implement) all abstract elements.
  • explicit-end - Applies to flows. Specifies that the end pseudo-state shall not be inferred by finding flow elements with no outputs. End will either be explicitly specified or the diagram will not have an end pseudo-state.
  • explicit-start - Applies to flows. Specifies that the start pseudo-state shall not be inferred by finding flow elements with no inputs. Start will either be explicitly specified or the diagram will not have a start pseudo-state.
  • final - Specifies that this flow element cannot be overridden in flows extending this flow. Overriding a final elemen will be diagnosed as an error. For example, in an organization some processes can be defined as flows at higher levels of the orgnization and extended at lower levels. final modifier allows to specify what can be extended and what cannot. Specifying a top-level flow as final indicates that it cannot have extensions.
  • optional - Specifies that this element is optional. Optional elements have different apperance on diagrams.
  • extension - Specifies that this element is an extension for an element in one of extended packages/flows. If this modifier is present and extends reference is empty, then it results in a diagnostic error.
  • partition - Applies to flows and specifies that a flow shall be rendered as a partition (e.g. a composite state) on a diagram.
Type EString
Cardinality 0..*
Changeable true
Derived false

Element documentation. Documentation elements are adapted to SupplierFactory<InputStream> during generation. Exec content classes such as Markdown and Interpolator can be used as documentation elements.

Type EObject
Cardinality 0..*
Changeable true
Derived false

Elements can extend other elements and inherit their configuration - set attributes and references. For top-level packages inheritance shall be explicitly set using superPackages reference. For nested packages and other package elements extends is derived from containing packages. For nested packages super-packages derived from containment precede explicitly specified super-packages, i.e. the explicitly specified super-packages (mix-ins) can override configuration inherited via containment.

Type T
Cardinality 0..*
Changeable false
Derived true
Opposite extensions

Derived reference - known elements extending this element. Known means elements in the same resource set.

Type T
Cardinality 0..*
Changeable false
Derived true
Opposite extends

Properties can be used to customize the documentation generation process, e.g. provide configuration for generation of representation diagram elements.

Type Property
Cardinality 0..*
Changeable true
Derived false
Key name

This reference is set by create() method and points to a package element which created and configured this element.

Type T
Cardinality 0..1
Changeable true
Derived false

Mapping of representation names to values - Diagrams which serve as templates for generating diagram content from the package element.

Type RepresentationEntry
Cardinality 0..*
Changeable true
Derived false

Applies configuration of this element, including inherited configuration, to the argument. This method shall be called after create() and shall create contained elements. Cross-reference resolution shall be done in resolve() which is called after apply() and as such contained elements are already created.

Cardinality 0..1

Parameters

Type T
Cardinality 0..1

Creates a new package element of the same type as this element with prototype reference to this package element. For top-level packages this method also calls apply() and then resolve().

Type T
Cardinality 0..1

Resolves cross-references.

Cardinality 0..1

Parameters

Type T
Cardinality 0..1