Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.16.2
-
None
-
None
Description
Thus:
@DomainObject( ..., actionDomainEvent=IncomingInvoice.ActionDomainEvent.class, propertyDomainEvent=IncomingInvoice.PropertyDomainEvent.class, collectionDomainEVent=IncomingInvoice.CollectionDomainEvent.class ) public class IncomingInvoice { public static class ActionDomainEvent extends o.a.i.applib.services.eventbus.ActionDomainEvent {} // etc }
then, for this domain event would be used as the default for any actions etc.
Two refinements to this:
a) for mixins, the event type emitted by a mixin action should be that of its mixee if possible. This does mean that the domain event must use <Object> as its generic type, because the source could either be the regular domain object or a mixin. This seems reasonable, the subscriber can just call ev.getMixee() to determine the original source.
b) as a metamodel validation, if there are members that already define their own event types, then these event types should inherit from the types defined in @DomainObject. However, not sure exactly how well this plays with requirement from (a) that the generic type is <Object>.