jmolecules defines a vocabulary as annotations that allow us to mark code as DDD/CQRS behavior.
Examples: data classes that define commands or events should be marked with the Command or DomainEvent annotations, command handlers that accept a command and publish an event should be marked with DomainEventPublisher and CommandHandler, ...
This feature needs to be optional, so if the app using the code generator does not define dependencies on jmolecules, the code should not be added, so we do not get unwanted compile errors and force apps to use jmolecules when they do not want to.
Scope
The first implementation should provide AnnotationSpec abstractions for the relevant jmolecules annotations and processors to enhance generated specs where applicable.
A processor must be added that supports Command and DomainEvent.
jmolecules defines a vocabulary as annotations that allow us to mark code as DDD/CQRS behavior.
Examples: data classes that define commands or events should be marked with the
Command
orDomainEvent
annotations, command handlers that accept a command and publish an event should be marked withDomainEventPublisher
andCommandHandler
, ...This feature needs to be optional, so if the app using the code generator does not define dependencies on jmolecules, the code should not be added, so we do not get unwanted compile errors and force apps to use jmolecules when they do not want to.
Scope
The first implementation should provide AnnotationSpec abstractions for the relevant jmolecules annotations and processors to enhance generated specs where applicable.
A processor must be added that supports Command and DomainEvent.