Annotation Interface Wither


The annotation to generate an interface implementing `with` copy method for records - `MyRecord withMyProperty(MyProperty)`.

When placed on a record type a `with` method is generated for every record component. Alternatively the annotation can be placed on individual record components, in which case a `with` method is only generated for the annotated components. Component-level annotations take precedence, so combining a type-level `@Wither` with component-level ones restricts the generation to the annotated components.

Since:
1.0
Author:
Denis Stepanov