[ https://issues.apache.org/jira/browse/GROOVY-7601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15148251#comment-15148251 ]
Jochen Theodorou commented on GROOVY-7601: ------------------------------------------ Frankly, I would like to have a different transform for this.... like @Final... on the other hand, why not just make the fields and class final, and apply @Canonical to the class instead? You would then still not implement Immutable, but do you even wish for that? > shallow parameter for @Immutable > -------------------------------- > > Key: GROOVY-7601 > URL: https://issues.apache.org/jira/browse/GROOVY-7601 > Project: Groovy > Issue Type: Improvement > Affects Versions: 2.4.4 > Reporter: Christopher Smith > > I am using {{@Immutable}} for some command objects, where some of the fields > are sometimes-complex domain objects. In this case, I don't need deep > immutability for semantic correctness, and it would be helpful to have a > parameter to indicate that the transform shouldn't bother checking the > fields' types, just make them final and generate the appropriate methods: > {code} > @Immutable(shallow = true) > class PayCommand { > Invoice invoice > Money amount > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)