Annotation Interface Wither
@Documented
@Retention(RUNTIME)
@Target({ANNOTATION_TYPE,TYPE,FIELD,PARAMETER})
public @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