aboutsummaryrefslogtreecommitdiff
path: root/website/templates/features/experimental/FieldNameConstants.html
diff options
context:
space:
mode:
authorReinier Zwitserloot <reinier@zwitserloot.com>2018-04-05 14:22:40 +0200
committerReinier Zwitserloot <reinier@zwitserloot.com>2018-04-05 14:22:40 +0200
commitb6fb3c03fa35db3423ea4274f35d2c77859a3286 (patch)
tree4e34a00e9684baedba46fdf635e5382679c2188d /website/templates/features/experimental/FieldNameConstants.html
parent2c93d336c1d694a286b53710cbeaa01339ba3f1c (diff)
downloadlombok-b6fb3c03fa35db3423ea4274f35d2c77859a3286.tar.gz
lombok-b6fb3c03fa35db3423ea4274f35d2c77859a3286.tar.bz2
lombok-b6fb3c03fa35db3423ea4274f35d2c77859a3286.zip
[fieldNameConstants] code review, docs, tests, fixup.
Diffstat (limited to 'website/templates/features/experimental/FieldNameConstants.html')
-rw-r--r--website/templates/features/experimental/FieldNameConstants.html44
1 files changed, 44 insertions, 0 deletions
diff --git a/website/templates/features/experimental/FieldNameConstants.html b/website/templates/features/experimental/FieldNameConstants.html
new file mode 100644
index 00000000..05c57f84
--- /dev/null
+++ b/website/templates/features/experimental/FieldNameConstants.html
@@ -0,0 +1,44 @@
+<#import "../_features.html" as f>
+
+<@f.scaffold title="@FieldNameConstants" logline="Name... that... field! String constants for your field's names.">
+ <@f.history>
+ <p>
+ @FieldNameConstants was introduced as experimental feature in lombok v2.0.0.
+ </p>
+ </@f.history>
+
+ <@f.experimental>
+ <ul>
+ <li>
+ New feature; unsure if this busts enough boilerplate.
+ </li>
+ </ul>
+ Current status: <em>neutral</em> - As a just-introduced feature we're still gathering feedback.
+ </@f.experimental>
+
+ <@f.overview>
+ <p>
+ The <code>@FieldNameConstants</code> annotation generates string constants (fields marked <code>public static final</code>, of type <code>java.lang.String</code>) containing the field's name, as a string. This is useful for various marshalling and serialization frameworks. The constant field has the same as the field it represents, except with all uppercase letters, with underscores in front of the uppercase letters in the original field. If this results in the exact same name, the constant is not generated (a warning is generated instead).
+ </p><p>
+ The <code>public</code> access modifier can be changed via the parameter <code>level = AccessLevel.PACKAGE</code> for example. You can force a field to be skipped by supplying <code>level = AccessLevel.NONE</code>.
+ </p><p>
+ Can be applied to classes (in which case every field gets a constant), or to an individual field.
+ </p>
+ </@f.overview>
+
+ <@f.snippets name="experimental/FieldNameConstants" />
+
+ <@f.confKeys>
+ <dt>
+ <code>lombok.fieldNameConstants.flagUsage</code> = [<code>warning</code> | <code>error</code>] (default: not set)
+ </dt><dd>
+ Lombok will flag any usage of <code>@FieldDefaults</code> as a warning or error if configured.
+ </dd>
+ </@f.confKeys>
+
+ <@f.smallPrint>
+ <p>
+ Like other lombok handlers that touch fields, any field whose name starts with a dollar (<code>$</code>) symbol is skipped entirely. Such a field will not be modified at all. Static fields are also skipped.
+ </p>
+ </@f.smallPrint>
+</@f.scaffold>