If you don't want to change your domain hierarchy, but need to add common function to multiple domains without copy/paste, one simple option is to create and implement trait. For example:
class Test implements LogTrait { String name } trait LogTrait { def springSecurityService def afterInsert() { log.info(this as JSON) } }
Nice bonus is that events and injected services work just fine as it would be in original class.
No comments:
Post a Comment