Events
The framework emits events when it interacts with domain objects; the domain application can listen to these events and use them to influence the interaction (including veto’ing it).
These events fall into three broad categories: UI hints, domain and persistence lifecycles.
UI Events
As specified using @DomainObjectLayout#xxxUiEvent().
Figure 1. UI Events
Domain Events
As specified using @Action#domainEvent(), @Property#domainEvent() and @Collection#domainEvent():
Figure 2. Domain Events
Persistence Events
As specified using @DomainObject#xxxLifecycleEvent():
Figure 3. Persistence Events