Skip to content

Latest commit

 

History

History
92 lines (51 loc) · 4.72 KB

File metadata and controls

92 lines (51 loc) · 4.72 KB
graph LR
    Element["Element"]
    ElementFactory["ElementFactory"]
    ElementDispatcher["ElementDispatcher"]
    Properties["Properties"]
    Diagram["Diagram"]
    Presentation["Presentation"]
    Collection["Collection"]
    Element -- "emits events to" --> ElementDispatcher
    Element -- "utilizes" --> Properties
    ElementFactory -- "creates and manages" --> Element
    ElementFactory -- "triggers events through" --> ElementDispatcher
    Properties -- "manages data for" --> Element
    Diagram -- "contains" --> Presentation
    ElementFactory -- "creates" --> Diagram
    Presentation -- "observes changes in" --> Element
    Collection -- "manages relationships for" --> Element
Loading

CodeBoardingDemoContact

Details

The Domain Model subsystem is the core of the Gaphor application, embodying the "Model" in the Model-View-Controller (MVC) pattern. It encapsulates the abstract UML/SysML data, relationships, and fundamental business logic, ensuring a clear separation from the graphical representation and user interaction. The subsystem is primarily defined by the gaphor.core.modeling package.

Element

The foundational abstract class for all model entities. It provides a unique identifier, manages properties and associations, handles its lifecycle (initialization, saving, unlinking), and emits events when its state changes.

Related Classes/Methods:

ElementFactory

Manages the lifecycle and creation of all model elements. It is responsible for creating new Element instances, maintaining a registry of all active elements, and handling the removal of unlinked elements.

Related Classes/Methods:

ElementDispatcher

The central event system for model changes. It acts as an event bus, subscribing to and dispatching events related to element changes (e.g., property modifications, unlinking) and model loading to various listeners throughout the application, ensuring loose coupling.

Related Classes/Methods:

Properties

Defines and manages attributes and associations of elements. It provides the mechanism for defining and managing properties of Element instances, handling storage, change notification, and managing relationships (e.g., opposite ends of associations).

Related Classes/Methods:

Diagram

A model element representing a diagram, acting as a container for Presentation elements. It manages the overall layout and visual properties of a diagram within the model.

Related Classes/Methods:

Presentation

The model's representation of a graphical element, linking to an Element. It handles visual properties and reacts to changes in the underlying model element to update its conceptual display within the model.

Related Classes/Methods:

Collection

Manages relationships between model elements. It provides specialized collection types for managing ordered or unordered associations and containment relationships between Element instances.

Related Classes/Methods: