aboutsummaryrefslogtreecommitdiff
path: root/website/templates/features/experimental
diff options
context:
space:
mode:
Diffstat (limited to 'website/templates/features/experimental')
-rw-r--r--website/templates/features/experimental/FieldDefaults.html6
-rw-r--r--website/templates/features/experimental/StandardException.html2
-rw-r--r--website/templates/features/experimental/index.html7
3 files changed, 7 insertions, 8 deletions
diff --git a/website/templates/features/experimental/FieldDefaults.html b/website/templates/features/experimental/FieldDefaults.html
index c0d3db96..b4b582e9 100644
--- a/website/templates/features/experimental/FieldDefaults.html
+++ b/website/templates/features/experimental/FieldDefaults.html
@@ -10,14 +10,12 @@
<@f.experimental>
<ul>
<li>
- New feature; unsure if this busts enough boilerplate.
- </li><li>
Would be nice if you could stick this on the package-info.java package to set the default for all classes in that package.
</li><li>
- Part of the work on @Value, which is experimental.
+ [UPDATE 2022-02-04] Currently simply having a <code>lombok.config</code> entry of <code>lombok.fieldDefaults.defaultPrivate = true</code> (or, analogously, <code>defaultFinal</code>) is enough to modify <em>every</em> source file that is affected by that configuration, even if said source file has absolutely no trace whatsoever of lombok anything inside it. We're not quite sure if this is a good idea. Our current point of view is that this is too much magic, and there is an alternative plan: meta-annotations. Until at least the meta-annotations idea has been explored and discarded, this feature will not be leaving <em>experimental</em> in its current state. Most likely, if it ever does, the <code>lombok.FieldDefaults</code> annotation will be <em>required</em>, though, you may set it via the to be built meta-annotation.
</li>
</ul>
- Current status: <em>positive</em> - Currently we feel this feature may move out of experimental status with no or minor changes soon.
+ Current status: <em>neutral</em> - Currently we feel this feature may not move out of experimental status without changes.
</@f.experimental>
<@f.overview>
diff --git a/website/templates/features/experimental/StandardException.html b/website/templates/features/experimental/StandardException.html
index 1484154d..c7fc40fe 100644
--- a/website/templates/features/experimental/StandardException.html
+++ b/website/templates/features/experimental/StandardException.html
@@ -48,6 +48,8 @@
There is a very slight functional difference: Normally, invoking <code>new SomeException(message, null)</code> will initialize
the cause to be <em>no cause</em>, and this cannot be later changed by invoking <code>initCause</code>. However, lombok's
standard exceptions <strong>do</strong> let you overwrite an explicit no-cause with <code>initCause</code> later.
+ </p><p>
+ A second slight functional difference: Normally, invoking <code>new SomeException(cause)</code>, if implemented as <code>super(cause);</code>, will set the message to be equal to the message of the cause. However, lombok does not do this - it leaves the exception as having no message at all. We think inheriting the message is fundamentally wrong - messages are not guaranteed to be sensible in the absence of the context of the exception-type. The cause ought to be listed anywhere where it is relevant; if you are using messages as direct user feedback (which is rare, in the java community), <code>@StandardException</code> can't really help you anyway; the infrastructure of e.g. <code>getLocalizedMessage()</code> is too complicated.
</p>
</@f.smallPrint>
</@f.scaffold>
diff --git a/website/templates/features/experimental/index.html b/website/templates/features/experimental/index.html
index a8430d8d..a50a4670 100644
--- a/website/templates/features/experimental/index.html
+++ b/website/templates/features/experimental/index.html
@@ -28,10 +28,6 @@
</p>
</div>
<div class="row">
- <@main.feature title="var" href="var">
- Modifiable local variables with a type inferred by assigning value.
- </@main.feature>
-
<@main.feature title="@Accessors" href="Accessors">
A more fluent API for getters and setters.
</@main.feature>
@@ -101,6 +97,9 @@
<@main.feature title="@Wither: renamed to @With, and promoted" href="/features/With">
Immutable 'setters' - methods that create a clone but with one changed field.
</@main.feature>
+ <@main.feature title="var" href="/features/var">
+ Modifiable local variables with a type inferred by assigning value.
+ </@main.feature>
</div>
</div>
</div>