aboutsummaryrefslogtreecommitdiff
path: root/website/features/Data.html
diff options
context:
space:
mode:
authorReinier Zwitserloot <reinier@zwitserloot.com>2015-08-16 02:46:04 +0200
committerReinier Zwitserloot <reinier@zwitserloot.com>2015-08-16 02:46:04 +0200
commita09f5842d9adebde7df13e0f29165fe61ce03e69 (patch)
tree287c8178dc061719bf553b51d8da12ebdf362aad /website/features/Data.html
parent62877ecdb2e5e13a2eb7b67db5292cd13b20cc39 (diff)
downloadlombok-a09f5842d9adebde7df13e0f29165fe61ce03e69.tar.gz
lombok-a09f5842d9adebde7df13e0f29165fe61ce03e69.tar.bz2
lombok-a09f5842d9adebde7df13e0f29165fe61ce03e69.zip
Fixed an oversight in the docs for Data
Diffstat (limited to 'website/features/Data.html')
-rw-r--r--website/features/Data.html2
1 files changed, 1 insertions, 1 deletions
diff --git a/website/features/Data.html b/website/features/Data.html
index ed06f299..4c37247d 100644
--- a/website/features/Data.html
+++ b/website/features/Data.html
@@ -18,7 +18,7 @@
<p>
<code>@Data</code> is a convenient shortcut annotation that bundles the features of <a href="ToString.html"><code>@ToString</code></a>, <a href="EqualsAndHashCode.html"><code>@EqualsAndHashCode</code></a>, <a href="GetterSetter.html"><code>@Getter</code> / <code>@Setter</code></a> and <a href="Constructor.html"><code>@RequiredArgsConstructor</code></a> together: In other words, <code>@Data</code> generates <em>all</em> the boilerplate that is normally associated with simple POJOs (Plain Old Java Objects) and beans: getters for all fields, setters for all non-final fields, and appropriate <code>toString</code>, <code>equals</code> and <code>hashCode</code> implementations that involve the fields of the class, and a constructor that initializes all final fields, as well as all non-final fields with no initializer that have been marked with <code>@NonNull</code>, in order to ensure the field is never null.
</p><p>
- <code>@Data</code> is like having implicit <code>@Getter</code>, <code>@Setter</code>, <code>@ToString</code>, <code>@EqualsAndHashCode</code> and <code>@RequiredArgsConstructor</code> annotations on the class. However, the parameters of these annotations (such as <code>callSuper</code>, <code>includeFieldNames</code> and <code>exclude</code>) cannot be set with <code>@Data</code>. If you need to set non-default values for any of these parameters, just add those annotations explicitly; <code>@Data</code> is smart enough to defer to those annotations.
+ <code>@Data</code> is like having implicit <code>@Getter</code>, <code>@Setter</code>, <code>@ToString</code>, <code>@EqualsAndHashCode</code> and <code>@RequiredArgsConstructor</code> annotations on the class (except that no constructor will be generated if any explicitly written constructor exists). However, the parameters of these annotations (such as <code>callSuper</code>, <code>includeFieldNames</code> and <code>exclude</code>) cannot be set with <code>@Data</code>. If you need to set non-default values for any of these parameters, just add those annotations explicitly; <code>@Data</code> is smart enough to defer to those annotations.
</p><p>
All generated getters and setters will be <code>public</code>. To override the access level, annotate the field or class with an explicit <code>@Setter</code> and/or <code>@Getter</code> annotation. You can also use this annotation (by combining it with <code>AccessLevel.NONE</code>) to suppress generating a getter and/or setter altogether.
</p><p>