Class annotation used to assist in the creation of immutable classes. Defines any known immutable properties (or fields) or known immutable classes.
| Type | Name and Description | 
|---|---|
| Class[] | knownImmutableClassesAllows you to provide @Immutablewith a list of classes which
 are deemed immutable. | 
| String[] | knownImmutablesAllows you to provide @Immutablewith a list of property names which
 are deemed immutable. | 
 Allows you to provide @Immutable with a list of classes which
 are deemed immutable. By supplying a class in this list, you are vouching
 for its immutability and @Immutable will do no further checks.
 Example:
 
import groovy.transform.*@default {}@Immutable(knownImmutableClasses = [Address]) class Person { String first, last Address address }@TupleConstructorclass Address { final String street }
 Allows you to provide @Immutable with a list of property names which
 are deemed immutable. By supplying a property's name in this list, you are vouching
 for its immutability and @Immutable will do no further checks.
 Example:
 
 @groovy.transform.Immutable(knownImmutables = ['address'])
 class Person {
     String first, last
     Address address
 }
 ...
 
 @default {}