References

If this reference is not set then EObjectActionProvider creates a new Action using AppFactory in newAction() method. If this reference is set and is Action then a copy of the action is created and returned. Otherwise the reference value it is adapted to ActionProvider which is used to create an action. This allows to merge actions and chain action generation. E.g. generate Ecore model documentation and merge it into the Engineering documentation.

Type EObject
Cardinality 0..1
Changeable true
Derived false
Declaring class ModelElement

Activities and flows.

Type ActivityEntry
Cardinality 0..*
Changeable true
Derived false
Declaring class Package

Flow artifacts.

Type ArtifactEntry
Cardinality 0..*
Changeable true
Derived false
Declaring class Package

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
Declaring class PackageElement

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
Declaring class PackageElement
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
Declaring class PackageElement
Opposite extends

Markers pointing to where this model element was loaded from - location, line and column numbers. Multiple markers are supported for situations when a single model element is loaded from multiple locations, e.g. a row in an Excel document or a database and then pom.xml and readme.md is a source repository. Another possiblity is an element being created from a prototype and then loaded - in this case the object will inherit markers from its prototype and will have a marker point to the location where it was loaded from. Markers are listed in the reverse order, i.e. the prototype marker would be after the load marker in the list.

Type Marker
Cardinality 0..*
Changeable true
Derived false
Declaring class Marked

Flow participants.

Type ParticipantEntry
Cardinality 0..*
Changeable true
Derived false
Declaring class Package

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
Declaring class PackageElement
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
Declaring class PackageElement

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
Declaring class PackageElement

Flow resources.

Type ResourceEntry
Cardinality 0..*
Changeable true
Derived false
Declaring class Package

Packages contained in this package.

Type PackageEntry
Cardinality 0..*
Changeable true
Derived false
Declaring class Package

Package can extend other packages and inherit their elements. This reference is required because extends reference is already defined in PackageElement as derived and immutable. For top-level packages extends is the same as this reference. For nested packages extends is a union of containment-derived extensions and this reference.

Package own elements override inherited elements with the same keys. To suppress an inheriIted element define an element with the same key and null value.

Multiple inheritance allows to have “mix-in” packages. For example, the primary lineage can follow the organizational hierarchy with base packages defining generic flows and then specializing at the lower levels of the organization, say to specific tools. Then there can be a technology tree, for example different cloud platforms. A set of flows defining development processes for a particular organization and a particular cloud technology would be a mix of the two inheritance hierarchies.

Type Package
Cardinality 0..*
Changeable true
Derived false
Declaring class Package