aboutsummaryrefslogtreecommitdiff
path: root/website
diff options
context:
space:
mode:
authorReinier Zwitserloot <r.zwitserloot@projectlombok.org>2019-07-16 01:24:18 +0200
committerReinier Zwitserloot <r.zwitserloot@projectlombok.org>2019-07-16 01:24:18 +0200
commitb439e4ce771813a12300c3006f9fcc12f25678d7 (patch)
tree6f38105b83a7e611b074034aa6d2f61ea68ba809 /website
parentb3824c9dc1861c0ce6acdf48049e6552d808e448 (diff)
downloadlombok-b439e4ce771813a12300c3006f9fcc12f25678d7.tar.gz
lombok-b439e4ce771813a12300c3006f9fcc12f25678d7.tar.bz2
lombok-b439e4ce771813a12300c3006f9fcc12f25678d7.zip
[Fixes #2115] builder fields tracking a property that has a default set is now called `$value` in order to convey that you shouldnt manually mess with it.
Diffstat (limited to 'website')
-rw-r--r--website/templates/features/Builder.html2
1 files changed, 2 insertions, 0 deletions
diff --git a/website/templates/features/Builder.html b/website/templates/features/Builder.html
index af1ffd3a..30e00ce0 100644
--- a/website/templates/features/Builder.html
+++ b/website/templates/features/Builder.html
@@ -192,6 +192,8 @@ public class JacksonExample {
</p><p>
The initializer on a <code>@Builder.Default</code> field is removed and stored in a static method, in order to guarantee that this initializer won't be executed at all if a value is specified in the build. This does mean the initializer cannot refer to <code>this</code>, <code>super</code> or any non-static member. If lombok generates a constructor for you, it'll also initialize this field with the initializer.
</p><p>
+ The generated field in the builder to represent a field with a <code>@Builder.Default</code> set is called <code><em>propertyName</em>$value</code>; an additional boolean field called <code><em>propertyName</em>$set</code> is also generated to track whether it has been set or not. This is an implementation detail; do not write code that interacts with these fields. Instead, invoke the generated builder-setter method if you want to set the property inside a custom method inside the builder.
+ </p><p>
Various well known annotations about nullity cause null checks to be inserted and will be copied to parameter of the builder's 'setter' method. See <a href="/features/GetterSetter">Getter/Setter</a> documentation's small print for more information.
</p><p>
You can suppress the generation of the <code>builder()</code> method, for example because you <em>just</em> want the <code>toBuilder()</code> functionality, by using: