aboutsummaryrefslogtreecommitdiff
path: root/website
diff options
context:
space:
mode:
authorJan Rieke <rieke@subshell.com>2018-09-24 18:25:03 +0200
committerJan Rieke <rieke@subshell.com>2018-09-24 18:25:03 +0200
commitc49e7d1872bc9ead8b8998234969e7ef95c77b7a (patch)
tree6e6720783a4c229633a5baa119c50ab2cb64d508 /website
parent77adcd3ced4855efaca2a689f045e638f021847d (diff)
downloadlombok-c49e7d1872bc9ead8b8998234969e7ef95c77b7a.tar.gz
lombok-c49e7d1872bc9ead8b8998234969e7ef95c77b7a.tar.bz2
lombok-c49e7d1872bc9ead8b8998234969e7ef95c77b7a.zip
SuperBuilder: customization documentation
Diffstat (limited to 'website')
-rw-r--r--website/templates/features/experimental/SuperBuilder.html5
1 files changed, 4 insertions, 1 deletions
diff --git a/website/templates/features/experimental/SuperBuilder.html b/website/templates/features/experimental/SuperBuilder.html
index c0d24606..32877894 100644
--- a/website/templates/features/experimental/SuperBuilder.html
+++ b/website/templates/features/experimental/SuperBuilder.html
@@ -11,7 +11,7 @@
<p>
The <code>@SuperBuilder</code> annotation produces complex builder APIs for your classes.
In contrast to <a href="/features/Builder"><code>@Builder</code></a>, <code>@SuperBuilder</code> also works with fields from superclasses.
- However, it only works for types, and cannot be customized by providing a partial builder implementation.
+ However, it only works for types, and customization possibilities are limited.
Most importantly, it requires that <em>all superclasses</em> also have the <code>@SuperBuilder</code> annotation.
</p><p>
<code>@SuperBuilder</code> lets you automatically produce the code required to have your class be instantiable with code such as:<br />
@@ -27,6 +27,9 @@
</p><p>
To ensure type-safety, <code>@SuperBuilder</code> generates two inner builder classes for each annotated class, one abstract and one concrete class named <code><em>Foobar</em>Builder</code> and <code><em>Foobar</em>BuilderImpl</code> (where <em>Foobar</em> is the name of the annotated class).
</p><p>
+ Customizing the code generated by <code>@SuperBuilder</code> is limited to adding new methods or annotations to the builder classes, and providing custom implementations of <code>builder()</code> and <code>build()</code>.
+ You have to make sure that the builder class declaration headers match those that would have been generated by lombok. Due to the heavy generics usage, we strongly advice to copy the builder class definition header from the uncustomized delomboked code.
+ </p><p>
The configurable aspects of builder are:
<ul>
<li>