aboutsummaryrefslogtreecommitdiff
path: root/website/templates/features
diff options
context:
space:
mode:
authorRawi01 <Rawi01@users.noreply.github.com>2020-08-31 09:57:29 +0200
committerRawi01 <Rawi01@users.noreply.github.com>2020-08-31 09:57:29 +0200
commit82ac8aad1d0e3e152db4ce328184c40c73700cee (patch)
tree3d5abb9072d43b87f19e5faf88a3d09b6c6da8e4 /website/templates/features
parent3d90a51163354930eeea0e26c2b0a567af8e96be (diff)
parent9148294f78a8e646ee131ca182a9b692bc028fdb (diff)
downloadlombok-82ac8aad1d0e3e152db4ce328184c40c73700cee.tar.gz
lombok-82ac8aad1d0e3e152db4ce328184c40c73700cee.tar.bz2
lombok-82ac8aad1d0e3e152db4ce328184c40c73700cee.zip
Merge branch 'master' into extensionmethod
Conflicts: build.xml
Diffstat (limited to 'website/templates/features')
-rw-r--r--website/templates/features/Builder.html2
-rw-r--r--website/templates/features/configuration.html5
-rw-r--r--website/templates/features/experimental/SuperBuilder.html11
3 files changed, 13 insertions, 5 deletions
diff --git a/website/templates/features/Builder.html b/website/templates/features/Builder.html
index f9897d03..1b6c6e62 100644
--- a/website/templates/features/Builder.html
+++ b/website/templates/features/Builder.html
@@ -132,7 +132,7 @@
</li>
</ul>
</p><p>
- If your identifiers are written in common english, lombok assumes that the name of any collection with <code>@Singular</code> on it is an english plural and will attempt to automatically singularize that name. If this is possible, the add-one method will use this name. For example, if your collection is called <code>statuses</code>, then the add-one method will automatically be called <code>status</code>. You can also specify the singular form of your identifier explictly by passing the singular form as argument to the annotation like so: <code>@Singular("axis") List&lt;Line&gt; axes;</code>.<br />
+ If your identifiers are written in common english, lombok assumes that the name of any collection with <code>@Singular</code> on it is an english plural and will attempt to automatically singularize that name. If this is possible, the add-one method will use this name. For example, if your collection is called <code>statuses</code>, then the add-one method will automatically be called <code>status</code>. You can also specify the singular form of your identifier explicitly by passing the singular form as argument to the annotation like so: <code>@Singular("axis") List&lt;Line&gt; axes;</code>.<br />
If lombok cannot singularize your identifier, or it is ambiguous, lombok will generate an error and force you to explicitly specify the singular name.
</p><p>
The snippet below does not show what lombok generates for a <code>@Singular</code> field/parameter because it is rather complicated. You can view a snippet <a href="builderSingular">here</a>.
diff --git a/website/templates/features/configuration.html b/website/templates/features/configuration.html
index fa6d6371..16214d4e 100644
--- a/website/templates/features/configuration.html
+++ b/website/templates/features/configuration.html
@@ -100,6 +100,11 @@
<ol class="snippet example oneliner">
<li><code>lombok.extern.findbugs.addSuppressFBWarnings = true</code></li>
</ol>
+ </p><p>
+ Lombok adds the <code>@SuppressWarnings("all")</code> annotation to all generated nodes by default. This can be turned off which is useful if you want to use static code analyzers like <a href="https://checkerframework.org/">Checker Framework</a>.
+ <ol class="snippet example oneliner">
+ <li><code>lombok.addSuppressWarnings = false</code></li>
+ </ol>
</p>
</@f.featureSection>
diff --git a/website/templates/features/experimental/SuperBuilder.html b/website/templates/features/experimental/SuperBuilder.html
index c929e8f5..e9a0958d 100644
--- a/website/templates/features/experimental/SuperBuilder.html
+++ b/website/templates/features/experimental/SuperBuilder.html
@@ -6,6 +6,8 @@
<code>@SuperBuilder</code> was introduced as experimental feature in lombok v1.18.2.
</p><p>
<code>@SuperBuilder</code>'s <code>toBuilder</code> feature and limited support for customization was added with lombok v1.18.4.
+ </p><p>
+ <code>@SuperBuilder</code> customization possibilities were extended with lombok v1.18.14.
</p>
</@f.history>
@@ -13,7 +15,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 customization possibilities are limited.
+ However, it only works for types.
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 />
@@ -21,7 +23,7 @@
</p><p>
<code>@SuperBuilder</code> can generate so-called 'singular' methods for collection parameters/fields. For details, see <a href="/features/Builder#singular">the <code>@Singular</code> documentation in <code>@Builder</code></a>.
</p><p>
- <code>@SuperBuilder</code> generates a private constructor on the class that takes a builder instance as a parameter. This constructor sets the fields of the new instance to the values from the builder.
+ <code>@SuperBuilder</code> generates a protected constructor on the class that takes a builder instance as a parameter. This constructor sets the fields of the new instance to the values from the builder.
</p><p>
<code>@SuperBuilder</code> is not compatible with <code>@Builder</code>.
</p><p>
@@ -32,8 +34,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 the 'set', <code>builder()</code>, and <code>build()</code> methods.
- 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.
+ You can customize most of the code generated by <code>@SuperBuilder</code>, except for internal methods (e.g. <code>self()</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 take the uncustomized <a href="/features/delombok">delomboked code</a> as a reference when customizing <code>@SuperBuilder</code>.
</p><p>
The configurable aspects of builder are:
<ul>